Перейти к содержанию
v8cs:lock-out-of-try

Вызов "Заблокировать()" находится вне попытки (lock-out-of-try)

  • Категория: bsl

Правило проверяет наличие инициализации блокировки данных. В случае если найдено создание блокировки, проверяется вызов метода "Заблокировать()", при этом вызов должен быть в попытке.

Неправильно

БлокировкаДанных = Новый БлокировкаДанных;
ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("Документ.ПриходнаяНакладная");
ЭлементБлокировкиДанных.Режим = РежимБлокировкиДанных.Исключительный;
БлокировкаДанных.Заблокировать();

Правильно

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

    БлокировкаДанных = Новый БлокировкаДанных;
    ЭлементБлокировкиДанных = БлокировкаДанных.Добавить("Документ.ПриходнаяНакладная");
    ЭлементБлокировкиДанных.Режим = РежимБлокировкиДанных.Исключительный;
    БлокировкаДанных.Заблокировать();
    // чтение или запись данных

   ЗафиксироватьТранзакцию();

Исключение
    ОтменитьТранзакцию();

ВызватьИсключение;

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

См.

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

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