Strichcode mit dem Kassenartikel auf den Bon drucken

Der Kassierer musste den Artikel bisher von Hand in der Kasse suchen. Jetzt
steht er als Strichcode unter dem Betrag und wird gescannt.

CODE128 in Zeichensatz B, nicht das sonst uebliche CODE39: dort sind nur
Grossbuchstaben erlaubt, ein Artikel namens "techniker" waere damit nicht
darstellbar. Die Modulbreite waehlt escpos.js so gross, wie die Papierbreite
zulaesst - breitere Balken liest ein Handscanner zuverlaessiger, gerade auf
Thermopapier, das einen Tag in einer Hosentasche hinter sich hat. Daraus
ergibt sich die Laengengrenze von 17 Zeichen bei 80 mm Papier.

Artikelname und An/Aus liegen in den Einstellungen, nicht im Code: der Name
haengt am Artikelstamm der Kasse und kann sich aendern, ohne dass jemand an
die App muss.

Zwei Faelle, die sonst still danebengingen, melden sich jetzt:
- Umlaute und Sonderzeichen weist das Speichern ab, statt sie zu verschlucken
  und einen Code zu drucken, der einen anderen Artikel bedeutet.
- Passt der Name nicht auf die Papierbreite, druckt receipt.js ihn nur in
  Klarschrift. Ein abgeschnittener Code wird von keinem Scanner gelesen.

Geprueft auf dem Epson TM-T88IV: Zwischenbeleg und Endbeleg, ausgeschalteter
Strichcode, Laengengrenze, geschweifte Klammer im Namen (wird verdoppelt,
sonst liest der Drucker sie als Umschaltbefehl).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kerim (portable/claudecode)andClaude Opus 5 committed 2026-09-12 13:19:39 +02:00
1 parent b1c7d89a7d
commit 6ba0cdd07f
7 files changed
+229 -9

No files matched your search

+20
View File
@@ -58,6 +58,23 @@ Zwei Wege, je nachdem, wie der Kunde geht:
Zettel zeigt den Stand von jetzt und ist als *Zwischenstand* gekennzeichnet;
der Timer läuft unverändert weiter.
### Strichcode für die Kasse
Unter dem Betrag steht ein Strichcode. Die Kasse scannt ihn und hat den Artikel
sofort auf dem Bildschirm — niemand muss ihn in einer Liste suchen. Darunter
druckt der Drucker denselben Text noch einmal in Klarschrift, für den Fall, dass
der Scanner nicht anspringt oder der Zettel geknickt ist.
Welcher Artikel das ist, steht in den **Einstellungen** unter *Artikel in der
Kasse*; ab Werk `techniker`. Wird die Leistung in der Kasse umbenannt, wird der
Name hier geändert — ohne dass jemand an die App muss. Der ganze Block lässt
sich mit *Strichcode für die Kasse drucken* auch abschalten.
Zwei Grenzen setzt das Papier: Der Name darf **keine Umlaute und keine
Sonderzeichen** enthalten (ein Strichcode kann sie nicht abbilden) und nicht
länger sein, als quer auf die Rolle passt — bei 80 mm sind das 17 Zeichen. Beides
sagt die App beim Speichern, statt später einen unlesbaren Code zu drucken.
### Wenn nichts aus dem Drucker kommt
Der Vorgang ist trotzdem gespeichert — die App sagt in dem Fall ausdrücklich,
@@ -90,6 +107,9 @@ Darunter steht, was auf dem Bon gedruckt wird:
bezahlen."
* **Bon beim Beenden automatisch drucken** — ausgeschaltet kommt ein Bon nur
noch über die 🖨-Knöpfe.
* **Strichcode für die Kasse drucken** — siehe unten. Ausgeschaltet bleibt der
Bon genau wie vorher.
* **Artikel in der Kasse** — der Name, der im Strichcode steckt.
* **Probedruck** — druckt einen Beispielbon. Beantwortet die Frage, ob der
Drucker überhaupt erreichbar ist; darüber steht sein aktueller Zustand.