Anpassungen
Zuletzt geändert: 10.06.2023 08:05

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.