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