Benutzer-Werkzeuge

Webseiten-Werkzeuge


bon_routing_regeln

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
bon_routing_regeln [2024/06/15 15:33]
bondroid
bon_routing_regeln [2024/11/13 17:40] (aktuell)
bondroid
Zeile 1: Zeile 1:
-round robin+Standardmäßig werden Produkte auf dem Drucker der jeweiligen Produktgruppe gedruckt. 
 +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. Der Wert der Variable printer_name muss einem logischen Druckernamen (Stammdaten->​Druckerverwaltung->​Drucker) entsprechen.
  
-    ​if pos.product_group_id in [1, ]: +==== verfügbare Variable ==== 
-        if pos.order.order_time.second % 2 == 0: +=== OrderPos Objekt === 
-            printer_name = '​Schank 1' +  pos.product_id ​             Produkt ID (int) 
-            backup_printer_name = '​Schank 2' +  pos.product_name ​           Produkt Name (string) 
-        else: +  pos.count ​                  ​Anzahl (int) 
-            printer_name = '​Schank 2' +  pos.product_group_id ​       Produktgruppen ID (int) 
-            backup_printer_name = '​Schank 1'+  pos.product_group_name ​     Produktgruppen Name (string) 
 + 
 +=== OrderPos Objekt === 
 +  pos.order.order_time ​       Bestellzeit (datetime.datetime) 
 +  pos.order.user_id ​          ​Benutzer ID des Bestellers (int) 
 +  pos.order.user_name ​        ​Benutzer Name des Bestellers (string) 
 +  pos.order.site_id ​          ​Bereichs ID (int) 
 +  pos.order.site_name ​        ​Bereichs Name (string) 
 +  pos.order.table_id ​         Tisch ID (int) 
 +  pos.order.table_name ​       Tisch Name (string) 
 + 
 + 
 +==== Beispiele ==== 
 +=== 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.order.order_time.second % 2 == 0: 
 +          printer_name = '​Schank 1' 
 +          backup_printer_name = '​Schank 2' 
 +      else: 
 +          printer_name = '​Schank 2' 
 +          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'
bon_routing_regeln.1718465635.txt.gz · Zuletzt geändert: 2024/06/15 15:33 von bondroid