我们目前已完全实施支票打印,并在现场为POS应用程序。它在Windows上运行,在C#中实现,并使用POS用于.Net。
我们遇到一个问题,即收银员过于急切,并在结束邮资之前大约抽出支票。
如果在打印过程中取出支票,我们无法让打印机停止接受支票。滑动LED指示灯闪烁并将进行检查,直到成功调用BeginRemoval()和EndRemoval(),这是不可能发生的,除非您检查它是否向后吐出。
我想知道是否有办法在没有检查时禁止打印机进行检查。我假设只有一种我们没有正确调用的方法。
具体问题是,如果调用BeginInsertion()和EndInsertion(),则两者都成功,并且在应用程序可以调用BeginRemoval()/ EndRemoval()之前删除检查。
有没有人有C#,C ++,VB或任何语言的工作示例?我需要一个插入检查,打印,等待删除以正确处理错误的示例。
*更新:我将此问题转发给爱普生,并要求提供示例应用。他们无法生产一个,但我指的是一个可以在TM-H6000系列上工作的DirectIO()调用来取消滑动插件。但是,我没有得到这个。希望我们能够弄清楚并发布修复。
*更新2:Epson回复了一些可能解决问题的DirectIO()操作。但是,在尝试调用DirectIO()时,我一直收到ErrorCode.Illegal。有没有人使用可在旧设备上运行的DirectIO()的示例?
应该有效的代码:
_printer.DirectIO(121, 0, null); //121 is a constant for EPSON_DI_HARDWARE_RESET
更新3:BOUNTY!
答案 0 :(得分:1)
以下组合修复了该问题:
答案 1 :(得分:0)
如果我是你,我只需在打印机上安装一个塑料盖,这样他们就不能快速抓住支票。 :)
答案 2 :(得分:0)
拧入灯泡需要多少程序员?
无,这是硬件问题。
我喜欢斯宾塞关于防范这种情况的警卫的想法 - 除非硬件理解这个问题,否则在软件中你可能无法做任何事情来修复它。你提到当它确实发生时,你必须坚持检查,以便它可以吐出来,重置机器。那里有一个培训问题,需要大量检查大小的空白纸条。