Последовательность событий при записи позиции справочника по кнопке Записать и закрыть такова:
Нюансы:
1) схема описывает поведение системы при интерактивной записи; при программной соответственно не возникает событий на форме.
2) заливкой выделены моменты, происходящие в транзакции
Рассмотрим кратко основные шаги, и что можно сделать на каждом.
- Форма, ПередЗаписью() - обработчик нужен, если нужен диалог с пользователем перед тем, как записать объект.
- Форма, ОбработкаПроверкиЗаполненияНаСервере() - проверяем заполнение, есть доступ к данным формы
- Объект, ОбработкаПроверкиЗаполнения() - проверяем заполнение, доступа к данным формы нет
- Форма, ПередЗаписьюНаСервере() - в этот момент экземпляр класса объекта уже существует, можем обратиться к его свойствам и методам, но в базу он пока не записан. Можно дозаполнить реквизиты объекта или провести доп.проверки
- Объект, ПередЗаписью() - в этот момент экземпляр класса объекта уже записан в базу данных, но транзакция еще не завершена (следовательно, может быть откачена). Можно дозаполнить реквизиты объекта или провести доп.проверки
- Объект, ПриЗаписи() - в этот момент экземпляр класса объекта уже записан в базу данных, на него есть ссылка, но транзакция еще не завершена (следовательно, может быть откачена). Используя эту ссылку, можно записать в базу какие-то данные, на основе данных объекта
- Форма, ПриЗаписиНаСервере() - в этот момент экземпляр класса объекта уже записан в базу данных, на него есть ссылка, но транзакция еще не завершена (следовательно, может быть откачена), но уже есть доступ к данным формы. От записи можно еще отказаться на этом шаге
- Форма, ПослеЗаписиНаСервере() - объект записан, транзакция завершена. Можно отобразить что-то на форме
- Форма, ПослеЗаписи() - можно отобразить что-то на форме
Очень подробно тут: http://infostart.danila.org.ua/public/153748/
***
Вопрос 06.34 экзамена 1С:Профессионал по платформе. В каком обработчике события модуля объекта можно отказаться от записи объекта, например, элемента справочника?
- ПередЗаписью
- ПриЗаписи
- ПослеЗаписи
- В любом из перечисленных
- Справедливо 1 и 2
Правильный ответ пятый, разбор выше. На шаге ПриЗаписи() транзакция еще не завершена.
Спасибо, интересно!
ОтветитьУдалитьСсылка битая, не работает(
ОтветитьУдалить+++
УдалитьВ новой версии вместо 5 варианта - 2 варианта -
ОтветитьУдалить5) Верно 1 и 2 (т. к. такого обработчика события нет в модуле объекта)
6) Верно 1 и 2 (т. к. обработчик события выполняется "после" записи)
Правильный 5 ответ
Кто - нить может объяснить че за ахинею написали в вариантах????
Я вот никак не врублюсь
Видимо сильный план у тех кто пишет эту чепуху))))
Кароч билеты только зубрить... никакой логики у этих наркоманов нет от слова совсем! Половина ответов еще и неправильные))) Надеюсь сдам профа и тут же забуду этот мрак!
Удалить1С только-только изучаю, немножко покопался в этом вопросе. Он сформулирован криво, но логика есть. Здесь идёт речь про "Модуль объекта" и про его предопределенные процедуры - про обработчики событий. В "Модуле объекта" обработчика событий "ПослеЗаписи" - нет; но в свою очередь в "Модуле формы" обработчика событий "ПослеЗаписи" - есть.
УдалитьПятый ответ звучит так:
"5) Верно 1 и 2 (т. к. такого обработчика события нет в модуле объекта)"
Нас интересует именно "нет в МОДУЛЕ ОБЪЕКТА", поэтому ответ пятый.
Короче, в вариантах говорится о "таком обработчике", это говорится о "ПослеЗаписи" и его действительно нет в модулей объекта.
Удалить