Робота з параметром «Відмова» в обробниках подій
1. В обробниках подій модулів об'єктів, наборів записів, форм тощо, що містять параметр Відмова (ПриЗаписи, ОбработкаПроверкиЗаполнения, ТоварыПередНачаломДобавления тощо), не слід надавати цьому параметру значення Ложь.Ця вимога зумовлена тим, що, як правило, у коді обробників подій параметр Відмова може встановлюватися одразу в кількох послідовних перевірках (або в кількох підписках на одну й ту саму подію). У такому разі до моменту виконання чергової перевірки параметр Відмова вже може заздалегідь містити значення Истина, і його можна помилково скинути назад у Ложь.Крім того, під час доопрацювань конфігурації на впровадженні кількість цих перевірок може збільшитися.
1. В обробниках подій модулів об'єктів, наборів записів, форм тощо, що містять параметр Відмова (ПриЗаписи, ОбработкаПроверкиЗаполнения, ТоварыПередНачаломДобавления тощо), не слід надавати цьому параметру значення Ложь.
Ця вимога зумовлена тим, що, як правило, у коді обробників подій параметр Відмова може встановлюватися одразу в кількох послідовних перевірках (або в кількох підписках на одну й ту саму подію). У такому разі до моменту виконання чергової перевірки параметр Відмова вже може заздалегідь містити значення Истина, і його можна помилково скинути назад у Ложь.
Крім того, під час доопрацювань конфігурації на впровадженні кількість цих перевірок може збільшитися.
Неправильно:
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) ... Отказ = ЕстьОшибкиЗаполнения(); ... КонецПроцедуры
Правильно:
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты) ... Если ЕстьОшибкиЗаполнения() Тогда Отказ = Истина; КонецЕсли; ... КонецПроцедуры
або
Отказ = Отказ Или ЕстьОшибкиЗаполнения();
2. Ці самі вимоги справедливі для інших аналогічних параметрів обробників подій: СтандартнаяОбработка, Выполнение та ін.
Наприклад:
Процедура ОбработкаПолученияДанныхВыбора(ДанныеВыбора, Параметры, СтандартнаяОбработка) Если Параметры.Свойства(...) Тогда СтандартнаяОбработка = Ложь; ... КонецЕсли; КонецПроцедуры