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

Некорректное использование метода ОтменитьТранзакцию() (WrongUseOfRollbackTransactionMethod)

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

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

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

Примеры

НачатьТранзакцию();
Попытка
    ДокументОбъект.Записать();
    ЗафиксироватьТранзакцию();
Исключение
    ЗаписьЖурналаРегистрации(НСтр("ru = 'Выполнение операции'"),
        УровеньЖурналаРегистрации.Ошибка,
        ,
        ,
        ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));

    ОтменитьТранзакцию(); // Срабатывание здесь

    ВызватьИсключение; // есть внешняя транзакция

КонецПопытки;

Источники

Источник: Стандарт: Транзакции: правила использования

Сниппеты

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

// BSLLS:WrongUseOfRollbackTransactionMethod-off
// BSLLS:WrongUseOfRollbackTransactionMethod-on

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

"WrongUseOfRollbackTransactionMethod": false