Seite 1 von 1
le.Bon drucken (F8)
Verfasst: Di 23. Dez 2014, 16:49
von MrFoxdata
Hallo,
ich verwende einen Kassenbondrucker Metapace per USB als Windowsdrucker.
Kann es sein, dass bei einem Bondrucker der mit Windows angesteuert wird, die F8-Taste (le.Bon drucken) nicht funktioniert?
Drucken eines Bons funktioniert weiters generell nur wenn der Druckdialog aufgerufen wird.
Wenn "Druckdialog anzeigen" nicht, und "Sofort drucken" schon angehakt ist, kommt kein Bon raus.
Hab ich was falsch eingestellt, oder ist das so?
Re: le.Bon drucken (F8)
Verfasst: Do 1. Jan 2015, 21:20
von prmprm
Hallo Willi,
Soweit ich mich erinnern kann, wird bei F8 "letzter Bon drucken" nur eine bestimmte ESC-Sequenze an den Bondrucker geschickt und die hat die Bedeutung "druck den letzten Bon nochmal" (X0A = LF "Prints the data in the print buffer and feeds one line based on the current line spacing.")
Der Buffer wird dann zu Beginn eines neuen Bons geleert mit (x1B x40 = ESC @ "Clears the data in the print buffer and resets the printer modes to the modes that were in effect when the power was turned on.") und anschließend werden Parameter wie Character Font, Justification bzw. Print Mode neu gesetzt, die Schublade geöffnet und der Buffer mit den Daten für den neuen Bon gefüllt und am Ende gedruckt und das Papier ein paar Zeilen vorgeschoben (z.B. 7) mit x1B x64 x07 und dann komplett abgeschnitten (z.B. mit x1D x56 x00).
Da der Buffer noch gefüllt ist, ist es möglich, den letzten Bon nochmals zu drücken.
(Im Moment sitze ich an einem Rechner ohne Bondrucker und kann es nicht testen, aber ich vermute fast, dass es sogar mehrfach möglich sein müsste, den letzten Bon nochmals zu drucken, da erst mit dem Beginn eines neuen Bons der alte Inhalt aus dem Buffer gelöscht wird.)
So, die Antwort bezog sich auf seriellen Anschluss und ich glaube nicht, dass der "normale" Windows-Druckertreiber das auch kann. Gibt es für den Drucker eventuell einen OPOS-Treiber? Dann probiere es mal mit dem.
Viele Grüße
Martin
Re: le.Bon drucken (F8)
Verfasst: Fr 2. Jan 2015, 00:52
von MrFoxdata
Hallo Martin,
danke für deine Infos!
Ich verstehe jetzt.
Der Bonnachdruck wird also von CAO-Kasse nur ausgelöst und vom Bondrucker durchgeführt.
Re: le.Bon drucken (F8)
Verfasst: Fr 2. Jan 2015, 08:05
von hh-cm
Hallo,
Der Bonnachdruck wird also von CAO-Kasse nur ausgelöst und vom Bondrucker durchgeführt.
Das ist so nicht richtig.
Die ESC Sequenzen werden nicht Zeichen für Zeichen an den Drucker gegeben und werden auch nicht im Drucker gespeichert oder gepuffert.
Beim Drucken wird im CAO Temp Ordner eine Datei angelegt ( BON_xxx.TMP ) die das komplette Layout inkl. Text und Steuerzeichen enthält. Diese wird dann an den Drucker gesendet.
Daher kann man den Bon nachdrucken. Solange bis man einen neuen Beleg druckt, dann wird diese Temp Datei überschrieben.
Dies funktioniert leider nur über Bondrucker die direkt mit Port angesteuert werden. Also nicht über Windows Treiber.
Re: le.Bon drucken (F8)
Verfasst: Fr 2. Jan 2015, 10:34
von MrFoxdata
MrFoxdata hat geschrieben:
Wenn "Druckdialog anzeigen" nicht, und "Sofort drucken" schon angehakt ist, kommt kein Bon raus.
Hallo,
Ah, o.k. Danke!
Hast du vielleicht noch eine Idee, warum der Bondruck bei einem Windowsdrucker ohne Druckdialog nicht funktioniert?
Re: le.Bon drucken (F8)
Verfasst: Fr 2. Jan 2015, 13:00
von hh-cm
Also im Code steht übersetzt.
Wenn (im Setup der Haken Sofort Drucken aktiv ist) und (Der Benutzer das Recht hat zu Drucken) dann
Entweder Sofort Drucken oder den Druckdialog anzeigen (Wenn dies im Setup so eingestellt ist)
Ist denn Bondrucker verwenden im Setip aktiv? Formular und Drucker im Setup ausgewählt?
Falls ja wird das ein Bug sein.
Re: le.Bon drucken (F8)
Verfasst: Fr 2. Jan 2015, 13:19
von prmprm
Hallo Chris,
danke für die Aufklärung, ich glaube aber dass die Daten trotzdem
auch im Drucker-Speicher stehen...
Egal. Hasst du eine Erklärung dafür, dass im TMP-Verzeichnis von CAO mehrere BON_xx.tmp Dateien stehen von unterschiedlichen Tagen (Jahren), aber fortlaufende(?) Nummer paßt nicht zum Dateidatum und hat auch Lücken, wenn doch gilt:
hh-cm hat geschrieben:Daher kann man den Bon nachdrucken. Solange bis man einen neuen Beleg druckt, dann wird diese Temp Datei überschrieben.
??
Woher weiß CAO, welches der letzte Bon ist? Bzw. wo steht die Nummer in der Datenbank? Und könnte man dann theoretisch den letzten Bon editieren und dann verändert nachdrucken? (Habe hier vor Ort leider keinen Bondrucker zum Testen).
Danke & viele Grüße
Martin
Re: le.Bon drucken (F8)
Verfasst: Fr 2. Jan 2015, 13:53
von hh-cm
Die Nummer ist die sogenannte TermId. Ist also abhängig vom angemeldeten Benutzer. Steht auch irgendwo in der Registry Tabelle. Und ja, es ist eigentlich möglich einen editierten Bon nachzudrucken.