Grundsätzliche Informationen zum Kassenbondruck

Der Kassenbondrucker muss wie ein normaler Netzwerkdrucker im Netz angemeldet sein und vom Server aus nutzbar sein. Dazu sollte möglichst ein aktueller Druckertreiber für den Kassenbondrucker installiert werden. Sollte es für den Drucker keinen Treiber geben, nehmen Sie einfach einen Generic Epson MX Treiber, da die Drucksteuercodes sowieso über das Programm direkt gesendet werden. Der Druck wird direkt von der IOS2000 DLL anhand der nachfolgend beschriebenen FSD Steuerdatei aufbereitet. Der Reportgenerator wird dazu nicht verwendet, weil dieser zu langsam und nicht optimal für Endlosdrucker zu verwenden ist. Die Steuerdateien stehen in einem separaten Verzeichnis und sind ähnlich aufgebaut wie die Etikettensteuerdateien LABELx.FSD. Das Verzeichnis ist im ControlCenter unter dem Link ‚Bilder+Pfade‘ angegeben. Für jede im Kassenprogramm verwendete Belegart (zur Zeit 33 = Barverkauf) muss auch eine entsprechende BON33.FSD angelegt werden. Als Platzhalter für den Pfad des Subverzeichnisses und für Variablen innerhalb der Bondatei können Sie mit [#Feldname] jedes beliebige Datenbankfeld aus den Tabellen Kassen, Kassenjournal, Kassenbestand und Kunden einfügen. Welche Felder Ihnen hier zur Verfügung stehen, erfahren Sie mit dem IOSSQLCommander unter ‚Tabelleninfo‘ oder, wenn Sie einfach einmal den Debugmode einschalten, indem Sie eine 1 in den <debugmode> Tag schreiben. In der Debugdatei zeigen wir Ihnen dann alle möglichen Variablen auf.

Beispiel für die Pfadangabe:

Wenn Sie im ControlCenter als Pfad: mand[mandant]/fsd/kasse[#KassenNr] angeben, wird die BON33.FSD aus Kasse 1 im Mandanten 0 im Pfad: /ios2000/mand0/fsd/kasse1/bon33.fsd erwartet. Außerdem sind die gleichen Formatierungskommandos erlaubt, wie beim Etikettendruck (siehe Anleitung zum Etikettendruck). Die gebräuchlichsten Formatierungen hier noch einmal:
[#Betrag;R10,2] = Betrag rechtsbündig formatiert mit 10 Vor- und 2 Nachkommastellen
[#BonNr;L6] = Bonnummer linksbündig auf 6 Stellen formatiert
[#Artikeltext;L30] = Artikeltext auf 30 Stellen linksbündig formatiert

Spezielle Codes sind:

[date] = Tagesdatum im Format TT.MM.JJJJ
[time] = aktuelle Uhrzeit im Format hh:mm:ss
[now] = Zeitstempel im Format TT.MM.JJJJ hh:mm:ss
[gesmenge] = aufaddierte Gesamtmenge aller Artikel auf dem Bon

Der Aufbau der BONxx.FSD Steuerdatei:

<IOSInit>
<printer>
<code1>=steuercode;steuercode;steuercode;
<code2>=steuercode;steuercode;steuercode;
<code3>=steuercode;steuercode;steuercode;
usw.

</printer>
<device>Druckerschnittstelle, unter der der Drucker ansprechbar ist</device>
Beispeile für <device> Angaben :
<device>COM1:9600,n,8,1,rs,cs,ds</device> ‚ druckt direkt auf die serielle Schnittstelle
<device>Zebra LP2844</device> ‚ nutzt den Zebra LP2844 über den Spooler
<device>\\192.168.1.15\TM88</device> ‚ TM88 am USER_PC
<device>d:\texte\test.txt</device> ‚ druckt in die Datei Test.txt
<device>[dbdevice]</device> ‚ nimmt die Einstellung aus der Datenbank
‚ (Feld ´device´ des Kassendatensatzes)
<rows>1</rows> ‚ Zahl der Etiketten pro Bahn, normalerweise 1
<debugmode>0</debugmode> ‚ 1 = erstellt eine Debugdatei mit Druckinformationen
‚ im Format DEBUG_LABELxx.TXT im IOS2000 Verzeichnis
<translate>0</translate> ‚ 0 keine Übersetzung, 1= DOS ASCII-Codes für Umlaute
‚ 2= ä=ae,Ü=UE usw.,
<wandlung> ‚ in diesem Abschnitt können Sie beliebige Zeichen
<src> ‚ wandeln. Schreiben Sie in den Bereich <src></src>
Ø;¼;½;€ ‚ die Quellzeichen, die umzuwandeln sind mit ; getrennt
</src> ‚ und in den Bereich <dst></dst> die Zielzeichen, in die
<dst> ‚ gewandelt wird. ACHTUNG ! Anzahl der Quell- und Ziel-
DU;1/4;1/2;EUR ‚ zeichen müssen übereinstimmen, sonst erfolgt keine
</dst> ‚ Wandlung !
</wandlung>
</IOSInit>
Danach kommen die einzelnen Abschnitte, die vom Programm gesteuert und gedruckt werden.

Normale Druckreihenfolge bei einem neuen Bon:

(Jeder Tag muss wieder richtig mit </ geschlossen werden, also <IOSAddress>… </IOSAddress>)
Die folgenden Tags werden für jeden Bon in der angegebenen Reihenfolge aufgerufen. Wenn Sie wollen, das ein Bereich nicht gedruckt wird, dürfen Sie diesen NICHT LÖSCHEN, sondern entfernen einfach nur den Inhalt zwischen den Tags!!

ALLE TAGS MÜSSEN IMMER IN DER FSD VORHANDEN SEIN!

1. Kopfdruck:
wenn anderer Kunde als Standardkunde (1) dann <IOSAddress>
1.1 Wenn es sich um einen Wiederholungsdruck handelt, wird der Abschnitt<IOSCopy> gedruckt, in dem dann z.B. das Wort ´KOPIE´ stehen kann.

3. Summen:
wenn ohne Gesamtrabatt dann: <IOSTotal>
wenn mit Gesamtrabatt dann: <IOSTotalRabate>

4. Mehrwertsteuer:
4.1 Zuerst wird einmal der Abschnitt <IOSTaxHead> als Überschrift gedruckt.
4.2 Je Steuersatz einmal <IOSTAX> mit den Replacement-Codes:
[#mwb] = Steuercode alphanumerisch, 0=A, 1=B, 2=C …
[#mwn] = Steuercode als Ziffer 0-5
[#taxproz;#5,1] = MwSt. in Prozent
[#taxnetto;#7,2] Nettobetrag im jeweiligen Steuersatz
[#taxmwst;#7,2] Steuerbetrag im jeweiligen Steuersatz
[#taxbrutto;#7,2] Bruttobetrag im jeweiligen Steuersatz

5. Trennbereich nach den Steuerzeilen
Um den Summenbereich vom Zahlungsbereich deutlich zu trennen <IOSEndTax>

6. Zahlungsarten:
Je Zahlungsart einmal der Abschnitt <IOSPayType>
Feste Replacementcodes: [#Ztext] = Zahlungsarten-Text lt. ControlCenter Einstellung
[#Zbetrag] = Zahlungsbetrag in dieser Zahlungsart
Wenn Rückgabebetrag <> 0 dann <IOSChange>

7. BonEnde: <IOSFooter>
festes Replacement : [#werbetext] = Werbetext aus dem ControlCenter
Im Abschnitt IOSFooter sollten Sie gleich den nächsten Bonkopf integrieren, damit Sie beim Abschneiden nicht zu viel Papier vergeuden müssen.

8. Bei der Zahlungsart Lastschrift (3) wird der Bereich <ECCash>
gedruckt. Wenn Sie eine Kopie davon brauchen, geben Sie im Bereich den Code: <copies>2</copies> ein.
Verwenden Sie als Vorlage unseren Muster Kassenbon:
Download der Muster-Vorlage BON33.FSD unter: http://ios2000.de/pdf/bon.zip oder einfach nur durch Kopieren des folgenden Mustertextes.

‚ BON33.FSD Steuerdatei für Kassenbons, neuer Bondruck ab DLL 1.7.723
‚ Sondervariablen:
‚ [date] [time] [now]
‚ [#mwn] = mwstcode 0-5, [#mwb] mwstcode A-E
‚ [#gesmenge]
<IOSinit>
<printer>
<init>=27;116;0
<feed>=13;10
<u>=27;33;128
<u_thick>=27;45;2,50
</u>=27;33;0
<fonta>=27;33;1;27;114;0
</fonta>=27;33;1;27;114;0
<fontb>=27;33;1
<strong>=27;33;8
</strong>=27;33;
<big>=27;33;51
</big>=27;33;1;27;114;0
<cash1open>=&H1c
<cutpart>=29;86;1,49
<cutfull>=29;86;0,48
<opendrawer>=27;112;0;20;40
<image1>=28;112;1;48
<image2>=28;112;2;48
</printer>
<pagesize>0</pagesize>
<copies>0</copies>
<device>[dbdevice]</device>
<xevice>TM88</xevice> ‚ Alternativbeispiele
<xevice>c:\bontest.txt</xevice> ‚ Alternativbeispiele
<debugmode>0</debugmode> ‚ 1 erstellt die Debugdatei
<translate>1</translate>
<wandlung>
<src>
Ø;¼;½;€
</src>
<dst>
DU;1/4;1/2;EUR
</dst>
</wandlung>
</IOSinit>
‚ Dieser Code wird zuerst vor jedem Ausdruck gesandt
<IOSPrintInit></IOSPrintInit>
<IOSHead>
<image1>
MARKUS SOFTware GmbH<feed>
Industriestraße 41<feed>
42499 Hückeswagen<feed>
Tel. 02192-93360<feed>
============================================<feed>
ArtNr Beschreibung Preis <feed>
============================================<feed>
<init></IOSHead>
<IOSCopy> >>> K O P I E <<< <feed><feed></IOSCopy>
<IOSAddress>
[#Name1] [#Name2]<feed>
[#Strasse]<feed>
[#plz] [#ort]<feed>
</IOSAddress>
<IOSLine>[#ArtId;#5] [#Artikeltext;L24] [#PosGesamt;#8,2] [#mwb]<feed></IOSLine>
<IOSLineQty>([#Menge;#4,0] * Einzelpreis [#PosEinzel;#10,2])<feed</IOSLineQty>
<IOSLineRabate>(gewährter Rabatt [#PosRabatt;#6,2])<feed></IOSLineRabate>
<IOSText>[#ArtikelText;L40]<feed></IOSText>
‚ wird gedruckt, wenn kein Rabatt gegeben wurde
<IOSTotal>
————————————————————– <feed>
Gesamtbonbetrag EUR[#BonBetrag;#10,2] <feed>
===================================<feed>
</IOSTotal>
‚ wird gedruckt, wenn ein Gesamtrabatt gegeben wurde
<IOSTotalRabate>
————————————————————–<feed>
GesamtSumme EUR [#BonSumme;#10,2] <feed>
– Rabatt EUR [#BonRabatt;#10,2] <feed>
Gesamtbonbetrag EUR [#BonBetrag;#10,2] <feed>
===================================<feed>
</IOSTotalRabate>
<iosTAXHead>
MwSt% Netto MwSt Brutto<feed></iosTAXHead>
<iosTAXLines>
[#mwb] [#taxproz;#5,1] [#taxnetto;#7,2] [#taxmwst;#7,2] [#taxbrutto;#7,2]<feed></iosTAXLines>
‚ Trennbereich, wird nach den MwSt Zeilen gedruckt zur Trennung von den Zahlungen
<IOSEndTax>
————————————————————–<feed>
(insgesamt [#gesmenge] Artikel) <feed>
</IOSEndTax>
‚ Zahlungsarten
<IOSPayType>[#ZText;L27] EUR [#Zbetrag;#10,2] <feed></IOSPayType>
‚ Wird bei Rückgabe gedruckt
<IOSChange>
Rückgabe EUR [#changeAmount;#10,2] <feed>
</IOSChange>
‚ Wird am Ende des Bons gedruckt
<IOSFooter><opendrawer>——————————————<feed>
BON DATUM ZEIT KASSE VKNR<feed>
[#BelegNr;#7,0] [date] [time] [#KLID;#2,0] [#VerkID;2,0]<feed>
——————————————<feed>
Umtausch nur mit diesem Kassenbon!<feed>
Unsere USTID: DE123456789<feed>
<feed>
<feed>
<feed>
[#werbetext]<feed>
<feed>
<feed>
<feed>
<feed>
<feed>
<cutfull><feed>
MARKUS SOFTware GmbH<feed>
Industriestraße 41<feed>
42499 Hückeswagen<feed>
Tel. 02192-93360<feed>
==========================================<feed>
ArtNr Beschreibung Preis<feed>
==========================================<feed>
</IOSFooter>
<KasseOeffnen><opendrawer></KasseOeffnen>
<ECCash>
<copies>2</copies>
<feed>
<feed>
<fonta><u>Lastschriftermaechtigung</u><fontb><feed>
zu Kassenbon Nr.: [#BelegNr]<feed>
<feed>
Hiermit ermaechtige ich die Firma<feed>
MARKUS SOFTware GmbH, Industriestraße41<feed>
42499 Hückeswagen<feed>
unwiderruflich, den Gesamtbetrag von<feed>
<feed>
<fonta> EUR [#ecash;#10,2]<fontb><feed>
<feed>
aus dem Einkauf vom [date] von meinem <feed>
Konto Nr.: [#konto] <feed>

BLZ …..: [#blz]<feed>

bei der [#bank]

<feed>

abzubuchen. Ausserdem darf die durch die <feed>

BLZ gekennzeichnete Bank im Fall der <feed>

Nichteinloesung meinen Namen und die An-<feed>

schrift o.a. Firma nennen.<feed>

<feed>

Hückeswagen, [date]<feed>

<feed>

<feed>

Unterschrift: <feed>

<feed>

<feed>

——————————————<feed>

[#inhaber]<feed>

<feed>

<feed>

<feed>

<feed>

<feed>

<feed>

<cutfull><feed>

<image1>

MARKUS SOFTware GmbH<feed>

Industriestraße 41<feed>

42499 Hückeswagen<feed>

Tel. 02192-93360<feed>

==========================================<feed>

ArtNr Beschreibung Preis<feed>

==========================================<feed>

</ECCash>