0
Гений 1С
гуру
24.11.22
✎
16:05
|
В мобильной кассе (МК) при пробитии чека он через http-сервис дергает главную базу (1С:Розница, например, далее Р) и там пробивает чек.
Соответственно, МК ждет какое-то время, чтобы чек пробился.
Если чек не пробивается, то РМК на МК закрывают и там в коде прописано явный перевод чека в отложенный или аннулированный:
ИначеЕсли СтатусЧека = "Отменен" Тогда
Если ЧекОбъект.СтатусОплаты = Перечисления.СтатусыОплатыЧека.Оплачен
ИЛИ ЧекОбъект.СтатусОплаты = Перечисления.СтатусыОплатыЧека.ОплаченЧастично Тогда
ЧекОбъект.СтатусЧека = Перечисления.СтатусыЧеков.Отложен;
Иначе
ЧекОбъект.СтатусЧека = Перечисления.СтатусыЧеков.Аннулирован;
КонецЕсли;
ЧекОбъект.Записать(РежимЗаписиДокумента.Запись);
После этого, когда чек пробьется в Р, он придет в кассу как пробитый.
Но есть один нюанс - если пользователь закроет РМК в МК после того, как придет информация о пробитом чеке, то чек будет анулированным или отложенным.
Выход вижу в том, чтобы несколько раз регистрировать пробитый чек в Р в плане обмена (часов 5 после пробития), чтобы он гарантированно дошел до МК.
Если бы в МК не отменяла уже пробитый чек, было бы конечно, лучше.
Или как-то по другому можно решить проблему
|
|