Последовательность выполнения событий при записи в регистр сведений
Последовательность вызова событий при записи документа
Во время записи данных в регистр сведений выполняется вызов событий в определенной последовательности. События и их последовательность вызова заложены на уровне самой платформы 1С, а программисту дали возможность только изменять обработчики событий. Следовательно, что бы вмешаться в процесс модификации данных регистр сведений, необходимо использовать обработчики событий.
События, заключенные между красными линиями и выделенные темной заливкой, выполняются в одной транзакции. Если у одного из этих событий в обработчике указать для параметра Отказ значение Истина, то будет отменена вся транзакция.
В случае модификации уже существующей записи регистра сведений, могут быть изменены значения измерений, следовательно, такая запись сама по себе не заместит старую запись. Поэтому платформа 1С выполняет два этапа: сперва удаляет старую запись, потом уже записывает новую:
Удаление старой записи производится записью пустого набора записей, следовательно, вызов событий ПередЗаписью и ПриЗаписи выполняется два раза.
При работе с набором записей регистра сведений из формы, порядок выполнения событий не различается для записи нового набора записей и для записи уже существовавшего.
Если необходимо получить последовательность вызова событий при программной записи данных в регистр сведений, то уберите события модуля формы.
Во время записи данных в регистр сведений выполняется вызов событий в определенной последовательности. События и их последовательность вызова заложены на уровне самой платформы 1С, а программисту дали возможность только изменять обработчики событий. Следовательно, что бы вмешаться в процесс модификации данных регистр сведений, необходимо использовать обработчики событий.
В случае записи новой записи (то есть запись с такими значениями измерений еще не существует в регистре сведений) из формы записи, последовательность вызова событий следующая:
![]() |
Последовательность вызова событий при записи из формы новой записи |
- Модуль формы (&НаКлиенте) - перед записью;
- Модуль формы (&НаСервере) - обработка проверки заполнения на сервере;
- Модуль набора записей - обработка проверки заполнения (начинается транзакция);
- Модуль формы (&НаСервере) - перед запись на сервере;
- Модуль набора записей - перед записью;
- Модуль набора записей - при записи;
- Модуль формы (&НаСервере) - при записи на сервере (фиксируется транзакция);
- Модуль формы (&НаСервере) - после записи на сервере;
- Модуль формы (&НаКлиенте) - после записи.
События, заключенные между красными линиями и выделенные темной заливкой, выполняются в одной транзакции. Если у одного из этих событий в обработчике указать для параметра Отказ значение Истина, то будет отменена вся транзакция.
В случае модификации уже существующей записи регистра сведений, могут быть изменены значения измерений, следовательно, такая запись сама по себе не заместит старую запись. Поэтому платформа 1С выполняет два этапа: сперва удаляет старую запись, потом уже записывает новую:
![]() |
Последовательность вызова событий при записи из формы существующей записи |
При работе с набором записей регистра сведений из формы, порядок выполнения событий не различается для записи нового набора записей и для записи уже существовавшего.
Если необходимо получить последовательность вызова событий при программной записи данных в регистр сведений, то уберите события модуля формы.
Комментарии
Отправить комментарий