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

Блокировка данных блокирует неправильно?

Блокировка данных блокирует неправильно?
Я
   maxipunchik
 
03.02.21 - 06:20
Серверная база. Установил блокировку на регистр накопления с указанием отборов по номенклатуре и складу и остановил на точке после блокировки, в другом сеансе попытался провести документ с другой номенклатурой и другим складом, но документ не провелся, а завис, ожидая окончания проводки первого документа. Кто знает в чем может быть проблема, почему не провелся второй документ?

Вот код блокировки:

    Блокировка = Новый БлокировкаДанных;
    ЭлементБлокировки = Блокировка.Добавить("РегистрНакопления.ОстаткиТоваровНаскладах");
    ЭлементБлокировки.Режим = РежимБлокировкиДанных.Разделяемый;
    ЭлементБлокировки.УстановитьЗначение("Склад", СкладОтправитель);
    ЭлементБлокировки.ИсточникДанных = СписокМатериалов ;    
    ЭлементБлокировки.ИспользоватьИзИсточникаДанных("Товар", "Номенклатура");
    Блокировка.Заблокировать();
   ДенисЧ
 
1 - 03.02.21 - 06:25
Значит, не всё заблокировал. Есть ещё что-то
   maxipunchik
 
2 - 03.02.21 - 06:37
(1) В каком смысле не всё? Мне больше и не надо. Наоборот идет избыточное блокирование как-будто
   maxipunchik
 
3 - 03.02.21 - 06:44
Судя по отладке, во втором документе зависает на строке Блокировка.Заблокировать()
   maxipunchik
 
4 - 03.02.21 - 06:59
Да, режим ставил и Исключительный и Разделяемый
   maxipunchik
 
5 - 03.02.21 - 07:07
Пока сам себе отвечал, нашел ответ на свой вопрос. Проблема была в том, что вначале процедуры очищал движения запистю:
Движения.ОстаткиТоваровНаскладах.Записать();
   maxipunchik
 
6 - 03.02.21 - 07:30
Поторопился, Всё равно блокирует весь регистр
   TormozIT
 
7 - 03.02.21 - 07:42
Зачем гадать, когда можно посмотреть явно что блокируется?
http://devtool1c.ucoz.ru/_si/0/71400900.jpg
http://devtool1c.ucoz.ru/index/analiz_tekhnozhurnala/0-16
   mikecool
 
8 - 03.02.21 - 08:07
(6) какой режим блокировки у регистра и у документа?
   maxipunchik
 
9 - 03.02.21 - 08:10
В общем, это всё пробелы в теории и невнимательность. Дело в том, что я открывал уже проведенный документ со складом из первого дока, менял склад и перепроводил. При этом в коде очищались движения, а так как они были по старому складу, документ блокировался. Снял документы с проводок и повторил эксперимент, всё заблокировалось как надо.

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