Процедуры и функции в 1С 8.3: чем они отличаются и как их использовать

Поділитися
Вставка
  • Опубліковано 14 тра 2017
  • Ключевое отличие процедуры от функции в 1С и других языках программирования. Примеры использования данных конструкций. Оператор "Возврат".
    Читайте статьи по 1С на нашем сайте:
    programmist1s.ru/materialyi-po...

КОМЕНТАРІ • 124

  • @Alex345674
    @Alex345674 6 років тому +51

    все классно. Без лишних слов,все по делу, без нуятины и без этих надоедливых "ээээ" через каждые 5 секунд. Ваши уроки очень интересны и бесконечно полезны

  • @user-do8ns6cx5i
    @user-do8ns6cx5i 5 років тому +46

    Блин, он реально гений-обучений! Человек реально думает - как лучше объяснить и в каком порядке подать информацию, чтобы "пазлы сложились". Много курсов пытался смотреть, у большинства авторов уже после 2...3 уроков - начинаешь понимать, что что-то "недообъяснили" исходят из того, что все элементарно, явно важные моменты не пытаются объяснить, перескакивают.
    Илья Леоньев - ты супер! Еще нравится, что он как бы случайно делает типовые ошибки, объясняет, почему делают эти ошибки и как правильно - и самое главное почему так правильно. Ну, просто красавчик! :)

    • @albert10651
      @albert10651 4 роки тому

      подскажите, почему перед М не стоит Перем М; а потом уже М = Максимум2(ЧислоА, ЧислоБ);

    • @xxxsliiready
      @xxxsliiready 3 роки тому +2

      @@albert10651 Потому что в операцию присваивания (знак равенства) уже включена операция определения переменной.

    • @user-lw8li2eq6r
      @user-lw8li2eq6r 2 роки тому

      @@albert10651 смотри бро, после буквы "М" сразу идет знак равенства, там же сразу же присвоили имя переменной (Максимум2)
      Понятно?)

    • @user-it4bk3bs8k
      @user-it4bk3bs8k Рік тому

      Как я тебя понимаю) Прямо сейчас прохожу такой курс и там автор как раз такой, каким ты его описал тут) Вот думаю начать по ютубу по этим роликам начать заниматься)

    • @user-eg5cg3lk3e
      @user-eg5cg3lk3e 8 місяців тому

      Как у вас успехи, коллеги? На этом блоггере остановились или еще какой ресурс порекомендуете?

  • @user-yo8pq8mu6k
    @user-yo8pq8mu6k 2 роки тому +2

    Илья, огромнейшее спасибо за курс! Лучше, что мне пока встречалось, как для начинающего!

  • @user-oy9rc8sd5h
    @user-oy9rc8sd5h 4 роки тому +3

    Так все понятно и лаконично. Только недавно начала изучать 1С и эти уроки очень помогают. Спасибо за Вашу работу))

  • @user-dw7be6mm7h
    @user-dw7be6mm7h 5 років тому +35

    проходил курс начальной подготовки на edu.1c такой препод нудный был что нечерта за месяц не понял, Илюха ты пока что лучший в интернете по крайней мере по донесению информации слушателю! Ну это сугубо моё мнение! Спасибо!

    • @Gzugza
      @Gzugza 4 роки тому

      И сугубо моё)

    • @user-ld5un5gg9o
      @user-ld5un5gg9o 2 роки тому

      @@Gzugza И моё))

    • @zenden505
      @zenden505 Рік тому

      А что за препод? Фамилию не скажете? Потом, если что, можно удалить, как только я прочту)

  • @formatceft2654
    @formatceft2654 4 роки тому +2

    Однозначно Лайк! Без "воды" и все по делу!

  • @AlexeySvoi
    @AlexeySvoi 4 роки тому +3

    Здесь звук мягче, лучше! Хорошие уроки, спасибо!

  • @user-eh1et6ls8q
    @user-eh1et6ls8q  7 років тому +4

    Ключевое отличие процедуры от функции в 1С и других языках программирования. Примеры использования данных конструкций. Оператор "Возврат".
    Услуги 1С программиста в Москве:
    1cproger.ru/
    Читайте статьи по 1С на нашем сайте:
    programmist1s.ru/materialyi-po-1s/

  • @olgadyadkina
    @olgadyadkina 5 років тому

    Сделала на Трех числах. Все работает. Спасибо. Только осваиваю, когда что-то не работает - включайте мозг и и ищите ошибку в коде))))) Надо больше уроков по управляемой версии.

  • @vsevolodyurachkovskyy9638
    @vsevolodyurachkovskyy9638 5 років тому +3

    It is very, very usefull. This is the best tutorial I saw. Thank you.

    • @NosovYuriy
      @NosovYuriy Рік тому

      @@user-zd2em4tt3o "Это очень, очень полезно. Это лучший туториал (обучалка) который я видел. Спасибо."

  • @user-us8fz8fr3d
    @user-us8fz8fr3d Рік тому +1

    Здравствуйте Илья, после ваших уроков, многое становится понятно. Скажите пожалуйста, как можно выбрать процедуру или функцию при создании в поле модуля горячими клавишами кроме ctrl+пробел

  • @nadyar4951
    @nadyar4951 6 років тому

    И еще, может быть Вы подскажете, где познакомиться с темой о переходах по навигационным ссылкам, о уникальных идентификаторах

  • @mihaillomatsky5563
    @mihaillomatsky5563 3 роки тому +5

    Небольшое замечание про переключение языков: Чтобы не переключаться, можно нажимать Alt + НомерСимволаASCII. Например для знака "

    • @oleksii2362
      @oleksii2362 3 роки тому

      У меня на получается (
      Как нажимать "60"?

    • @oleksii2362
      @oleksii2362 3 роки тому

      Гугл помог, все ок )

  • @Don_Pehot
    @Don_Pehot 5 років тому

    Мне нра. Подскажите как изменить иконку в УТ 10.3 например у справочника номенклатура (по умолчанию шкаф с выдвинутым ящиком).

  • @user-vg9zy8bc9c
    @user-vg9zy8bc9c 7 років тому +2

    Здравствуйте, делаю все в точь как у вас, у меня даже ошибка почему тоне вылезла как у вас, когда к словам Максимум добавляли (2,3) не знаю почему если честно, но когда писал формулу М = Максимум2(ЧислоА, ЧислоБ);
    Сообщить ("Максимум = " + М); пишет ошибку Переменная не определена (Число Б), почему?

  • @hanty9910
    @hanty9910 6 років тому +7

    Здравствуйте. Сделайте тоже самое только на управляемом приложение, от обычного все уже уходят. И при переходе на управляемое приложение, просто ни чего не понятно. Просмотров будет еще больше. Успехов!

    • @user-eh1et6ls8q
      @user-eh1et6ls8q  6 років тому +3

      Спасибо, к управляемым скоро перейдем

    • @hanty9910
      @hanty9910 6 років тому +1

      Буду ждать, надеюсь долго ждать не придется). Успехов!

    • @FromCrimea
      @FromCrimea 5 років тому +2

      ​@@hanty9910 Попробовал допилить раннее созданное управляемое приложение кнопкой "НайтиМакс" , всё работает , принцип тот же.

  • @mgrup7
    @mgrup7 6 років тому

    В максимуме из трех и выше, саму функцию можно взять за способ проверки и ссылаться на нее, для упрощения, в случае увеличения выборки.

  • @denisfatkulin
    @denisfatkulin 7 років тому +1

    Подскажите как вы вызываете подсказки при написании кода. Я имею ввиду в частности момент на 8:18, где у вас открыт после равно список математических функций.

    • @ARJV007
      @ARJV007 7 років тому +2

      В одном из предыдущих видео упоминалось об этом, комбинация CRTL + Пробел

  • @user-lt1it1cu6m
    @user-lt1it1cu6m 4 роки тому

    Илья, здравствуйте! Начиная с того момента, как прописывается процедура СообщитьОМаксимуме у меня вылетала ошибка синтаксиса. Я долго не мог понять что такое, но потом поменял местами Процедуру СообщитьОМаксимуме и Процедуру кнопки (очень длинное название у которой) и все заработало! НО! Почему у Вас работает и так, а у меня нет?

  • @user-kc3fe5kl2s
    @user-kc3fe5kl2s 5 років тому

    Илья, Добрый День!
    Во-первых, спасибо за уроки!
    Они реально кайфовые)
    Во-вторых, осмысливая данный урок, спросил себя, а теперь и Вас, почему нельзя было написать такой код? )
    Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
    Максимум (ЧислоА, ЧислоБ);
    Сообщить (Максимум(ЧислоА, ЧислоБ));
    КонецПроцедуры


    Функция Максимум(А, Б);
    Если А > Б Тогда Возврат А;
    Иначе
    Возврат Б;
    КонецЕсли;
    КонецФункции;
    т.е. в кнопке Выполнить идет вывоз процедуры, которая вызывает Функцию и сообщает результат этой функции.

    • @IlyaLeontyev
      @IlyaLeontyev 5 років тому +2

      Можно было. Только имейте в виду, что при нажатии на кнопку у вас лишний раз происходит вызов функции Максимум(), он не нужен, его можете удалить. Достаточно написать только Сообщить (Максимум(ЧислоА, ЧислоБ)).

  • @user-jn4yc2vo6j
    @user-jn4yc2vo6j 3 роки тому

    1.Отличается-ли визуально, вызов функции от вызова процедуры? Нет ли каких либо ключевых слов ?
    2.Функция должна быть описана в самом начале кода ?
    Я изучал Python и поэтому провожу аналогию.

  • @11Gleb11
    @11Gleb11 Рік тому

    Здравствуйте! Подскажите пожалуйста, почему на этом занятии, при запуске режимной конфигурации у меня открывается окно управляемого приложения?

  • @sertrim
    @sertrim 3 роки тому +1

    Если ">", тогда alt + 62 :) Спасибо за уроки!

    • @STRIZH_FPV
      @STRIZH_FPV 2 роки тому

      Вот спасибочки

  • @Alex-net-brn
    @Alex-net-brn 5 років тому +3

    опущен тонкий момент,
    (Оператор1)ТОЧКА С ЗАПЯТОЙ
    ; это конец любого оператора.

  • @Ykutdza
    @Ykutdza 3 роки тому

    Вопрос от начинающих... В чем разница между такими скобками () или такими {}? Для чего ставится ; в конце Строки? А Так же Важность наличия пробелов между текстом например "Если А > Б Тогда" Важно ли наличие пробелов между А > Б, или можно написать без пробелов А>Б? попробовал и так, и так работает, т.е. это вопрос только эстетики текста?

    • @annaagafonova8459
      @annaagafonova8459 Рік тому

      Добрый день, синтаксис 1с, наверное, как и синтаксис большинства языков, в смысле пробелов достаточно гибкий.
      И с пробелами и без язык все сворачивает и удачно компилирует в случае если нет синтаксических ошибок.
      Потому да, тут больше эстетика.

  • @melkiy1735
    @melkiy1735 3 роки тому +4

    Но функция же может быть и без слова Возврат. Зачем тогда вообще нужны процедуры?

  • @user-bq8eq8db2m
    @user-bq8eq8db2m 7 років тому +12

    Почему числа в функции мы называем просто А и Б? Они же у нас ЧИСЛА? ЧислоА и ЧислоБ. Как комп с этим разбирается?

    • @ARJV007
      @ARJV007 7 років тому +7

      А, Б и ЧислоА, ЧислоБ это не одно и тоже. Буквы А и Б можно с таким же успехом заменить на любые другие буквы и всё будет работать.
      Описывая функцию, после названия функции в скобках мы перечисляем её параметры.
      В данном примере функция Максимум2 принимает 2 числа и сохраняет их в переменных А и Б, в функции Максимум3 - 3 числа и сохраняет их в переменных А, Б и В.
      Функции по большому счёту всё равно что это за числа и откуда они взяты, её задача принять эти числа, обработать их (в данном случае сравнить что больше/меньше) и что то вернуть.
      А вот вызывая эту функцию мы уже и указываем то что должны передать на обработку, в данном примере в функции Максимум2 это ЧислоА и ЧислоБ, но это могут быть и любые другие данные, к примеру ЧислоА и Число В, или просто обычные числа.

    • @kronhtein9225
      @kronhtein9225 6 років тому +2

      Смотрите матчасть Переменные. P/S Язык программирования в вашем вопросе не важен

    • @ovo4420
      @ovo4420 6 років тому +1

      Артём Яшнов, спасибо тебе человек

    • @Vicont4063
      @Vicont4063 6 років тому +2

      Максимум2 (А,Б) //А и Б переменные
      Процедура ОсновныеДействияФормыОсновные....
      Максимум2(ЧислоА, ЧислоБ); //Это вызов числа которые нам нужно сравнить.
      Получется эти числа (2) и (4) летят в (1,2) тобишь (А,Б) теперь в переменной А = 2, в Б = 4, далее ПРоцедура сравнивает их из функции (ну или сама функция сравнивает) эти числа между собой и выдает уже результат.
      Максимум2 (А,Б) //Это переменные //Название (переменная А - которая будет хранить числоА, переменная Б - которая будет хранить числоБ).

    • @nomad7626
      @nomad7626 5 років тому +2

      Ну ладно, допустимя я вместо А написал Ю. И что? Где мы назначаем в системе что Ю это переменная, и что на него записана такая-то функция или число? Ведь у нас есть текстовые поля с именем "ЧислоА", как он поймет и свяжет Ю с ЧислоА, если говорите что все будет работать?

  • @user-vd6nu2zi9o
    @user-vd6nu2zi9o 4 роки тому

    немогу понять - почему в теле процедуры пишем "М =" ? а не Макс,или Максимум..?в подсказках "М" не нашел...

  • @Igor-ld5pf
    @Igor-ld5pf 3 роки тому

    Есть ли курс обучения платный ?

  • @VovanTelephone
    @VovanTelephone 6 років тому

    Если в коде размещаю Процедуру после Функции, как в примере, то выдает ошибку "Определения процедур и функций должны размещаться перед операторами тела модуля". Когда поменял их местами - т.е. сначала идет Процедура затем Функция, то все работает. Может, что не так делаю?

    • @VovanTelephone
      @VovanTelephone 6 років тому +1

      проблема была в поставленной точке с запятой после "Конецфункции"

  • @user-hp4xr9lk8s
    @user-hp4xr9lk8s 6 років тому

    Здравствуйте, сделал всё точь в точь, но выходит ошибка (конецесли). где прописали функцию максимум3(А,Б,В) пришлось 2 раза подряд написать конецесли и лишь тогда начинает работать. в чём прикол понять не могу.

    • @user-hp4xr9lk8s
      @user-hp4xr9lk8s 6 років тому +1

      Всё спасибо, нашёл ошибку, пробел поставил случайно

  • @Pavel_2408
    @Pavel_2408 Рік тому

    Добрый день, а почему когда сравниваю 10 и 100, то пишет что "Максимум - 100", а когда сравниваю 111 и 22, то "Максимум - 22"? Как так получается, что он будто просто первые цифры только сравнивает?

  • @iskanderlej
    @iskanderlej Рік тому

    Ребята, у меня в обработчике ошибка какая-то. Не могу понять, почему перед функцией и процедурой что то стоять должно.

  • @user-it4on3zm7j
    @user-it4on3zm7j 5 років тому

    Не могу понять, что происходит. Учебная версия, нахожу максимум из 3х. В первый раз после запуска внешней обработки все получилось... Во второй раз почему то перестал видеть числоВ (А и Б видит), какое бы большое значение "В" не возвращалось, учитывается только максимум А и Б. В третий раз перестала срабатывать кнопка выполнить, то есть, она срабатывает, но сообщение не выводит... Что это может быть?

    • @user-it4on3zm7j
      @user-it4on3zm7j 5 років тому +1

      Чудеса, да и только: удалил реквизиты, удалил форму, создал все заново, опять работает как в первый раз. Интересно, надолго ли...

  • @boomx2000
    @boomx2000 4 роки тому

    норм

  • @user-li4ji2hk2i
    @user-li4ji2hk2i 3 роки тому

    Почему в продцедуре сообшить. Максимум2(а, б) а в сообщить о максимуме (числоА, числоБ)? Если ввше закоментировали максимум2(числрА, числоБ). Кода нудно писать числоА и число Б. А когда можно просто укачать А Б?

  • @user-qg6zg6nd2x
    @user-qg6zg6nd2x Рік тому

    9:35 работает Функция2, а показывает на Функцию3. Функция выше по Модулю.

  • @user-ez7yz4ky9i
    @user-ez7yz4ky9i 3 роки тому +2

    в чем ошибка подскажите плиз ({ВнешняяОбработка.ВнешняяОбработка2.Форма.Кнопки.Форма(3,15)}: Переменная не определена (ЧислаА)
    М = Максимум(>ЧислаБ);
    )

    • @muziklife6108
      @muziklife6108 2 роки тому

      Должно быть Объект.ЧислаА, а не ЧислаА.

  • @DATO201288
    @DATO201288 5 років тому

    я в 1 с не силен объясните пожалуйста в чем разница между "Управляемым" и "Обычным" режимом?

    • @anzimin
      @anzimin 5 років тому +2

      Лучше тебе в этом вопросе изучить это более подробно, но если в двух словах - в обычном все делаешь сам, в управляемом половину вещей делает система. От этого меняется логика языка. Но для современного разработчика изучать лучше сразу управляемое

  • @QW-uj6oq
    @QW-uj6oq 14 днів тому

    То есть в 1С нету перегрузки функции?

  • @user-vg9zy8bc9c
    @user-vg9zy8bc9c 7 років тому +1

    и показывает такое сообщение : {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(35,25)}: Переменная не определена (ЧислоБ)
    М = Максимум2 (ЧислоА,

    • @mainlord8203
      @mainlord8203 6 років тому +1

      Проверь язык переменных, может ты указал английскую M, вместо русской M

    • @vitaliynsk289
      @vitaliynsk289 6 років тому

      30 Минут искал в чем ошибка))

  • @gottastoppo
    @gottastoppo 3 роки тому

    Здесь 8:56 возникает ошибка Несоответствие типов (параметр номер '2'), не понимаю, где проблема, если честно.
    П. С. Думала уже все, не решу, а так глупо получилось. Запятая, чтоб тебя.

  • @kilka13
    @kilka13 3 роки тому

    не работало, пока не закомментировала //Функцию Максимум3
    {ВнешняяОбработка.ВнешняяОбработка1.Форма.Форма.Форма(41,11)}: Переменная не определена (B)
    Возврат

  • @TripolitovVladimir
    @TripolitovVladimir 5 років тому

    а нельзя в Сообщить() передать вызов процедуры или функции?

    • @TripolitovVladimir
      @TripolitovVladimir 5 років тому

      работает
      Сообщить("Максимум = " + Максимум2(А, Б));

    • @IlyaLeontyev
      @IlyaLeontyev 5 років тому +1

      Вызов функции - можно. Вызов процедуры - нельзя.

    • @VZRVEL
      @VZRVEL 4 роки тому

      @@TripolitovVladimir Оптимизация в деле)

  • @romanbush5164
    @romanbush5164 3 роки тому +2

    Люди внатуре не вникают, для чего нужны функции , как и я когда то. А ДЛЯ ТОГО ЧТОБЫ ОДИН И ТОТ ЖЕ КОД НЕ ПИСАТЬ 10 РАЗ, а подставлять нужные значения переменных или же сами эти переменные , в аргументы функции ( либо же выполнять некую масивную обработку функцией без аргументов)... Это нужно понять самому

  • @melkiy1735
    @melkiy1735 5 років тому

    Все видео у Ильи интересные. Но пока что ни у одного не увидел внятного объяснения, почему нельзя обходиться только Функцией. Например, из видео, тело процедуры поместить в функцию, ведь точно так же отработает. Зачем нужно это деление.

    • @stacysmind8548
      @stacysmind8548 4 роки тому

      Разве процедура действия на кнопку не понадобится в любом случае? В ней, конечно, достаточно прописать лишь вызов функции, а все остальное прописать в функции. Но как совсем без процедуры обойтись - не понимаю что-то... Тогда же при нажатии на "Выполнить" - никакого толка

  • @TripolitovVladimir
    @TripolitovVladimir 5 років тому +1

    у меня не было ошибок, когда две функции были определены с одинаковым названием..

    • @mykolayatcenko9839
      @mykolayatcenko9839 3 роки тому

      потому что namespace разный наверное

  • @user-rt3on4mw4l
    @user-rt3on4mw4l 4 роки тому +1

    Плохо, что на русской раскладке пишутся команды, постоянно переводить приходится с одного языка на DRUGOY

    • @olegf3728
      @olegf3728 4 роки тому

      команды можно писать как на русском языке так и на английском. разницы к примеру между "Процедура" и "Procedure" нет ни какой. в справке 1с команда на русском языке, а в скобках синтаксис на английском - Процедура (Procedure)

    • @Gzugza
      @Gzugza 4 роки тому

      @@olegf3728 ага) все прям так и используют английский вариант написания) проще сделать по-другому. Например, амперсанд - & - чтоб не переключаться, я использую альт + 38 (на цифр. клав.). Также и остальные символы.

  • @nomad7626
    @nomad7626 5 років тому +4

    Вообще не понял. Как система понимает что А это число и что Б тоже число? Ведь мы не указывали, допустим как в других языках, что например "А = 1" и "Б = 2". В каком месте к этим буквам назначается число, и какое число назначается, когда мы успели их сделать переменными??? Даже если система берет А и Б из надписей "ЧислоА" и "ЧислоБ", то как он определяет какую букву из этого словосочетания взять? Почему он не может взять допустим букву Ч из "Число" и не запутатся в параметрах и в вычислении?????? Пробовал в параметрах писать всякую ахинею, синтаксическая проверка не прошлась. Так как млять этот гребаный язык программирования понял что есть А и что есть Б????? Мляяяя вообще хз че происходит DX

    • @IlyaLeontyev
      @IlyaLeontyev 5 років тому +1

      Типы значения реквизитов А и Б мы определили на этапе их создания в обработке.

    • @sergejsimagin3741
      @sergejsimagin3741 4 роки тому

      @@IlyaLeontyev , все равно не понятно, на этапе создания обработки мы создали реквизиты ЧислоА и ЧислоБ и указали что тип число, но негде не указывали что ЧислоА=А, я тоже на этом застопорился, почему в функции мы пишем просто А и Б, а в процедуре ЧислоА и ЧислоБ, пробовал в процедуре написать просто А и Б не проходит синтаксическую проверку. И было бы замечательно, если бы немного рассказали о правилах написания и дали бы какую нибудь ссылочку на справочную инфу по функциям и процедурам, где какие кавычки, скобки, точки с запятой надо ставить, где пробелы ставятся , а где нет.

    • @sergejsimagin3741
      @sergejsimagin3741 4 роки тому

      Тоже ломал голову над этим вопросом, потом нашел на другом сайте описание функции и понял, что Кога мы описывали функцию вычисления максимума, мы могли там поставить любые буквы например Д и Е в качестве параметров, а вот при вызове этой функции (через вызов прцедуры сообщить) мы указываем эти параметры ЧислоА и ЧислоБ, мы можем еще раз добавить вызов процедуры сообщить А в качестве параметров указать ЧислоА и ЧислоС, и выведется 2 максимума.

    • @user-wm7gd2cg8c
      @user-wm7gd2cg8c 4 роки тому

      @@sergejsimagin3741 А если мы в функцию передадим число и строку, функция крашнется. И будет сообщение об ошибке.
      {Форма.Форма.Форма(22)}: Операции сравнения на больше-меньше допустимы только для значений совпадающих примитивных типов (Булево, Число, Строка, Дата)
      Если А > Б тогда

  • @vladyan01
    @vladyan01 2 роки тому

    Странно что процедуры и функции разделены.

  • @user-vg9zy8bc9c
    @user-vg9zy8bc9c 7 років тому

    вот так я все указал Функция Максимум2(А,Б)
    Если А > Б Тогда
    Возврат А;
    Иначе
    Возврат Б;
    КонецЕсли

    КонецФункции
    Функция Максимум3(А, Б, В)
    Если А > Б И А > В Тогда
    Возврат А;
    ИначеЕсли Б > В Тогда
    Возврат Б;
    Иначе
    Возврат В;
    КонецЕсли
    КонецФункции
    Процедура ОсновныеДействияФормыОсновныеДействияФормыВыполнить(Кнопка)
    // ЧислоА > ЧислоБ = Ложь
    //Если {Условие1} Тогда
    // {Оператор1};
    //ИначеЕсли {Условие2} Тогда
    // {Оператор2};
    //Иначе
    // {Оператор3}
    //КонецЕсли;
    М = Максимум2 (ЧислоА, ЧислоБ);
    Сообщить("Максимум = " + М);

    • @YolyaSNZ
      @YolyaSNZ 5 років тому

      В чем была ошибка? Мне также пишет, не могу разобраться..

  • @user-wm7gd2cg8c
    @user-wm7gd2cg8c 4 роки тому

    Я человек ленивый, поэтому функцию сравнения трех чисел написал вот так
    Функция макс3(А, Б, В)
    Возврат Макс2(Макс2(А,Б),Макс2(В,Б));
    КонецФункции
    Может и не оптимально с точки зрения количества операций, выполняемых компьютером. Но зато в одну строчку.

    • @user-ui1ub5rm6n
      @user-ui1ub5rm6n 4 роки тому

      Можно так:
      Функция Макс3(А, Б, В)
      Возврат Макс2(Макс2(А,Б),В);
      КонецФункции

    • @user-wm7gd2cg8c
      @user-wm7gd2cg8c 4 роки тому

      @@user-ui1ub5rm6n Да так лучше.

  • @Rykovskiy
    @Rykovskiy 2 місяці тому

    Не работает
    Функция Максимум1(А, Б)

    Если А > Б Тогда
    Возврат А;
    Иначе
    Возврат Б;
    КонецЕсли;

    КонецФункции

    Процедура СообщитьОМаксимуме(А, Б)

    М = Максимум1(А, Б);
    Cообщить ("Максимум =" + М);

    КонецПроцедуры
    Процедура КомандаВыполнить(Команда)

    СообщитьОМаксимуме (ЧислоА, ЧислоБ);

    КонецПроцедуры

  • @solar9238
    @solar9238 21 день тому

    Решение проблемы:
    Короче, я два дня не мог понять в чем ошибка
    Я поставил ; после КонецФункции
    После, синтаксических ошибок не обнаружено

  • @user-yo8pq8mu6k
    @user-yo8pq8mu6k 2 роки тому

    Дополню, может кому пригодится: запись "Если А > Б и А > В Тогда" равна записи "Если А > Б > В Тогда"

    • @hazrat6544
      @hazrat6544 Рік тому +1

      Добрый день. Не согласен. Можно проверить просто подставив числа.
      Допустим:
      А -10
      Б-5
      В-8
      В этом случае А>Б И А>В сработает корректно в отличие от А>Б>В

    • @user-yo8pq8mu6k
      @user-yo8pq8mu6k Рік тому +1

      @@hazrat6544, спасибо! Про минусы не подумал.

    • @hazrat6544
      @hazrat6544 Рік тому +1

      @@user-yo8pq8mu6k бывает. Пожалуйста

    • @hazrat6544
      @hazrat6544 Рік тому +1

      @@user-yo8pq8mu6k Как успехи? Уже прошло пол года с момента написания этого комментария

    • @user-yo8pq8mu6k
      @user-yo8pq8mu6k Рік тому +1

      @@hazrat6544, в общем, я до этого изучал Python, потом знакомые предложили попробовать 1С, дошёл до экзамена на 1С: Специалист по платформе. Прошёл курсы и за две недели до самого экзамена меня пригласили джуном по питону и я не задумываясь ушёл в питонисты, т.к. 1С мне не особо нравится.

  • @user-vg9zy8bc9c
    @user-vg9zy8bc9c 7 років тому +1

    ВСе Я разобрался

    • @user-or4sy1xs5d
      @user-or4sy1xs5d 5 років тому

      Никита Кудрин в чем причина была? У меня такая же ошибка не могу понять что делать

    • @user-mr1tm5vl3t
      @user-mr1tm5vl3t 3 роки тому

      У меня тоже пишет переменная не определена, и при чем пишет что переменные должны быть поверх функций, задал Перем ЧислоА и Перем ЧислоБ, ошибку больше не выдает, но при отладке не сообщает результат, хотя в Процедуре указано Сообщить М как у вас. В чем может быть причина? Если кто разобрался - напишите

  • @cryptoprofit1190
    @cryptoprofit1190 11 місяців тому

    Все настолько легко, проще пареной репы просто!

  • @lankaster4769
    @lankaster4769 5 років тому +2

    без домашних заданий это малоэффективное освоение материала.

    • @retertwerwr2970
      @retertwerwr2970 4 роки тому +2

      ну так используй .В чем проблема ?

  • @Grishka48
    @Grishka48 5 років тому

    И зря не проверили Функцию максимум из трех! Работает не верно! Правильнее было ИначеЕсли В > А Тогда Возврат В; Иначе Возврат Б; . У нас по условию выходит В меньше А, если у нас Б будет больше В, то оно все-равно может быть меньше А. Отсюда ошибка. Не в обиду автора, огромное ему спасибо за уроки, очень познавательно, скорее всего просто был невнимателен =)

    • @PartizannN437
      @PartizannN437 5 років тому

      Я вбил код на три числа с экрана и у меня всё работает. Читайте внимательно код, Б никак не может быть меньше А.

    • @Grishka48
      @Grishka48 5 років тому

      @@PartizannN437 как у нас Б не может быть меньше А, если первое же условие говорит что А>Б?

    • @TripolitovVladimir
      @TripolitovVladimir 5 років тому

      Вы знаете как работает оператор И? Если А > Б И А > В, тогда мы возвращаем А. Иначе А

  • @user-pn9yd6ee1h
    @user-pn9yd6ee1h 6 років тому +2

    Ахаха достигнуто предельное количество подключений к ИБ, это блин учебная версия ограничена по количеству запусков. Ну и жлобы. Только начал учить 1С програмирование а уже такой бред, придётся ставить пиратку, ибо такие ограничения ни в какие ворота не лезут.

  • @luckykulon1847
    @luckykulon1847 6 років тому +10

    код на русском языке - извращение и боль глазам

    • @lEpIvIaKl
      @lEpIvIaKl 5 років тому +1

      Да на самом деле это дело вкуса и привычки. Я пока этим не занимаюсь (1С, посматриваю иногда из любопытства), а вот в своё время тренировался обычными ЯП, помню каким извращением и джунглями С++ со всеми этими { } ; * казался после VB. А через какое-то время после С++ уже VB казался "рукалицо" ))
      Ко всему привыкаешь за недельку... Соответственно и отвыкаешь.

  • @pusena274
    @pusena274 Рік тому

    Что попало,только не для новичков,вообще ничего не понятно,хотя знаю другие языки программирования.

    • @gromovdenis7
      @gromovdenis7 6 місяців тому

      Всё ок, всё понятно, хотя не знаю языки программирования))