Довідковий матеріал

Обробник події ПередЗаписом

1. У цьому обробнику, як правило, мають виконуватися дії, пов'язані із заповненням значень реквізитів об'єкта (набору записів, значення константи; далі спрощено — «об'єкт»), перевіркою правильності їх заповнення, пов'язаності стану об'єкта з деякими зовнішніми даними. Також у цьому обробнику слід виконувати дії, пов'язані зі зверненням до «старих» значень реквізитів об'єкта, збережених у базі даних (має сенс під час редагування вже записаних раніше об'єктів, наборів записів тощо).

1. У цьому обробнику, як правило, мають виконуватися дії, пов'язані із заповненням значень реквізитів об'єкта (набору записів, значення константи; далі спрощено — «об'єкт»), перевіркою правильності їх заповнення, пов'язаності стану об'єкта з деякими зовнішніми даними. Також у цьому обробнику слід виконувати дії, пов'язані зі зверненням до «старих» значень реквізитів об'єкта, збережених у базі даних (має сенс під час редагування вже записаних раніше об'єктів, наборів записів тощо).

Див. також розділ «Перевірки, що виконуються в транзакції запису об'єкта та поза нею» статті «Обробник події ОбработкаПроверкиЗаполнения»

2. Вміст процедури-обробника події ПередЗаписью умовно має розділятися на дві частини:

  • дії, що виконуються за кожного запису об'єкта (зокрема й коли об'єкт записується механізмом обміну даними),
  • і дії, які не мають виконуватися в разі запису об'єкта механізмом обміну.
Процедура ПередЗаписью(Отказ) 
	// дії, які мають виконуватися завжди, зокрема й під час обміну даними 
	// ...
	Если ОбменДанными.Загрузка Тогда 
		Возврат; 
	КонецЕсли; 
	
	// дії, що виконуються в разі, якщо запис ініційовано не механізмом обміну даними 
	// ...
КонецПроцедуры

У більшості випадків усі дії, що виконуються в обробнику ПередЗаписью мають розташовуватися в модулі після конструкції

Если ОбменДанными.Загрузка Тогда 
	Возврат; 
КонецЕсли;

Тобто вони не мають виконуватися під час запису об'єкта через механізм обміну даними, оскільки вони вже були виконані для об'єкта в тому вузлі, де його було створено. У разі винятків причина винятку з цього правила має бути описана в коментарі до виконуваних дій.

Записатися телефоном