2009-07-16 9 views
2

Wir haben derzeit Scheckdruck vollständig implementiert und im Feld für eine POS-Anwendung. Es läuft unter Windows, ist in C# implementiert und verwendet POS für .Net.POS für .Net Scheckdruck

Wir haben ein Problem, wo Kassierer sind zu eifrig und ziehen Sie den Scheck eine Sekunde oder so, bevor es fertig ist zu frankieren.

Wenn der Scheck während des Druckvorgangs herausgezogen wird, können wir den Drucker nicht dazu bringen, keine Schecks mehr anzunehmen. Die Schlupf-LED-Anzeige blinkt und führt Prüfungen durch, bis ein Aufruf von BeginRemoval() und EndRemoval() erfolgreich aufgerufen wird, was nicht passieren kann, es sei denn, Sie checken ein, um es wieder auszuspucken.

Ich frage mich, ob es eine Möglichkeit gibt, den Drucker von einer Überprüfung zu deaktivieren, wenn kein Scheck vorhanden ist. Ich nehme an, dass es nur eine Methode gibt, die wir nicht korrekt aufrufen.

Konkret ist das Problem, wenn Sie BeginInsertion() und EndInsertion() aufrufen, beide erfolgreich, und die Prüfung wird entfernt, bevor die Anwendung BeginRemoval()/EndRemoval() aufrufen kann.

Hat jemand ein funktionierendes Beispiel in C#, C++, VB oder irgendeiner anderen Sprache? Ich brauche ein Beispiel für das Einfügen einer Prüfung, Drucken, Warten auf Entfernung, die Fehler richtig behandelt.

* UPDATE: Ich habe dieses Problem an Epson weitergeleitet und nach einer Beispielanwendung gefragt. Sie waren nicht in der Lage, einen zu erzeugen, sondern verwiesen auf einen DirectIO() - Aufruf, der angeblich auf der TM-H6000-Reihe funktioniert, um einen Beleg-Einschub zu löschen. Ich habe das jedoch nicht zur Arbeit gebracht. Hoffentlich werden wir es herausfinden und den Fix veröffentlichen.

* UPDATE 2: Epson hat mit einigen DirectIO() - Operationen geantwortet, die das Problem beheben sollen. Allerdings erhalte ich immer ErrorCode.Illegal, wenn ich DirectIO() aufrufen möchte. Jeder hat ein Beispiel für die Verwendung von DirectIO(), die auf einem Legacy-Gerät funktioniert?

Der Code, der funktionieren sollte:

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

UPDATE 3: BOUNTY!

Antwort

1

Eine Kombination aus dem festen Anschluss an die Ausgabe:

  • Bessere Bildschirmanweisungen und Animationen für den Benutzer (sowie eine bessere Ausbildung)
  • dieser Speicher Entdeckt eine ältere Version von OPOS hatte (wir sie aufgerüstet)
  • wir Transaktionsdruck aus dem Kontrolldruckverfahren entfernt (obwohl wir es noch auf Quittungen verwenden)

OPOS- im allgemeinen ziemlich dumm sein kann, ich recommen d verschiedene Versionen ausprobieren. Wir haben das neueste (Version 2.6) ausprobiert und es war schlimmer, aber das EPSON OPOS ADK 2.5 SP 10 scheint das stabilste in unserer Umgebung zu sein.

+0

hallo, kannst du bitte post code, ich brauche deine hilfe beim drucken mit bixolon SRP-275 mit C# (Microsoft Point Of Service) oder OPON. Hier ist die Treiber-Download-Seite http://www.bixolon.com/html/en/download/download_product.xhtml?prod_id=11 – Smith

+0

Meine Firma bietet Beratung, wo wir Ihnen mit dieser Sache etwas weiterhelfen können, da Stackoverflow isn Es ist der richtige Ort. Kontaktieren Sie uns [hier] (http://www.hitcents.com/contact). – jonathanpeppers

0

Wenn ich Sie wäre, würde ich einfach eine Plastikabdeckung auf dem Drucker installieren, damit sie den Scheck nicht so schnell greifen können. :)

+0

Ich bin nicht sicher, ob das funktionieren würde, müssen Sie den Drucker möglicherweise sehen. Es ist ein Epson TM-H6000III, unser derzeitiges Setup basiert im Grunde genommen auf einem Zähler. Ich glaube, es ist ein Implementierungsproblem, das reparierbar ist. Hoffentlich hat jemand da draußen eine Überprüfung implementiert. Sie können das gleiche Problem in einer älteren Version unserer Software sehen, die das COM-Objekt für OPOS anstelle von POS für .Net verwendet, wir erhalten auch dasselbe Ergebnis mit verschiedenen Druckern. – jonathanpeppers

+0

Link zum Drucker: http://pos.epson.com/products/TM-H6000III.htm – stukelly

0

Wie viele Programmierer braucht man, um eine Glühbirne einzuschrauben?

Keine, es ist ein Hardwareproblem.

Ich mag Spencers Idee eines Wächters, dies zu verhindern - es sei denn, die Hardware versteht dieses Problem, es gibt wahrscheinlich nichts, was Sie in Software tun können, um es zu beheben. Sie erwähnen, dass, wenn es passiert, Sie einen Scheck einstecken müssen, so dass es wieder ausgespuckt werden kann, die Maschine zurückstellend. Dort haben Sie ein Schulungsproblem und brauchen eine Menge Scheck-sized, leere Zettel.

+0

Ich habe gerade mit anderen POS-Anwendungen gearbeitet und sie können irgendwie damit umgehen ... Also, wenn jemand da draußen gemacht hat es funktioniert, ich nehme an, dass wir es auch können. – jonathanpeppers