Имя: Пароль:
1C
1С v8
Пакетное создание документов с сохранением последовательности
0 Wefast
 
23.10.19
14:27
Есть обработка, которая создает пачку документов.

Документы должны идти по порядку.

Бывает пользователь в момент работы обработки создает руками документ и он "рушит" последовательность.

Было написано вот так:

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

    Для каждого Строка из ТаблицаДляВывода цикл
        СоздатьМойДокумент(Строка,КоличествоПродукцииВерхнегоУровня);
    КонецЦикла;
    
    Попытка
        ЗафиксироватьТранзакцию();
    Исключение
        ОтменитьТранзакцию();
    КонецПопытки;

Мне кажется тут либо блокировка лишняя, либо транзакция.

Т.е. если оставить только транзакцию, разве не будут документы записаны разом, исключая возможность вклинится какому то пользователю.

Или блокировать документы перед "ЗафиксироватьТранзакцию()".
1 Жан Пердежон
 
23.10.19
16:16
нет, не будут