Цитата |
---|
Эти сообщения выводит внешняя обработка Ksb02K_chonline.ert |
Не соглашусь, данную обработку не использую вообще, т.к. конфигурация полностью самописная.
По поводу "открытого чека".
В целом задача - обрабатывать "Ошибку интерфейса с ККМ" периодичеси возникающюю при исполнении методов:
1. ВыделитьПорт()
2. ПечатьЧека()
Первый решается просто, в случае ошибки вытаемся выделить еще раз/два/три (обычно на второй попытке срабатывает). Ошибка, при исполнении метода, на ККМ никак не отражается, это хорошо тем, что ненадо разбиратья с последствиями этой ошибки.
С методом ПечатьЧека() сложнее, т.к. в случае ошибки возможны разные варианты состояния, в котором окажется ККМ:
а) ошибка в начале загрузки чека в ККМ:на табло исходное состояние, чек не напечатан
б) ошибка в процессе загрузки чека в ККМ: на табло висит "Подождите", чек не напечатан
г) на табло сумма чека, чек реально напечатан
д) !!! чек загрузился в ККМ, но ошибка при печати чека, (чек не напечатан), и если повторно послать
ПечатьЧека(), то ККМ выдаст "открытый чек" и встанет => кассир в трансе.
Решение:
а)б)г) дополнительно проверяем по логу компоненты был ли напечатан чек в действительности (кстати какие строчки в логе дают 100% что чек был напечатан??), если нет то повторное исполнение ПечатьЧека().
д) надо программно удалить/сбросить предыдущий недопечатанный чек, но как??