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

Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта (DataExchangeLoading)

  • Тип: Ошибка
  • Важность: Критичный
  • Включена по умолчанию: Да
  • Теги: standard, badpractice, unpredictable

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

Все действия в процедурах-обработчиков событий ПередЗаписью, ПриЗаписи, ПередУдалением должны выполняться после проверки на ОбменДанными.Загрузка.

Это необходимо для того, чтобы никакая бизнес-логика объекта не выполнялась при записи объекта через механизм обмена данными, поскольку она уже была выполнена для объекта в том узле, где он был создан. В этом случае все данные загружаются в ИБ "как есть", без искажений (изменений), проверок или каких-либо других дополнительных действий, препятствующих загрузке данных.

Примеры

Неправильно:

Процедура ПередЗаписью(Отказ)

    Если Не Отказ Тогда
        ЗапутитьКакойТоАлгоритм();
    КонецЕсли;

    // код обработчика
    //
    // ...

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

    // код обработчика
    // ...
КонецПроцедуры

Источники

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

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