Skip to main content

Esempi

Esempi pratici di configurazione regole

In questa sezione vengono riportati esempi concreti di utilizzo delle regole di controllo sul modello Ordine di produzione (mrp.production) . Gli esempi mostrano sia configurazioni di base con condizioni AND, sia casi più avanzati con filtri Python e combinazioni di gruppi AND/OR.


1) Condizioni (AND/OR)

Tutte le regole riportate, hanno di default il gruppo Root con AND.
✦ Scadenza vicina/passata e senza quantità prodotta

Controllare gli ordini con scadenza passata o alla data odierna e senza quantità prodotte.

Campo Operatore Tipo valore Sorgente valore Valore
Scadenza <= Date Oggi (date) -/
Quantità in produzione = Integer Valore literal 0
✦ Scadenza entro lanella prossima settimana e non completati

Controllare gli ordini con scadenza nella prossima settimana (non mostra le passate) e senza quantità prodotte.

Campo Operatore Tipo valore Sorgente valore Valore

Scadenza>=DatetimeAdesso (datetime)-
Scadenza <= Datetime Python (safe_eval) now -+ relativedelta(months=weeks=1) 
Stato in Char/Testo Python (safe_eval) ['confirmed','progress','to_close'] 
✦ Non completati e con 5 o meno quantità rimanenti (rispetto al totale)

Controllare gli ordini non completati con un residuo da produrre di 5 quantità.

CampoOperatoreTipo valoreSorgente valoreValore
Statonot inChar/TestoPython (safe_eval)['done','cancel','draft'] 
Quantità in produzione



 

1) Condizione AND - Valore numerico

Controllare che la quantità pianificata (product_qty) sia maggiore di 100.

Campoproduct_qty
Operatore>
Tipo valorefloat
Sorgente valoreliteral → 100

2) Condizione AND - Valore data

Verificare che la data prevista di inizio (date_planned_start) sia successiva alla data odierna.

Campodate_planned_start
Operatore>
Tipo valoredate
Sorgente valoretoday

3) Condizione AND - Campo relazione

Controllare che il responsabile della produzione (user_id) sia valorizzato.

Campouser_id
Operatoreis set
Tipo valoremany2one
Sorgente valore-

4) Filtro Python - Importo minimo

La produzione è valida solo se l’importo totale dell’ordine (amount_total) supera 1000 €.


record.amount_total > 1000

5) Filtro Python - Combinazione quantità e data

La regola è valida solo se la quantità pianificata è maggiore di 50 e la produzione inizia oggi.


record.product_qty > 50 and record.date_planned_start == fields.Date.today()

6) Filtro Python - Controllo stato

Validare solo le produzioni nello stato "confirmed" o "in_progress".


record.state in ["confirmed", "in_progress"]

7) Gruppi AND/OR - Controllo quantità o responsabile

La regola è valida se:

  • Condizioni AND → il prodotto è impostato e la quantità è maggiore di 10.
  • Condizione OR → almeno una delle precedenti è vera, oppure il responsabile (user_id) è valorizzato.
Gruppo 1 (AND)Campo: product_id / Operatore: is set
Campo: product_qty / Operatore: > / Valore: 10
Gruppo 2 (OR)Campo: user_id / Operatore: is set

8) Gruppi AND/OR - Data e quantità

La regola è valida se:

  • Gruppo AND → la data di inizio è oggi e la quantità è superiore a 20.
  • Gruppo OR → in alternativa, la produzione è nello stato "confirmed".
Gruppo 1 (AND)Campo: date_planned_start / Operatore: = / Valore: today
Campo: product_qty / Operatore: > / Valore: 20
Gruppo 2 (OR)Campo: state / Operatore: in / Valore: confirmed