Broadcast-Druckeranbindung
Use case: es gibt einen Etikettendrucker vor Ort mit Epson-Ansteuerung, auf diesem sollen Belege gedruckt werden. Ein Zugriff von aussen ist nicht möglich.
Konzept: in ERPNextSwiss soll es 3 neue Endpunkte geben, basierend auf dem Etikettendrucker
- Liste der zu druckenden Etiketten (get_labels_to_print): gibt die IDs der Etiketten zurück. Möglichst wenig overhead, effiziente Funktion, diese wird regelmässig aufgerufen
- Etikette abholen (get_label): gibt den Code zum Druck
- Status zurückgeben (set_status): für eine Etikette den Status zurückgeben ("gedruckt", "Fehler"). Das Element darf dann nicht mer in der Liste erscheinen
- es gibt einen neuen DocType "Print Queue": Link zum Etiekttendrucker, Code-Feld mit den Instruktionen
- der Druckauftrag erstellt einen Datensatz "Print Queue"
- auf einem Device (libracore Magic Box), welches an den Druck angeschlossen ist, soll ein Python Script laufen, welches mit
requestsdie Liste der Queue von einem Drucker holt. Wenn etwas in der Liste ist, diese Befehle Zeile für Zeile an den Drucker senden. Am Ende denset_statusquittieren. Dieses Script wird über einen Cron aufgerufen.