|
Блокировка данных блокирует неправильно?
|
Я
|
|
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 | Зачем гадать, когда можно посмотреть явно что блокируется?
|
mikecool 8 - 03.02.21 - 08:07 | ( 6) какой режим блокировки у регистра и у документа? |
maxipunchik 9 - 03.02.21 - 08:10 | В общем, это всё пробелы в теории и невнимательность. Дело в том, что я открывал уже проведенный документ со складом из первого дока, менял склад и перепроводил. При этом в коде очищались движения, а так как они были по старому складу, документ блокировался. Снял документы с проводок и повторил эксперимент, всё заблокировалось как надо.
|