Forum
Bitte beachte auch unsere Knowledgebase und das Handbuch!
Servus,
ich hab heute Abend die unter
https://www.ckvsoft.at/forum/qrk-feature-request/qrk-server-als-dienst/#post-1075
beschriebene Verbindung direkt an der alten Kassa getestet und das klappt wunderbar. Bis auf die Druckgeschwindigkeit, denn der alte Drucker ist seriell angeschlossen und der Druck per Windows-Treiber daaaaaaauert ;). Nach dem Motto "jeder QR-Code mit viel Liebe gedruckt" - an einem neuen Drucker solls aber nicht scheitern.
Interessant wären für uns noch zwei Sachen:
1) Im Kassen-Modus kann ja das Wechselgeld berechnet werden. Bekommt man "gegeben/retour" auch irgendwie auf den Bon? Besonders auch über den Server-Modus. Über die alte Kassenlösung könnte ich den Wert für "gegeben" ins json-Objekt verpacken, damit es auf den Bon kommen könnte (nur für die Bezahlungsmethode Cash).
2) Eingriff ins Layout des Bons. In der alten Kassenlösung geht das ganz super per Apache Velocity, hier ist defacto alles möglich, wenn man sich ein bisschen eingelesen hat. Im ersten Schritt wäre es hilfreich, wenn man die Leerzeilen zwischen den Artikelzeilen anpassen/entfernen könnte, dann wären die Bons nicht ganz so lang und man sponsert die Thermopapier-Industrie nicht so stark.
Die Lösung, falls es noch jemanden interessiert:
- In der Kassa das Bon-Template so anpassen, dass eine passendes json-Objekt gedruckt wird.
- Mit https://sourceforge.net/projects/mfilemon/ einen Drucker einrichten, der das json-Objekt in eine Textdatei schreibt. Auf diesem Weg wird die Textdatei auch noch durch ein kleines C#-Programm geschickt, das die Steuerzeichen vorne und hinten aus der Druckdatei entfernt (hier suche ich noch nach einer eleganteren Lösung, aber es funktioniert gut). Der Text/Generic-Druckertreiber liefert leider keine brauchbare Datei.
- Das C#-Programm schreibt das json-Objekt als Textdatei mit der Dateiendung .json in das Importverzeichnis von qrk und es wird dort verarbeitet.
Danke!
Grüße, Stefan
Hi!
Welche "alte" Kasse ist das? Bin gerade auf der Suche, ob / wie man von GPLpos / Unicenta diesen Druck schaffen würde. Damit wären auch diese Programme RKSV Fit 😉
Servus,
das alte Produkt ist POSper, den Sourcen nach auf Tinapos basierend. Dürfte aber gewisse Ähnlichkeiten mit Chromis/UnicentaPOS haben. Die Layouts basieren bei allen Systemen auf Apache Velocity, also dürfte die Umleitung des Bondrucks funktionieren.
Den Code für den Bondruck in die Datei kann ich morgen genauer dokumentieren.
Grüße, Stefan
Super! Das wäre spitze!
Servus,
hier einmal schnell der Velocity-Code:
https://github.com/stefankugler/print-qrk-json
Den Umweg über den Druckertreiber hab ich schon hier im Forum beschrieben, ich werd die Doku auf Github weiterführen.
Mehr später oder morgen.
Grüße, Stefan
So, die Doku sollte vollständig sein:
https://github.com/stefankugler/print-qrk-json
Bei Fragen melde dich, die exe-Datei des C#-Programms kann ich nicht über Github verteilen, die hängt hier im ZIP-Archiv dran.
Das Template-File muss für andere POS-Programme ev. noch angepasst werden.
Fehlt nur noch die Möglichkeit, den Server-Modus direkt zu starten (und der Wunsch nach dem Retourgeld).
Grüße, Stefan
Benötigt man die exe Datei? Ich arbeite nämlich mit Ubuntu Linux.
LG
Stefan
Servus,
unter Linux würde ich einmal unter CUPS ansetzen und schauen, ob dort der Generic/Text only-Treiber funktioniert. Oder einen Cups-Filter und ein Script (bash, perl, python, ...), das ev. die Steuerzeichen entfernt. Dazu kann ich dir aber nicht wirklich weiter helfen, das hab ich noch nie gemacht.
Grüße, Stefan
Gibt es für das C#-Programm den source? Bzw. was macht es genau? Nur die ESC Sequenzen entfernen?
Servus,
das C#-Programm entfernt die Steuerzeichen vor und nach den JSON-Daten.
Den Code gibt's auf github (nur die Program.cs, nicht den ganzen C#-Projektordner):
https://github.com/stefankugler/print-qrk-json
Grüße, Stefan
Hab das direkt in QRK eingebaut. Sind ja nur 3 Zeilen 😉
Wunderbar, danke!
Wann darf man mit einer neuen Version rechnen?
Gibt es einen Status zu meinen anderen Anfragen (gegeben/Retourgeld per JSON, ev. kompaktes Bonlayout)?
Grüße, Stefan
Die Version wird schon fleißig getestet. Da sehr große interne Änderungen gemacht wurden hat es etwas länger gedauert. Ich werde versuchen das ich nicht in diese aber in die nächste Version den Betrag gegeben rein bekomme. Hab noch ein paar aus-ständige Sachen die gemacht werden müsse. Die kommen aber auch erst in die nächste Version.
kompaktes Bonlayout
Schwer zu sagen was ist kompakt. Ich hab da schon von Anfang an versucht einen Kompromiss zu finden. Vieles in eine Zeile geht sich leider nicht bei jedem aus. In der nächsten Version wurden ein paar Änderungen gemacht. Es gibt auch mehrere Einstellungsmöglichkeiten wie Zeilen Abstand oder QR-Code links neben der Summenzeile zu schreiben. Das wird dann schon um einiges kürzer.
Hallo Stefan,
wegen cups, hast Du zufällig eine Ahnung wie man den Generic Text Drucker anweist in eine JSON Datei zu Drucken ? Ich finde nämlich nur PDF
lg
Stefan
Servus,
vielleicht helfen die beiden Einträge [0] mit dem Ziel nach /dev/null. Probiere einmal nach /pad/nach/ckv-import/datei.json zu drucken.
Ich hoffe, dass Cups die Datei nach dem Druckvorgang freigibt, damit QRK die Datei nachher umbenennen kann. Ev. auch auf Berechtigungen achten.
[0]: https://superuser.com/questions/304670/how-to-add-a-fake-dummy-null-printer-in-cups
Grüße, Stefan
Ich bin scheinbar zu ********** ich kapiere das nicht bzw. bei mir passiert nichts. Habe aus dem Beitrag zu cups alles verscuht aber hatte keinen erfolg. Das Drucken in /home/user/daten hat nichts gebracht, es wurde keine textdatei erstellt.
lg
Stefan
Lieber Stefan,
hier ein Update mit einer Lösung ganz elegant über eine Pipe, ohne CUPS (unter Linux):
https://github.com/stefankugler/print-qrk-json
Grüße, Stefan
Hallo Stefan,
erst einmal vielen Dank für Deine Mühe.
Ich bin ja nun schon einen Riesenschritt weiter, bekomme aber diesen Fehler
./bon2json.sh: Zeile 20: /opt/json/bon.txt: Datei oder Verzeichnis nicht gefunden
mv: Aufruf von stat für '/opt/json/bon.txt' nicht möglich: Datei oder Verzeichnis nicht gefunden
Viele Grüße
Stefan
Das Verzeichnis "/opt/json" gibt es?
Die Fehlerausgabe ist nicht von qrk
Servus,
das Verzeichnis gibt es wahrscheinlich nicht.
mkdir /opt/json
Wenn man streng nach der Linux-Verzeichnisstruktur geht, würde das irgendwo nach /var gehören und nicht nach /opt. Funktionieren tuts aber trotzdem ;).
Grüße, Stefan
Häng bitte einmal so eine false-Datei an, da ist ev. noch ein Steuerzeichen drinnen.
Die Rechte stimmen? Kann QRK die Daten umbenennen?
Stefan
Hier die Berechtigungen und die datei
kasse1@kasse1-450-a141ng:/opt$ ls -la
insgesamt 20
drwxr-xr-x 5 root root 4096 Mär 27 12:57 .
drwxr-xr-x 24 root root 4096 Mär 16 15:24 ..
prw-r--r-- 1 kasse1 kasse1 0 Mär 27 13:11 chromis.pipe
kann die datei leider nicht anhängen 🙁
drwxr-xr-x 7 root root 4096 Sep 30 15:30 chromispos
drwxr-xr-x 3 root root 4096 Apr 24 2016 epson_pcs
drwxr-xr-x 2 kasse1 kasse1 4096 Mär 27 13:11 json
hier habe ich die Datei hochgeladen
nun der richtige link
Die Datei ist leer.
Mach einmal ein "ls -l" im json-Verzeichnis
Bzw. stoppe das Script, drucke einen Bon und mach ein "cat /name/der.pipe" und poste die Ausgabe (oder Screenshot).
Stefan
/opt/json$ ls -l
insgesamt 28
-rw-rw-r-- 1 kasse1 kasse1 1 Mär 27 12:58 20170327-125844.false
-rw-rw-r-- 1 kasse1 kasse1 6688 Mär 27 12:58 20170327-125856.false
-rw-rw-r-- 1 kasse1 kasse1 6688 Mär 27 13:02 20170327-130224.false
-rw-rw-r-- 1 kasse1 kasse1 6688 Mär 27 13:11 20170327-131142.false
-rw-rw-r-- 1 kasse1 kasse1 0 Mär 27 13:11 bon.txt