Имя: Пароль:
1C
1С v8
УТ11.4 2 раза чек пробивает
0 GhostIrviWolf
 
19.10.18
02:45
Дотянули клиенту 1С до 11.4.5 версии. База файловая, работают 2 человека (оператор и кассир), работают на сервере через RDP. Всё нормально, ошибок никаких не было. Однако, всплыла такая трабла. Из РМК, кассир пробивает чек. Чек на фискальнике пробивается. А в 1С пишет ошибку блокировки транзакции или документа (простите, не могу дословный текст привести, не сохранил). В результате, чек остается на экране как не пробитый. Кассир пробивает заново, ОПЯТЬ выходит чек из ФР и чек нормально записывается в 1С. В результате мы имеем 2 одинаковых пробитых чека на ФР (задвоение выручки), а в 1С ошибку при открытие чеков "Поле "Номер" не уникально" (как я понял при построения списка, 1 одинаковый чек, с 2мя номерами "Номер чека ККТ")
Ну и естественно консолью запросов ловим и ищем чек ккм и т.д. А потом через тест драйвера на аппарате делаем возврат лишней суммы.
Проблема выходит у 2х клиентов. Сама же проблема возникает 2-3 раза на неделе, т.е. не получается её специально сделать и разобраться. В старой УТ 11.4.4 такой проблемы не было. Поиск не дал ничего путного.
Может кто сталкивался с такой проблемой и как решили?
1 Галахад
 
гуру
19.10.18
08:02
Всего-то. Надо исключить возникновение "блокировки транзакции".
2 yzimin
 
19.10.18
09:09
Начните с ТиИ. Смотрите, что у вас там доработано.

сервер мини не хочется советовать ради 2-х юзеров, но 100% поможет.
3 GhostIrviWolf
 
19.10.18
09:19
(1) Я так понимаю, так как проблема не постоянная, то копать и искать при помощи журнала, так?

(2) ТиС чист. Что за сервер мини? В смысле перевести на скуль?
4 Сияющий в темноте
 
19.10.18
09:29
Если через Рдп теряется связь,то 1с никак не может узнать о том,что чек пробит,и ждет таймаута обмена с кассой,и,видимо,там еще в коде что то криво по этому поводу,раз он свою же транзакцию блокирует.

Вообще то,если в чеке получили номер чекп от фискального регистратора,то чек уже пробит,и повторно его пробивать ни е чему,то есть в код нужно дописывать проверку.

И,в блокировке транзакции минисервер ничем не поможет,кроме как узнать,какая запись заблокирована.
5 GhostIrviWolf
 
19.10.18
10:18
(4) Дописывать проверку не вариант. Конфиги то типовые, с поддержки не снятые. Это из разряда "Сделать танк и допилить напильником до самолета"
Насчет теряют связь, но ведь до этого около года работали, не было такой проблемы. А вот обновили, и сюрприз!
6 Галахад
 
гуру
19.10.18
10:27
(3) Описание проблемы:
1С отправил на ККМ команду.
ККМ отправил в ответ номер чека.
1С заполняет реквизит "номер чека" и
- должна записать документ
- создать новый документ и очистить форму
Поскольку возникает "блокировки транзакции", то документ не записывается, новый не создается и форма не очищается.

Решение проблемы:
Вариант 1. Не допускать "блокировки транзакции"
Вариант 2. Ставить после получения номера из ККМ, делать форму не доступной для редактирования.
7 piter3
 
19.10.18
10:28
(6)он не хочет править конфу
8 Галахад
 
гуру
19.10.18
11:04
(7) Уважаю его выбор. Программист должен быть ленив.
9 yzimin
 
19.10.18
11:16
(4) почему клиент-сервер не поможет? у него другие принципы блокировки таблиц и записей в сравнении с файловой
10 GhostIrviWolf
 
19.10.18
11:42
(6) Я понимаю что проблема в блокировке. Вот только я не могу понять, почему она происходит и как бы обнаружить что блокирует транзакцию.
(8) Я пока не программист, а мастер универсал. В стиле знать должен все и ничего. Поэтому в коде я скорее дров наломаю, да еще и с поддержки сниму. Я конечно понимаю, что конфа типовая, не гарантирует работу "из коробки", на практике уже понятно. Но надежда то, всегда есть.
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший