Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
bon_routing_regeln [2024/06/18 11:19] bondroid |
bon_routing_regeln [2024/11/13 17:40] (aktuell) bondroid |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
Standardmäßig werden Produkte auf dem Drucker der jeweiligen Produktgruppe gedruckt. | Standardmäßig werden Produkte auf dem Drucker der jeweiligen Produktgruppe gedruckt. | ||
Um dieses Verhalten zu überschreiben können Routing-Regeln verwendet werden. | Um dieses Verhalten zu überschreiben können Routing-Regeln verwendet werden. | ||
- | Bei Routing-Regeln handelt es sich um Python-Code. Dieser Programm-Code wird für jede Position einer Bestellung ausgeführt. Werden im Code die Variablen printer_name und backup_printer_name gesetzt, wird der Drucker für dieses Produkt geändert. | + | Bei Routing-Regeln handelt es sich um Python-Code. Dieser Programm-Code wird für jede Position einer Bestellung ausgeführt. Werden im Code die Variablen printer_name und backup_printer_name gesetzt, wird der Drucker für dieses Produkt geändert. Der Wert der Variable printer_name muss einem logischen Druckernamen (Stammdaten->Druckerverwaltung->Drucker) entsprechen. |
==== verfügbare Variable ==== | ==== verfügbare Variable ==== | ||
Zeile 23: | Zeile 23: | ||
==== Beispiele ==== | ==== Beispiele ==== | ||
=== Round Robin by order_time === | === Round Robin by order_time === | ||
+ | Hier werden Produkte der Produktgruppe Getränke (produt_group_id = 1) abhängig von der Bestellsekunde auf den Druckern "Schank 1" oder "Schank 2" gedruckt. | ||
if pos.product_group_id in [1, ]: | if pos.product_group_id in [1, ]: | ||
Zeile 31: | Zeile 32: | ||
printer_name = 'Schank 2' | printer_name = 'Schank 2' | ||
backup_printer_name = 'Schank 1' | backup_printer_name = 'Schank 1' | ||
+ | | ||
+ | === Drucker pro Bereich === | ||
+ | Hier werden Produkte der Produktgruppe Getränke (produt_group_id = 1) abhängig vom Bereich auf den Druckern "Schank 1" oder "Schank 2" gedruckt. | ||
+ | |||
+ | if pos.product_group_id in [1, ]: | ||
+ | if pos.order.site_name == "Halle" or pos.order.site_name == "Zelt": | ||
+ | printer_name = 'Schank 1' | ||
+ | backup_printer_name = 'Schank 2' | ||
+ | else: | ||
+ | printer_name = 'Schank 2' | ||
+ | backup_printer_name = 'Schank 1' | ||
+ | | ||
+ | === Drucker für ein bestimmtes Produkt ändern (id match) === | ||
+ | Wenn die Produkt-ID 22 oder 23 ist, sollen diese Produkte auf dem Drucker "Bier" gedruckt werden. | ||
+ | |||
+ | if pos.product_id in [22, 23]: | ||
+ | printer_name = 'Bier' | ||
+ | backup_printer_name = 'Schank 1' | ||
+ | |||
+ | === Drucker für ein bestimmtes Produkt ändern (string match) === | ||
+ | Wenn der Sting Waffel im Namen des Produkts enthalten ist, wird der Drucker auf Waffeln geändert. | ||
+ | | ||
+ | if 'Waffel' in pos.product_name: | ||
+ | printer_name = 'Waffeln' | ||
+ | backup_printer_name = 'Kueche' |