Ответ вслух Middle Управляемые формы обновлено

Что происходит при записи из формы

Вопрос

Расскажите, какие события вызываются при нажатии «Записать» в форме документа и что в каждом уместно делать.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Сначала на клиенте ПередЗаписью: тут можно задать вопрос или отменить запись. Затем на сервере ПередЗаписьюНаСервере, где форма уже преобразована в ТекущийОбъект.

Что должно прозвучать в ответе

  • ПередЗаписью на клиенте: вопросы пользователю, клиентские проверки

  • ПередЗаписьюНаСервере: доступ к ТекущийОбъект до записи

  • События модуля объекта: ПередЗаписью, ПриЗаписи, при проведении ОбработкаПроведения

  • ПриЗаписиНаСервере: в той же транзакции после записи объекта

  • ПослеЗаписиНаСервере и ПослеЗаписи: обновление формы, оповещение

Что могут спросить следом

  • Где писать логику, которая должна работать и при записи из кода?
  • Что будет, если в ПриЗаписиНаСервере установить Отказ?

Разбор

Сначала на клиенте ПередЗаписью: тут можно задать вопрос или отменить запись. Затем на сервере ПередЗаписьюНаСервере, где форма уже преобразована в ТекущийОбъект. Дальше пишется сам объект: в его модуле ПередЗаписью, ПриЗаписи, а при проведении ОбработкаПроведения. Затем ПриЗаписиНаСервере формы, ещё в транзакции, после него ПослеЗаписиНаСервере и на клиенте ПослеЗаписи, где удобно оповестить другие формы. Логику, которая должна работать при любой записи, включая обмены и обработки, пишу в модуле объекта, а не в форме: форма участвует только в интерактивной записи.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.