2

我们目前已完全实施支票打印并在现场用于 POS 应用程序。它在 Windows 上运行,用 C# 实现,并使用 .Net 的 POS。

我们遇到了一个问题,收银员太急于在支票完成盖印前一秒钟左右取出支票。

如果支票在打印过程中被拉出,我们无法让打印机停止接受支票。滑动 LED 指示灯闪烁并进行检查,直到成功调用 BeginRemoval() 和 EndRemoval() 为止,除非您签入以使其立即吐出,否则不会发生这种情况。

我想知道是否有办法在没有支票时禁用打印机想要支票。我假设只有一个我们没有正确调用的方法。

具体来说,问题是如果您调用 BeginInsertion() 和 EndInsertion(),两者都成功,并且在应用程序可以调用 BeginRemoval()/EndRemoval() 之前删除检查。

有没有人有 C#、C++、VB 或任何语言的工作示例?我需要一个插入支票、打印、等待删除以正确处理错误的示例。

*更新:我将此问题转发给爱普生,并要求提供示例应用程序。他们还没有生产出一个,但向我指出了一个 DirectIO() 调用,据称该调用适用于 TM-H6000 系列以取消滑动插入。但是,我还没有让这个工作。希望我们能弄清楚并发布修复程序。

*更新 2:爱普生回复了一些 DirectIO() 操作,据说可以解决问题。但是,在尝试调用 DirectIO() 时,我不断收到 ErrorCode.Illegal。任何人都有在旧设备上使用 DirectIO() 的示例?

应该工作的代码:

_printer.DirectIO(121, 0, null); //121 is a constant for EPSON_DI_HARDWARE_RESET

更新 3:赏金!

4

3 回答 3

1

以下组合解决了该问题:

  • 为用户提供更好的屏幕提示和动画(以及更好的培训)
  • 发现这家商店有旧版本的 OPOS(我们升级了它们)
  • 我们从支票打印过程中删除了交易打印(尽管我们仍然在收据上使用它)

一般来说,OPOS 可能非常愚蠢,我建议尝试不同的版本。我们尝试了最新的(2.6 版),但情况更糟,但 EPSON OPOS ADK 2.5 SP 10 似乎在我们的环境中最稳定。

于 2009-08-03T13:47:23.940 回答
0

如果我是你,我会在打印机上安装一个塑料盖,这样他们就不能这么快拿到支票。:)

于 2009-07-16T20:57:48.967 回答
0

拧上一个灯泡需要多少程序员?

没有,是硬件问题。

我喜欢 Spencer 的保护措施来防止这种情况的想法——除非硬件理解这个问题,否则你可能无法在软件中做任何事情来解决它。你提到当它确实发生时,你必须签入,这样它就可以被吐出来,重置机器。你有一个培训问题,需要大量支票大小的空白纸条。

于 2009-07-16T21:04:59.810 回答