現在、チェック印刷が完全に実装されており、POSアプリケーションのフィールドにあります。Windowsで実行され、C#で実装され、POSfor.Netを使用します。
レジ係が熱心すぎて、フランキングが完了する1秒ほど前に小切手を引き出すという問題があります。
印刷プロセス中に小切手が引き出された場合、プリンターに小切手の受け入れを停止させることはできません。スリップLEDインジケーターが点滅し、BeginRemoval()とEndRemoval()の呼び出しが正常に呼び出されるまでチェックを行います。これは、チェックインしてすぐに吐き出さない限り発生しません。
チェックがないときにプリンターがチェックを必要としないようにする方法があるかどうか疑問に思いました。正しく呼び出していないメソッドがあるだけだと思います。
特に問題は、BeginInsertion()とEndInsertion()を呼び出すと、両方とも成功し、アプリケーションがBeginRemoval()/ EndRemoval()を呼び出す前にチェックが削除されることです。
誰かがC#、C ++、VB、またはそのことに関する任意の言語で実用的な例を持っていますか?チェックを挿入し、印刷し、エラーを適切に処理する削除を待つ例が必要です。
*更新:この問題をEpsonに転送し、サンプルアプリを要求しました。彼らはそれを作成することができませんでしたが、スリップインサートをキャンセルするためにTM-H6000シリーズでおそらく機能するDirectIO()呼び出しを私に指摘しました。しかし、私はこれを機能させることができませんでした。うまくいけば、私たちはそれを理解し、修正を投稿します。
*更新2:エプソンは、おそらく問題を修正するいくつかのDirectIO()操作で応答しました。ただし、DirectIO()を呼び出そうとすると、ErrorCode.Illegalが発生し続けます。レガシーデバイスで動作するDirectIO()の使用例はありますか?
動作するはずのコード:
_printer.DirectIO(121, 0, null); //121 is a constant for EPSON_DI_HARDWARE_RESET
更新3:報奨金!