Данный материал перенесен в состав курса по подготовке к аттестации 1С:Специалист по платформе 1С:Предприятие 8.3 как открытое занятие.
Новый адрес: https://курсы-по-1с.рф/courses/dev-att/forms-business-processes-startpage/odqrolxczz-chapter-05/
Нужно больше материалов по подготовке к аттестации?
Cтатья подготовлена по материалам нового курса – Подготовка к аттестации 1С:Специалист по Платформе 1С:Предприятие 8.3 (2019).
Добрый день! Хотелось бы уточнить по поводу следующей фразы из текста:
“Устанавливать его будем в обработчиках двух событий: ПриСозданииНаСервере и ПослеЗаписиНаСервере. Это связано с тем, что при открытии формы нового, еще не записанного в базу бизнес-процесса, его ссылка пустая.”
Если не ошибаюсь, обработчик ПриСозданииНаСервере вызывается всегда: и для уже существующего объекта, и для нового. Т.о. при открытии формы нового объекта вызов функции установки параметра дин.списка работать не будет или будет выдавать ошибку.
В то же время имеется обработчик ПриЧтенииНаСервере, который отрабатывает ТОЛЬКО при открытии формы существующего объекта, и, мне кажется, было бы более логично вызывать установку параметра дин.списка из него.
Добрый день!
Да, Вы правильно пишете – обработчик события ПриЧтенииНаСервере вызывается самым первым при открытии формы и не выполняется для новых, еще не записанных объектов.
В тексте запроса динамического списка указан параметр, поэтому его обязательно нужно установить. В противном случае возникнет ошибка. Поэтому реализован именно обработчик события ПриСозданииНаСервере, который выполняется в том числе и для новых объектов. Если установку параметра выполнять в обработчике события ПриЧтенииНаСервере, то при открытии формы нового бизнес-процесса возникнет ошибка, т.к. параметр динамического списка не был установлен.