|
Блокировка документов при работе обработки |
☑ |
0
Wefast
08.10.19
✎
13:21
|
Есть обработка которая создает документы пачкой.
Мне нужно что бы последовательность этих документов не была нарушена, если к примеру кто то еще запустит эту обработку.
Т.е. по факту мне нужно запретить пользователям только создавать новые документы
Пишу:
НачатьТранзакцию(РежимУправленияБлокировкойДанных.Управляемый);
Блокировка = Новый БлокировкаДанных;
ЭлементБлокировки = Блокировка.Добавить("Документ.КА_НарядНаСдельнуюРаботу");
ЭлементБлокировки.Режим = РежимБлокировкиДанных.Исключительный;
Блокировка.Заблокировать();
Для каждого СтрокаТехОперции из КакаяТаблица цикл
КонецЦикла;
Попытка
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
КонецПопытки;
|
|
1
Wefast
08.10.19
✎
13:21
|
В цикле я создаю документ
|
|
2
Wefast
08.10.19
✎
13:23
|
В итоге не работает блокировка, и документы создаются не через 1 к примеру. А идет часть документов первой обработки. Потом часть(почти все) второй обработки, потом опять первой и в какой то момент еще 1 второй обработки где то вклинивается
|
|
3
Мимохожий Однако
08.10.19
✎
13:26
|
Запрети запуск второго экземпляра обработки.
|
|
4
Wefast
08.10.19
✎
13:26
|
да база серверная
|
|
5
Wefast
08.10.19
✎
13:27
|
(3) и как это отследить?
|
|
6
Tonik992
08.10.19
✎
13:29
|
Блокировку поставь на диапозон даты.
|
|
7
H A D G E H O G s
08.10.19
✎
13:29
|
(5) Служебный справочник с предопределенными элементами на все случаи жизни, например
Справочник.АСФОбъектыВариантовОбменаДляБлокировки
и элементы:
ОбменСWMS
ОбменСOmobus
И при начале обработки
Попытка
ЗаблокироватьДанныеДляРедактирования(Ссылка);
Исключение
КонецПопытки
|
|
8
Мимохожий Однако
08.10.19
✎
13:29
|
(5) Лобовой вариант: при открытии или запуске проверять наличие запущенного фонового задания.
|
|
9
H A D G E H O G s
08.10.19
✎
13:31
|
В Исключении тебе даже покажет пользователя, который уже работает с обработкой
Но вообще, странно, что блокировка не срабатывает.
|
|
10
Wefast
08.10.19
✎
13:38
|
Да кажется я не там ее вызвал. Да, спасибо за варианты
|
|