Перейти к содержанию
#std686

Работа с параметром «Отказ» в обработчиках событий

1.

Параметру Отказ не присваивайте Ложь.

Если ему присвоить Ложь, то можно случайно сбросить ранее установленный Истина.

Установка Ложь может быть неявной: через булеву функцию. Потому и результат функции тоже не присваивайте.

Неправильно

Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    ...
    Отказ = ЕстьОшибки();
    ...
КонецПроцедуры 
и
Процедура ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    ...
    Отказ = Ложь;
    ...
КонецПроцедуры

Правильно

Процедура  ОбработкаПроверкиЗаполнения(Отказ, ПроверяемыеРеквизиты)
    ...
    Если ЕстьОшибки() Тогда
        Отказ = Истина;
    КонецЕсли;
    ... 
КонецПроцедуры
или
Отказ = Отказ Или ЕстьОшибки();

2.

Вообще это правило подходит для любых возвращаемых булевых параметров, например СтандартнаяОбработка, Выполнение.

3.

Если устанавливаете параметр Отказ в Истина, то объясняйте пользователю что случилось.

Платформа покажет сообщение об ошибке с текстом, например Не удалось записать "Заказ покупателя"!, из которого пользователь не поймет что именно произошло.

Уведомлять пользователя надо по стандарту #std400: Информирование пользователя с помощью сообщения, или отказаться от установки параметра Отказ и вызвать исключение.

См. также
Источник

https://its.1c.ru/db/v8std#content:686