用于.Net支票打印的POS

时间:2009-07-16 20:50:50

标签: c# .net point-of-sale opos pos-for-.net

我们目前已完全实施支票打印,并在现场为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!

3 个答案:

答案 0 :(得分:1)

以下组合修复了该问题:

  • 为用户提供更好的屏幕提示和动画(以及更好的培训)
  • 发现这家商店有一个旧版本的OPOS(我们升级了它们)
  • 我们从支票打印流程中删除了交易打印(虽然我们仍在收据上使用它)
一般来说,OPOS可能相当笨,我建议尝试不同的版本。我们尝试了最新版本(2.6版本),但情况更糟,但EPSON OPOS ADK 2.5 SP 10似乎在我们的环境中最稳定。

答案 1 :(得分:0)

如果我是你,我只需在打印机上安装一个塑料盖,这样他们就不能快速抓住支票。 :)

答案 2 :(得分:0)

拧入灯泡需要多少程序员?

无,这是硬件问题。

我喜欢斯宾塞关于防范这种情况的警卫的想法 - 除非硬件理解这个问题,否则在软件中你可能无法做任何事情来修复它。你提到当它确实发生时,你必须坚持检查,以便它可以吐出来,重置机器。那里有一个培训问题,需要大量检查大小的空白纸条。