Имя: Пароль:
1C
 
1С УТ блокировка данных
0 nikast
 
03.12.19
12:09
Всем привет, есть 1с УТ.
Есть два проведенных документа ЧекККМ. У документов Есть реквизит НомерЧекаККМ.
У первого документа номер заполнен, а у второго нет.
В модуле документа есть процедура ОбработкаПроведения() в которой я ставлю брекпоинт.

Если я провожу первый документ с номером и останавливаюсь в середине процедуры проведения. То в других сеансах ни один документ не открывается и разумеется не проводится.

Если я провожу второй документ без номера, то все наоборот все документы открываются и проводятся.

Как же блокирует SQL сервер записи и какие ?
Режим блокировки - автоматический.
1 ДенисЧ
 
03.12.19
12:11
Индекс по полю НомерЧекаККМ есть?
2 nikast
 
03.12.19
12:12
(1) Посмотрел - Не индексировать
3 hhhh
 
03.12.19
12:33
вроде НомерЧекаККМ это не в документе, а в регистре сведений
4 nikast
 
03.12.19
12:37
(3) да нет, у меня реквизит в чеке, просто конфа старая.
5 nikast
 
03.12.19
12:39
Мне тут отвечал один форумчанин под ником:   d4rkmesa

Скорее всего, блокирует таблицы с документами, где есть реквизит НомерЧекаККМ - там довольно тяжелый запрос. Хотя, в последних релизах вроде реквизит перенесли в регистр сведений (Фискальные операции). Но скорее всего, этот запрос не нужен вовсе, т.к. номер чека обычно получают из ККМ. Я бы просто закомментировал вызов процедуры (к примеру, в не самой новой УПП это КассовыеСменыВызовСервера.ТекущийНомерЧека), в документе ЧекККМ там что-то вроде:

ОбщиеПараметры.НомерЧека = КассовыеСменыВызовСервера.ТекущийНомерЧека(ДопДанные.ОписаниеПКС) + 1;

Но я ничего подобного не нашел :(