Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Блокировка документов при работе обработки

Блокировка документов при работе обработки
Я
   Wefast
 
08.10.19 - 13:21
Есть обработка которая создает документы пачкой.
Мне нужно что бы последовательность этих документов не была нарушена, если к примеру кто то еще запустит эту обработку.

Т.е. по факту мне нужно запретить пользователям только создавать новые документы

Пишу:

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

Справочник.АСФОбъектыВариантовОбменаДляБлокировки

и элементы:

ОбменСWMS
ОбменСOmobus

И при начале обработки

Попытка
ЗаблокироватьДанныеДляРедактирования(Ссылка);
Исключение
КонецПопытки
   МимохожийОднако
 
8 - 08.10.19 - 13:29
(5) Лобовой вариант: при открытии или запуске проверять наличие запущенного фонового задания.
   H A D G E H O G s
 
9 - 08.10.19 - 13:31
В Исключении тебе даже покажет пользователя, который уже работает с обработкой


Но вообще, странно, что блокировка не срабатывает.
   Wefast
 
10 - 08.10.19 - 13:38
Да кажется я не там ее вызвал. Да, спасибо за варианты

Список тем форума
Рекламное место пустует  Рекламное место пустует
AdBlock убивает бесплатный контент. 1Сергей
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.