bslls:DataExchangeLoading¶
Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта (DataExchangeLoading)¶
- Тип: Ошибка
- Важность: Критичный
- Включена по умолчанию: Да
- Теги:
standard,badpractice,unpredictable
Описание диагностики¶
Все действия в процедурах-обработчиков событий ПередЗаписью, ПриЗаписи, ПередУдалением должны выполняться после проверки на ОбменДанными.Загрузка.
Это необходимо для того, чтобы никакая бизнес-логика объекта не выполнялась при записи объекта через механизм обмена данными, поскольку она уже была выполнена для объекта в том узле, где он был создан. В этом случае все данные загружаются в ИБ "как есть", без искажений (изменений), проверок или каких-либо других дополнительных действий, препятствующих загрузке данных.
Примеры¶
Неправильно:
Процедура ПередЗаписью(Отказ)
Если Не Отказ Тогда
ЗапутитьКакойТоАлгоритм();
КонецЕсли;
// код обработчика
//
// ...
КонецПроцедуры
Процедура ПередЗаписью(Отказ)
Если ОбменДанными.Загрузка Тогда
Возврат;
КонецЕсли;
// код обработчика
// ...
КонецПроцедуры
Источники¶
- Стандарт: Использование признака ОбменДанными.Загрузка в обработчиках событий объекта
- Обработчик события ПриЗаписи
- Обработчик события ПередЗаписью
- Обработчик события ПередУдалением
Соответствие стандартам¶
- #std464, п. 2: Обработчик события ПередЗаписью — Диагностика «Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта (DataExchangeLoading)» проверяет условие пункта 2 стандарта std464.
- #std465, п. 2: Обработчик события ПриЗаписи — Диагностика «Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта (DataExchangeLoading)» проверяет условие пункта 2 стандарта std465.
- #std752, п. 2: Обработчик события ПередУдалением — Диагностика «Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта (DataExchangeLoading)» проверяет условие пункта 2 стандарта std752.
- #std773, п. 1: Использование признака ОбменДанными.Загрузка в обработчиках событий объекта — Диагностика «Отсутствует проверка признака ОбменДанными.Загрузка в обработчике событий объекта (DataExchangeLoading)» проверяет условие пункта 1 стандарта std773.
Источник диагностики¶
- Исходная статья
- Ревизия:
f4616cda8a216789ee40529ed857e614b9e2ea25 - Лицензия:
LGPL-3.0-or-later