Skip to main content

Impostazione - Buona

DT Point of Control consente di definire regole di controllo periodiche su un modello (es. mrp.production): ad ogni esecuzione la regola applica un dominio, calcola il totale reale dei record trovati, mostra fino a N esempi (configurabili) e invia un messaggio in un canale con un bottone che apre direttamente la lista filtrata.


1) Configurazione principale

Apri Impostazioni ▸ Funzioni tecniche▸ Point of Control ▸ Regole e crea una nuova regola. 

  • Nome: titolo chiaro della regola (es. ODP scadute e ferme). 
  • Azienda: azienda corrente (preimpostata).
  • Modello target (obbligatorio): il modello da controllare (es. mrp.production).
  • Canale destinazione (obbligatorio): canale di messaggistica in cui inviare il messaggio.
  • Attiva: se spuntato, la regola viene eseguita da cron.
  • Pianificazione:

    • Ogni N + Periodo (minuti/ore/giorni/settimane/mesi).

    • Prossima esecuzione / Ultima esecuzione: viene ricalcolata automaticamente

  • Messaggio: testo che viene riportato nel messaggio sul canale, se vuoto viene usato il modello di default. Ogni messaggio è personalizzabile e riporta nell'intestazione il titolo della regola ed il bottone per accedere all'elenco.
    • {count} : Segnaposto che riporta il num. totale di voci trovate
    • {sample} : Segnaposto che riporta un max. di 10 esempi delle voci trovate

2) Configurazione azione

L’azione Python è il codice che viene eseguito quando si clicca il bottone all’interno del messaggio.
Questa configurazione è fondamentale per garantire il corretto funzionamento del modulo.

{
  'type': 'ir.actions.act_window',
  'res_model': model._name,
  'name': "Ordini di produzione",
  'domain': domain,
  'context': dict(context or {}),
  'target': "main",
}
  • typeNon modificare mai. Deve rimanere invariato rispetto al valore riportato.
  • res_model → Inserire sempre model._name in modo da compilare automaticamente il campo con il valore selezionato sul Modello target.
  • name → Nome che verrà mostrato nel navigatore.
  • domain → Lasciare sempre domain. Questo verrà compilato secondo le regole già definite.
  • context → Si consiglia di utilizzare il valore di default oppure aggiungerne altri per attivare filtri o raggruppamenti specifici.
  • target → Impostare il valore main oppure current, a seconda della necessità.

3) Configurazione viste

Le viste sono fondamentali per visualizzare l’interfaccia nel modo più efficace possibile e permettere una corretta analisi dei dati.

È consigliato sempre configurare almeno due tipologie di viste nel seguente ordine:

  • Tree / Lista → per visualizzare l’elenco delle voci in formato tabellare.
  • Form → per accedere al dettaglio di una singola voce.

Il sistema utilizza una sequenza per definire l’ordine di priorità delle viste.
Non è necessario applicare filtri nella selezione, poiché il sistema propone automaticamente solo le viste relative al modello e alla tipologia selezionati.

È altamente consigliato definire viste primarie, ossia non ereditate da altre viste.


3)4) Condizioni (AND)AND/OR)

La tabella Condizioni (AND)AND/OR) definisce tutti filtri/regole da applicare nella regola di controllo.
TUOgni condizione creata può appartenere a un gruppo, che stabilisce la logica di valutazione.
Senza gruppo tutte le condizione vengono valutate come AND.

Campi di configurazione

  • Campo: un campo memorizzato del modello.
  • Operatore=!=<<=>>=ilikenot ilikeinnot inis setis not set.
  • Tipo valorechar, integer, float, date, datetime, boolean, selection, many2one.
  • Sorgente valore:
    • literal: inserisci il valore direttamente.
    • today: data odierna (date).
    • now: data e ora correnti (datetime).
    • field: confronto campo vs campo (placeholder; non supportato nativamente dal dominio → completare in Filtro Python).
    • python: calcoli il valore con safe_eval (scalare/lista coerente con l’operatore).

5) Gruppi (AND/OR)

La tabella Gruppi (AND/OR) consente di organizzare e raggruppare più condizioni in insiemi logici.
Ogni gruppo definisce come devono essere valutate le condizioni al suo interno e come deve avvenire la combinazione con altri gruppi.

Funzionamento

  • AND → tutte le condizioni contenute nel gruppo devono risultare vere affinché il gruppo sia valido.
  • OR → è sufficiente che almeno una delle condizioni contenute nel gruppo sia vera affinché il gruppo sia valido.

I gruppi possono essere utilizzati per creare logiche complesse, combinando condizioni multiple tra loro e migliorando la precisione dei controlli.