На главную страницу Версия-Т
VTSoft.ru

Чек online для Касби02к и модальные окна


RSS
Чек online для Касби02к и модальные окна
 
Копонента чек online для Касби02к на некотрые ошибки при своей работе выдает модальные окна с текстом, можно узнать на какие точно ошибки это окно выдается? И можно ли их отключить (окна) и получать ошибку через ПолучитьТекстОшибки ()

 
Модальное окно с ошибкой компонента выводит только в двух случаях:
1. Если при инициализации компоненты не удается загрузить драйвер ККМ ChonKasbiLibW.dll.
2. Если при инициализации компоненты не найден ключ защиты.
Вывод этих сообщений, по нашему мнению, должен быть именно в модальных окнах. Все остальные ошибки возвращаются через соответствующие свойства компоненты.
 
если
Цитата
при инициализации компоненты

это когда я при старте 1с один раз загружаю компоненту ЗагрузитьВнешнююКомпоненту("Ksb02K1cChon.dll"), тогда ладно. Но окна выскакивают и при ошибках в методах ВыделитьПорт() и ПечатьЧека(), там их хотелось бы самому обработать "по тихому".
Кстати "Вывод чека был отменен", тоже в модальном окне.
И еще ворос: можно ли через компоненту удалить/сбросить предыдущий недопечатанный чек (сообщение на экране ККМ "открытый чек").
Спасибо!
 
Цитата
окна выскакивают и при ошибках в методах ВыделитьПорт() и ПечатьЧека(), там их хотелось бы самому обработать "по тихому".
Кстати "Вывод чека был отменен", тоже в модальном окне.


Эти сообщения выводит внешняя обработка Ksb02K_chonline.ert, как результат анализа свойства ошибки компоненты. Модальное окно компонента выводит сама только в двух указанных выше случаях.

Цитата
И еще ворос: можно ли через компоненту удалить/сбросить предыдущий недопечатанный чек (сообщение на экране ККМ "открытый чек").


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