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

แชร์
ฝัง
  • เผยแพร่เมื่อ 15 ธ.ค. 2024

ความคิดเห็น • 129

  • @Alex345674
    @Alex345674 6 ปีที่แล้ว +52

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

  • @Александр-ь2ы2ц
    @Александр-ь2ы2ц 5 ปีที่แล้ว +49

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

    • @albert10651
      @albert10651 4 ปีที่แล้ว +1

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

    • @xxxsliiready
      @xxxsliiready 3 ปีที่แล้ว +3

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

    • @МагомедгаджиГаджимурадов-й5с
      @МагомедгаджиГаджимурадов-й5с 3 ปีที่แล้ว +1

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

    • @Боб-ь8н
      @Боб-ь8н 2 ปีที่แล้ว +1

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

    • @АндрейМаксименя
      @АндрейМаксименя ปีที่แล้ว +1

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

  • @Бородатыйчеловекпаук
    @Бородатыйчеловекпаук 5 ปีที่แล้ว +39

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

    • @Gzugza
      @Gzugza 4 ปีที่แล้ว

      И сугубо моё)

    • @ПавелФадейчев-ф4э
      @ПавелФадейчев-ф4э 3 ปีที่แล้ว

      @@Gzugza И моё))

    • @zenden505
      @zenden505 2 ปีที่แล้ว

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

  • @ПатриотРоссии-е5у
    @ПатриотРоссии-е5у 2 ปีที่แล้ว +2

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

  • @АнастасияКутовая-л7щ
    @АнастасияКутовая-л7щ 4 ปีที่แล้ว +4

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

  • @AlexeySvoi
    @AlexeySvoi 4 ปีที่แล้ว +4

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

  • @formatceft2654
    @formatceft2654 5 ปีที่แล้ว +3

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

  • @ML5563-p9t
    @ML5563-p9t 4 ปีที่แล้ว +6

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

    • @oleksii2362
      @oleksii2362 3 ปีที่แล้ว +1

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

    • @oleksii2362
      @oleksii2362 3 ปีที่แล้ว +1

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

  • @olgadyadkina
    @olgadyadkina 5 ปีที่แล้ว +1

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

  • @vsevolodyurachkovskyy9638
    @vsevolodyurachkovskyy9638 6 ปีที่แล้ว +4

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

    • @NosovYuriy
      @NosovYuriy 2 ปีที่แล้ว +1

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

  • @hanty9910
    @hanty9910 7 ปีที่แล้ว +8

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

    • @Школа1С-видеоурокибесплатно
      @Школа1С-видеоурокибесплатно  7 ปีที่แล้ว +4

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

    • @hanty9910
      @hanty9910 7 ปีที่แล้ว +2

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

    • @FromCrimea
      @FromCrimea 5 ปีที่แล้ว +3

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

  • @АлександрБалданов-ю8й
    @АлександрБалданов-ю8й 2 ปีที่แล้ว +2

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

  • @СергейАндреев-ч4я7ъ
    @СергейАндреев-ч4я7ъ 3 ปีที่แล้ว +1

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

  • @ИванИванов-к7е3ъ
    @ИванИванов-к7е3ъ 2 ปีที่แล้ว +1

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

  • @QW-uj6oq
    @QW-uj6oq 5 หลายเดือนก่อน +1

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

  • @Школа1С-видеоурокибесплатно

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

  • @НикитаКудрин-з6е
    @НикитаКудрин-з6е 7 ปีที่แล้ว +3

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

  • @mgrup7
    @mgrup7 6 ปีที่แล้ว +1

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

  • @ВладимирМороз-й9н
    @ВладимирМороз-й9н 7 ปีที่แล้ว +12

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

    • @ARJV007
      @ARJV007 7 ปีที่แล้ว +8

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

    • @kronhtein9225
      @kronhtein9225 7 ปีที่แล้ว +3

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

    • @ovo4420
      @ovo4420 6 ปีที่แล้ว +2

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

    • @Vicont4063
      @Vicont4063 6 ปีที่แล้ว +3

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

    • @nomad7626
      @nomad7626 6 ปีที่แล้ว +3

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

  • @11Gleb11
    @11Gleb11 2 ปีที่แล้ว +1

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

  • @sertrim
    @sertrim 3 ปีที่แล้ว +2

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

    • @STRIZH_FPV
      @STRIZH_FPV 3 ปีที่แล้ว +1

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

  • @ЛёхаБукреев
    @ЛёхаБукреев 3 หลายเดือนก่อน +1

    Добрый день. Спасибо за материал. Вопрос: имеет ли значение порядок описания и вызова процедур и функций в модуле? Другими словами, если в первых строках будет обработка события нажания на кнопку, внутри этой обработки будет вызов функции. А сама функция будет описана ниже по модулю, чем процедура, которая к этой функции обращается? Компилятор обрабатывает сначала весь модуль, загружая все функции в память, либо он идёт построчно вниз? Спасибо за ответ заранее.

    • @dion6308
      @dion6308 27 วันที่ผ่านมา +1

      Я проверил, ошибки не будет. Хотя 1С - интерпретируемый язык.

  • @nadyar4951
    @nadyar4951 6 ปีที่แล้ว +1

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

  • @ПатриотРоссии-е5у
    @ПатриотРоссии-е5у 2 ปีที่แล้ว +2

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

    • @hazrat6544
      @hazrat6544 2 ปีที่แล้ว +2

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

    • @ПатриотРоссии-е5у
      @ПатриотРоссии-е5у 2 ปีที่แล้ว +2

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

    • @hazrat6544
      @hazrat6544 2 ปีที่แล้ว +2

      @@ПатриотРоссии-е5у бывает. Пожалуйста

    • @hazrat6544
      @hazrat6544 2 ปีที่แล้ว +2

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

    • @ПатриотРоссии-е5у
      @ПатриотРоссии-е5у 2 ปีที่แล้ว +2

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

  • @Ykutdza
    @Ykutdza 3 ปีที่แล้ว +1

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

    • @annaagafonova8459
      @annaagafonova8459 ปีที่แล้ว +1

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

  • @melkiy1735
    @melkiy1735 4 ปีที่แล้ว +5

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

  • @Igor-ld5pf
    @Igor-ld5pf 3 ปีที่แล้ว +1

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

  • @РустамХуаде-у4и
    @РустамХуаде-у4и 6 ปีที่แล้ว +1

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


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

    • @IlyaLeontyev
      @IlyaLeontyev 5 ปีที่แล้ว +4

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

  • @КирилБорисович
    @КирилБорисович 4 ปีที่แล้ว +1

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

  • @ТандаЭльф
    @ТандаЭльф 4 ปีที่แล้ว +1

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

  • @Alex-net-brn
    @Alex-net-brn 6 ปีที่แล้ว +4

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

  • @denisfatkulin
    @denisfatkulin 7 ปีที่แล้ว +2

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

    • @ARJV007
      @ARJV007 7 ปีที่แล้ว +3

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

  • @ВладимирАлександрович-и9л
    @ВладимирАлександрович-и9л 4 ปีที่แล้ว +1

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

  • @gottastoppo
    @gottastoppo 4 ปีที่แล้ว +1

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

  • @iskanderlej
    @iskanderlej ปีที่แล้ว

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

  • @Rykovskiy
    @Rykovskiy 8 หลายเดือนก่อน +1

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

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

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

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

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

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

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

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

  • @АрсенийМаркович-щ4з
    @АрсенийМаркович-щ4з 4 ปีที่แล้ว +1

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

    • @user-ui1ub5rm6n
      @user-ui1ub5rm6n 4 ปีที่แล้ว +1

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

    • @АрсенийМаркович-щ4з
      @АрсенийМаркович-щ4з 4 ปีที่แล้ว +1

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

  • @Don_Pehot
    @Don_Pehot 5 ปีที่แล้ว

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

  • @ЭдуаардоД
    @ЭдуаардоД 5 ปีที่แล้ว +1

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

    • @ЭдуаардоД
      @ЭдуаардоД 5 ปีที่แล้ว +2

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

  • @nikplaytv1236
    @nikplaytv1236 4 วันที่ผ่านมา

    Легенда 1с

  • @VovanTelephone
    @VovanTelephone 6 ปีที่แล้ว +1

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

    • @VovanTelephone
      @VovanTelephone 6 ปีที่แล้ว +2

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

  • @РустамМадтроф
    @РустамМадтроф 6 ปีที่แล้ว +1

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

    • @РустамМадтроф
      @РустамМадтроф 6 ปีที่แล้ว +2

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

  • @Pavel_2408
    @Pavel_2408 ปีที่แล้ว +1

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

    • @gridedvk
      @gridedvk 3 หลายเดือนก่อน +1

      строки сравнивает, наверное. Надо тип задать, тогда будет числа сравнивать

  • @kilka13
    @kilka13 3 ปีที่แล้ว +1

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

  • @TripolitovVladimir
    @TripolitovVladimir 6 ปีที่แล้ว +1

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

    • @TripolitovVladimir
      @TripolitovVladimir 6 ปีที่แล้ว

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

    • @IlyaLeontyev
      @IlyaLeontyev 5 ปีที่แล้ว +2

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

    • @VZRVEL
      @VZRVEL 4 ปีที่แล้ว +1

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

  • @РоманОзеров-ф6ю
    @РоманОзеров-ф6ю 4 ปีที่แล้ว +2

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

    • @olegf3728
      @olegf3728 4 ปีที่แล้ว +1

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

    • @Gzugza
      @Gzugza 4 ปีที่แล้ว +1

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

  • @DATO201288
    @DATO201288 6 ปีที่แล้ว +1

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

    • @anzimin
      @anzimin 6 ปีที่แล้ว +3

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

  • @АртемКобелев-б7ч
    @АртемКобелев-б7ч 3 หลายเดือนก่อน

    Процедура или функция с указанным именем уже определена. Хоть как обзывай, ошибка не исчезает

  • @romanbush5164
    @romanbush5164 4 ปีที่แล้ว +3

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

  • @НикитаКудрин-з6е
    @НикитаКудрин-з6е 7 ปีที่แล้ว +2

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

    • @mainlord8203
      @mainlord8203 7 ปีที่แล้ว +2

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

    • @vitaliynsk289
      @vitaliynsk289 6 ปีที่แล้ว +1

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

  • @НикитаКудрин-з6е
    @НикитаКудрин-з6е 7 ปีที่แล้ว +1

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

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

    • @YolyaSNZ
      @YolyaSNZ 6 ปีที่แล้ว +1

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

  • @cryptoprofit1190
    @cryptoprofit1190 ปีที่แล้ว +1

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

  • @vladyan01
    @vladyan01 3 ปีที่แล้ว +1

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

  • @solar9238
    @solar9238 6 หลายเดือนก่อน +1

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

  • @Александр-х4х7н
    @Александр-х4х7н 3 ปีที่แล้ว +3

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

    • @muziklife6108
      @muziklife6108 2 ปีที่แล้ว +1

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

  • @melkiy1735
    @melkiy1735 5 ปีที่แล้ว +1

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

    • @stacysmind8548
      @stacysmind8548 4 ปีที่แล้ว +1

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

  • @TripolitovVladimir
    @TripolitovVladimir 6 ปีที่แล้ว +2

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

    • @mykolayatcenko9839
      @mykolayatcenko9839 4 ปีที่แล้ว +1

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

  • @НикитаКудрин-з6е
    @НикитаКудрин-з6е 7 ปีที่แล้ว +2

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

    • @ЕвгенийВолшебый
      @ЕвгенийВолшебый 5 ปีที่แล้ว +1

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

    • @Извинитено-с2г
      @Извинитено-с2г 3 ปีที่แล้ว +1

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

  • @Grishka48
    @Grishka48 6 ปีที่แล้ว +1

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

    • @PartizannN437
      @PartizannN437 6 ปีที่แล้ว +1

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

    • @Grishka48
      @Grishka48 6 ปีที่แล้ว +1

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

    • @TripolitovVladimir
      @TripolitovVladimir 6 ปีที่แล้ว

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

  • @nomad7626
    @nomad7626 6 ปีที่แล้ว +5

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

    • @IlyaLeontyev
      @IlyaLeontyev 5 ปีที่แล้ว +1

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

    • @sergejsimagin3741
      @sergejsimagin3741 5 ปีที่แล้ว

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

    • @sergejsimagin3741
      @sergejsimagin3741 5 ปีที่แล้ว

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

    • @АрсенийМаркович-щ4з
      @АрсенийМаркович-щ4з 4 ปีที่แล้ว

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

  • @boomx2000
    @boomx2000 4 ปีที่แล้ว +1

    норм

  • @lankaster4769
    @lankaster4769 6 ปีที่แล้ว +3

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

    • @retertwerwr2970
      @retertwerwr2970 4 ปีที่แล้ว +3

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

  • @ДмитрийАнтонов-л3о6м
    @ДмитрийАнтонов-л3о6м 6 ปีที่แล้ว +3

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

  • @luckykulon1847
    @luckykulon1847 6 ปีที่แล้ว +11

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

    • @lEpIvIaKl
      @lEpIvIaKl 5 ปีที่แล้ว +2

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

  • @pusena274
    @pusena274 ปีที่แล้ว

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

    • @gromovdenis7
      @gromovdenis7 ปีที่แล้ว

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