Anpassungen #
ESC-Sequenz für Kassenschublade #
Ab EULANDA Version 7 wird am Ende des Kassier-Vorgangs automatisch ein Befehl zum Öffnen der Kassenschublade an den Drucker gesendet. Hierbei handelt es sich um den von Epson entwickelte ESCPOS® Standard.
Achtung
Die typischen Druckertreiber unterstützen dieses Verfahren i.d.R. nicht beim Druck aus einer Terminal-Server- oder RDP-Sitzung (Remote Desktop) heraus. Das automatische Öffnen der Kassenschublade ist dann auf diesem Weg nicht möglich.
Einzelheiten zum Aufbau der Escape-Sequenzen entnehmen Sie bitte der entsprechenden Dokumentation von Epson („FAQ about ESC/POS®“).
EULANDA® übergibt standardmäßig folgende Sequenz:
ESC,'p',0,60,120
Die Sequenz kann bei Bedarf pro Kasse abgeändert werden. Die entsprechende Einstellung wird in der SQL-Registry vorgenommen. Die SQL-Registry erreichen Sie über die Schnellstartleiste „Systemverwaltung“. Öffnen Sie folgenden Registry-Ordner (auch Schlüssel genannt):
\MODULES\Kasse\Kassen\<Name der Kasse>\
Dort legen Sie über das Menü „Bearbeiten“ / „Neu“ / „Zeichenfolge“ einen neuen Wert an und nennen Sie ihn „OpenDrawer.EscPos“. Über Doppelklick können Sie nun die gewünschte Escape-Sequenz hinterlegen.
Keine automatische Öffnung der Kassenschublade #
Wenn die Übergabe der Escape-Codes komplett unterdrückt werden soll, lassen Sie den Eintrag leer.
Aufbau der Codes #
Mehrere Codes werden durch Kommata getrennt - Alternativ sind auch Leerzeichen, Tabulatoren oder Zeilenumbrüche möglich.
Die Codes können als Dezimalzahl oder mit einem der folgenden üblichen Buchstaben Repräsentationen angegeben werden:
Code | dezimal | Code | dezimal | Code | dezimal | Code | dezimal |
---|---|---|---|---|---|---|---|
NUL | 000 | BS | 008 | DLE | 016 | CAN | 024 |
SOH | 001 | HT | 009 | DC1 | 017 | EM | 025 |
STX | 002 | LF | 010 | DC2 | 018 | SUB | 026 |
ETX | 003 | VT | 011 | DC3 | 019 | ESC | 027 |
EOT | 004 | FF | 012 | DC4 | 020 | FS | 028 |
ENQ | 005 | CR | 013 | NAK | 021 | GS | 029 |
ACK | 006 | SO | 014 | SYN | 022 | RS | 030 |
BEL | 007 | SI | 015 | ETB | 023 | US | 031 |
SP | 032 | DEL | 127 |
Daneben können Codes auch im Hexadezimalformat angegeben werden. Hierzu muss dem Hex-Code ein „0x“, „#“ oder „$“ vorangestellt werden (jeweils Ohne Anführungszeichen). Die Anzahl der folgenden Stellen muss gerade sein.
Schließlich können Codes auch als lesbare ASCII-Zeichen eingegeben werden. Hierzu müssen die Zeichen in einfache oder doppelte Anführungszeichen gesetzt werden.
Eigene Programmfunktion zur Schubladenöffnung #
Es ist auch möglich, eine eigene Behandlung der Kassenöffnung zu hinterlegen. Hierzu sind Kenntnisse in VBScript und Kenntnisse in der Anpassung von EULANDA Voraussetzung.
Der eigene Programmcode muss als VBScript-Prozedur in der „userlib“-Scripting-Bibliothek hinterlegt werden. Der Name der Prozedur (mit vorangestelltem „userlib.“) muss dann in der Registry unter „\MODULES\Kasse“ als Wert „OpenDrawer.libcall“ hinterlegt werden.
Folgendes Beispiel ist bereits in der Registry im Ordner „\SYSTEM\LIBS\cnsoft.userlib.examples“ hinterlegt.
sub OpenDrawerExample(Pos)
dim s
s = "Beispiel für ein eigenes Programm zum Öffnen der Kassenschublade" & vbCrLf &_
vbCrLf &_
"Einige Eigenschaften des Kassen-Objekts:" & vbCrLf &_
"Kassenname: " & Pos.CashDeskName & vbCrLf &_
"Kassen-ID: " & Pos.CashDeskID & vbCrLf &_
"Druckername: " & Pos.Printername & vbCrLf &_
"Beleg-ID: " & Pos.ReceiptId
Pos.ShowMessage s
end sub
Als einziger Parameter wird „Pos“ übergeben. Hierbei handelt es sich um ein Objekt, welches Zugriff auf den aktuellen Beleg und den verwendeten Druckernamen ermöglicht.
Eigenschaft | Beschreibung |
---|---|
Pos.CashDeskName | Name der Kasse aus den Einstellungen |
Pos.CashDeskID | ID der Kasse, wie sie in der Tabelle dbo.Kasse hinterlegt ist |
Pos.Printername | Der Name des verwendeten Druckers |
Pos.ReceiptID | ID des Kassenbelegs aus der Tabelle dbo.KasseBeleg |
Pos.CashierId | ID des Kassierers |
Eigene Kassen-Prozeduren dürfen nicht im Ordner „cnsoft.userlib.examples“ abgelegt werden, da dieser Ordner bei jedem Programmupdate überschrieben wird.
Legen Sie stattdessen einen eigenen Ordner – beispielsweise „user.userlib.Kasse“ – an.