Добрый день.
Есть база БП (На данный момент 3.0.67.54)
В ней создан самописный документ "Заявка". Режим управления блокировкой данных "Управляемый"
При открытии формы устанавливается блокировка кодом
Попытка
ЗаблокироватьДанныеДляРедактирования(Объект.Ссылка,,ЭтаФорма.УникальныйИдентификатор);
Исключение
ОбщегоНазначенияКлиентСервер.СообщитьПользователю("Документ редактируется другим пользователем");
ЭтаФорма.ТолькоПросмотр = Истина;
КонецПопытки;
Код работает. Все отлично.
Есть обработка, которая изменяет некоторые реквизиты документов данного типа, Естественно документы выбираются запросом по условиям отбора. Нужно чтобы перед отработкой алгоритма, проверялось наличие заблокированных (по факту открытых документов). Если заблокирован, то выход. Если в все ок, то на все выбранные документы установить блокировку. чтобы пока отрабатывает обработка никто не мог открыть.
Думал, что при открытом документе этот код вызовет ошибку, будет подвисание. Все отработало.
НачатьТранзакцию();
// в цикле перебираю ссылки для изменения
Попытка
ТекДок.Заблокировать();
Исключение
ОтменитьТранзакцию();
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Невозможно заблокировать документ "+Строка(ТекДок) ;
Сообщение.Сообщить();
Возврат;
КонецПопытки;
.......
ЗафиксироватьТранзакцию();
НачатьТранзакцию();
// в цикле перебираю ссылки для изменения
Попытка
ТекДок.Заблокировать();
Исключение
ОтменитьТранзакцию();
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Невозможно заблокировать документ "+Строка(ТекДок) ;
Сообщение.Сообщить();
Возврат;
КонецПопытки;
.......
ЗафиксироватьТранзакцию();
Кажется много кода 1с.
Если на Конфигурации режим управления блокировкой данных "Управляемый"
и на форме документа - режим управления блокировкой данных "Управляемый"
и форма документа создана стандартная! (как форма создавалсь важно)
Программа 1С сама будет отслеживать изменения. Т.е. будет работать Пессимистическая блокировка данных.
Может кто из экспертов подскажет, так это или нет?