Перейти к содержанию
bslls:UsingCancelParameter

Работа с параметром "Отказ" (UsingCancelParameter)

  • Тип: Дефект кода
  • Важность: Важный
  • Включена по умолчанию: Да
  • Теги: standard, badpractice

Описание диагностики

В обработчиках событий модулей объектов, наборов записей, форм и т.п., содержащих параметр Отказ (ПриЗаписи, ОбработкаПроверкиЗаполнения, ТоварыПередНачаломДобавления и т.п.), не следует присваивать этому параметру значение Ложь. Это требование обусловлено тем, что, как правило, в коде обработчиков событий параметр Отказ может устанавливаться сразу в нескольких последовательных проверках (или в нескольких подписках на одно и то же событие). В таком случае к моменту выполнения очередной проверки параметр Отказ уже может заранее содержать значение Истина, и можно ошибочно сбросить его обратно в Ложь. Кроме того, при доработках конфигурации на внедрении число этих проверок может увеличиться.

Примеры

Неправильно

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

Правильно

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

или

Отказ = Отказ Или ЕстьОшибкиЗаполнения();

Источники

Соответствие стандартам

Источник диагностики