Benutzer-Werkzeuge

Webseiten-Werkzeuge


bon_routing_regeln

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen RevisionVorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
bon_routing_regeln [2024/06/15 17:34] bondroidbon_routing_regeln [2024/11/13 18: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. 
 + 
 +==== verfügbare Variable ==== 
 +=== OrderPos Objekt === 
 +  pos.product_id              Produkt ID (int) 
 +  pos.product_name            Produkt Name (string) 
 +  pos.count                   Anzahl (int) 
 +  pos.product_group_id        Produktgruppen ID (int) 
 +  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.product_group_id in [1, ]:
Zeile 8: 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'
bon_routing_regeln.1718465654.txt.gz · Zuletzt geändert: von bondroid