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

Нарушение парности использования методов "НачатьТранзакцию()" и "ЗафиксироватьТранзакцию()" / "ОтменитьТранзакцию()" (PairingBrokenTransaction)

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

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

Начало транзакции и ее фиксация (отмена) должны происходить в контексте одного метода.

Примеры

Правильно

Процедура ЗаписатьДанныеВИБ()

    НачатьТранзакцию();

    Попытка
        ... // чтение или запись данных
        ДокументОбъект.Записать()
        ЗафиксироватьТранзакцию();
    Исключение
        ОтменитьТранзакцию();
        ... // дополнительные действия по обработке исключения
    КонецПопытки;

КонецПроцедуры

Неправильно

Процедура ЗаписатьДанныеВИБ()

    НачатьТранзакцию();
    ЗаписатьДокумент();

КонецПроцедуры;

Процедура ЗаписатьДокумент()

    Попытка
        ... // чтение или запись данных
        ДокументОбъект.Записать()
        ЗафиксироватьТранзакцию();
    Исключение
        ОтменитьТранзакцию();
    ... // дополнительные действия по обработке исключения
    КонецПопытки;

КонецПроцедуры

Источники

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

  • #std783, п. 1.2: Транзакции: правила использования — Диагностика «Нарушение парности использования методов "НачатьТранзакцию()" и "ЗафиксироватьТранзакцию()" / "ОтменитьТранзакцию()" (PairingBrokenTransaction)» проверяет условие пункта 1.2 стандарта std783.

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