Нарушение парности использования методов "НачатьТранзакцию()" и "ЗафиксироватьТранзакцию()" / "ОтменитьТранзакцию()" (PairingBrokenTransaction)¶
Тип | Поддерживаются языки |
Важность | Включена по умолчанию |
Время на исправление (мин) |
Теги |
---|---|---|---|---|---|
Ошибка |
BSL OS |
Важный |
Да |
15 |
standard |
Описание диагностики¶
Начало транзакции и ее фиксация (отмена) должны происходить в контексте одного метода.
Примеры¶
Правильно
Процедура ЗаписатьДанныеВИБ()
НачатьТранзакцию();
Попытка
... // чтение или запись данных
ДокументОбъект.Записать()
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
... // дополнительные действия по обработке исключения
КонецПопытки;
КонецПроцедуры
Неправильно
Процедура ЗаписатьДанныеВИБ()
НачатьТранзакцию();
ЗаписатьДокумент();
КонецПроцедуры;
Процедура ЗаписатьДокумент()
Попытка
... // чтение или запись данных
ДокументОбъект.Записать()
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
... // дополнительные действия по обработке исключения
КонецПопытки;
КонецПроцедуры
Источники¶
Сниппеты¶
Экранирование кода¶
// BSLLS:PairingBrokenTransaction-off
// BSLLS:PairingBrokenTransaction-on
Параметр конфигурационного файла¶
"PairingBrokenTransaction": false