Primo passo. Configurazione di un processo aziendale/2

Fino ad adesso abbiamo impostato sul “configuratore di processo” che per completare la transazione ogni prodotto registrato in magazzino deve avere una quantità disponibile superiore a 9.

Se compiliamo i campi “tabella join” e “colonna join” allora indichiamo al configuratore che questa condizione è da applicarsi soltanto ai valori registrati sui processi operativi.


Nel nostro esempio vogliamo che soltanto il prodotto inserito nel processo operativo deve essere disponibile in magazzino con una quantità superiore a 9.

In questo caso impostiamo i valori in “tabella join” e “colonna join” a “product” in modo tale da effettuare una “join” tra la colonna “product” del processo operativo con la colonna “product” dell’anagrafica dei prodotti.

Continuando con il nostro esempio, come possiamo vedere dalla figura successiva, ritorniamo sul TAB “transazioni di processo” e generiamo una nuova riga.
Vogliamo che il processo passi da “preparazione ordine” a “ordine effettuato” una volta che viene “completato” il documento di vendita di “Adempiere”.
A questo punto configuriamo la transazione successiva dallo stato “preparazione ordine”.

  • Inseriamo lo stato “preparazione ordine” su “stato processo”.
  • Inseriamo lo stato successivo a “ordine effettuato
  • Impostiamo la “descrizione della transazione” e “messaggio di errore” che verrà registrato nello storico del processo.
  • Sul campo “tabella” impostiamo la tabella del documento che dovrà essere completato. Nel nostro caso impostiamo “C_Order_Ordine di vendita” perché vogliamo che la transazione venga eseguita una completato un ordine di vendita. Dato che in “Adempiere” tutte le tabelle dei documenti possono essere utilizzate sia per il ciclo passivo che per il ciclo attivo allora selezioniamo il flag “transazione di vendita” ad indicare che la tabella “C_Order” non è un acquisto ma una vendita.
  • Impostiamo il campo “magazzino” a “standard” per indicare il magazzino dal quale viene venduto il prodotto.

Per questa transazione non abbiamo bisogno di inserire altre condizioni.

Continuando con l’esempio vogliamo generare una nuova transazione che mi faccia evolvere il processo dallo stato “start” allo stato “reintegro in magazzino” nel caso in cui il prodotto del processo non fosse disponibile in magazzino. Se osservate il flusso del processo (dal diagramma del primo paragrafo sulla configurazione dei processi aziendali) con questa transazione si dovrebbe generare una diramazione al processo. Infatti dallo stato “start”  il flusso potrebbe andare in “preparazione ordine” se il prodotto è disponibile in magazzino, in “reintegro in magazzino” se il prodotto non è in magazzino.

  • Creiamo una nuova riga per generare una nuova transazione esattamente come in precedenza
  • Impostiamo la descrizione della transazione “prodotto non disponibile in magazzino”. Infatti se la transazione viene correttamente eseguita vuol dire che il prodotto non è presente in magazzino.
  • Impostiamo i campi di “stato” e “stato successivo” rispettivamente in “start” e “reintegro in magazzino

Accediamo al TAB “condizioni delle transazioni” per impostare la condizione da verificare affinché ci sia il passaggio di stato.

  • Impostiamo sul campo “tabella M_Storage” e “colonna QtyOnHand”. Colonna delle quantità alla mano di tutti i prodotti.
  • Impostiamo “Operazioni di processo”  ‘<’
  • Impostiamo “numero” a 1
  • Impostiamo la “tabella join” e “colonna join” a “product” in modo tale da considerare soltanto il prodotto del processo operativo

Tutti i valori possiamo visualizzarli nella figura successiva.
Con questa condizione abbiamo impostato che il processo passa da “start” a “reintegro in magazzino” soltanto se il prodotto non è disponibile in magazzino.