Точка обслуживания Microsoft - обработка ошибок PosPrinter TransactionPrint

Я имею дело с приложением C#, которое автоматически печатает заказы на еду и напитки на принтер Epson после того, как товары были запрошены через терминал заказов.

Принтер является локальным и настроен на терминале в интерфейсе драйвера EPSON OPOS ADK Version2.68E.

Код использует класс Microsoft.PointOfService.PosPrinter для взаимодействия с принтером.

Логика печати заключена в транзакцию с использованием метода экземпляра PosPrinter TransactionPrint.

Существует логика, которая перехватывает любые исключения, выданные методом TransactionPrint, и если выбрасывается исключение, предполагается, что печать не работает. Однако это не всегда так, например, если сетевой кабель отключен от принтера до того, как вызов метода TransactionPrint вернет билет, печать завершена, но в коде возникло исключение, поэтому при повторной печати кода создается дубликат.

Кто-нибудь знает, как определить, удалось ли распечатать, даже если возникло сетевое исключение? Я просмотрел все свойства объекта PosPrinter, но не вижу ничего, что могло бы помочь. Мне нужен способ определить, сработала ли печать, а затем пометить заказ как распечатанный, чтобы избежать дублирования билетов.

0 ответов

Другие вопросы по тегам