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

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

Тип Поддерживаются
языки
Важность Включена
по умолчанию
Время на
исправление (мин)
Теги
Ошибка BSL Критичный Да 5 standard
badpractice
unpredictable

Параметры

Имя Тип Описание Значение
по умолчанию
findFirst Булево Проверка должна идти первой false

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

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

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

Примеры

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

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

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

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

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

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

Источники

Сниппеты

Экранирование кода

// BSLLS:DataExchangeLoading-off
// BSLLS:DataExchangeLoading-on

Параметр конфигурационного файла

"DataExchangeLoading": {
    "findFirst": false
}