Workflow di documenti: come costruire un processo di approvazione

Una delle funzionalità più importanti di Adempiere è la possibilità di creare e modificare workflow di documenti. Questo rende il sistema flessibile alle esigenze di qualsiasi utilizzatore.

 

In questo esempio mostreremo come modificare il processo di fatturazione del fornitore. In particolare vogliamo introdurre lo stato “approvato” su una fattura di un fornitore.

Il funzionamento che vogliamo ottenere è il seguente.

 

Quando un fornitore emette una fattura, viene inserita nel sistema. Se la somma della fattura è inferiore ai 100.000 euro allora deve essere approvata da un ruolo di amministrazione.

Altrimenti la fattura rimane in stato “non approvata”.

 

modifica del flusso al processo “fatturazione”:

Accedere al sistema tramite il ruolo di SystemAdmin ed aprire la maschera Amministrazione di sistema->Configurazione generale->Workflow->Workflow.

 

Selezionare il processo “Process_Invoice” ed accedere al TAB nodo.

Creare un nuovo nodo (come in figura) che chiameremo “approval step”.


Nel nostro esempio l’azione da assegnare al nodo deve essere di tipo manuale. Infatti noi vogliamo che sia l’utente abilitato a dover scegliere se approvare o meno la fattura.

Per fare questo impostiamo “nessuno (manuale)” nel nodo appena creato. Scegliamo la colonna “isApproved” come colonna dove agirà l’aziione dell’utente.

 

A questo punto accediamo al TAB “nodi successivi”, facciamo “nuovo” ed inseriamo il nodo successivo dopo l’approvazione. Nel nostro caso vogliamo che il documento passi in stato “completato”. Vedi figura.

 

Ora che abbiamo creato lo stato e la transazione di approvazione possiamo modificare il vecchio flusso operativo. Andiamo sul TAB “nodo” e selezioniamo il nodo “DocPrepare”. Da questo nodo, se entriamo nel TAB “nodi successivi”, abbiamo una transazione di default verso il nodo “DocComplete”. Prima di questa transazione ne dobbiamo aggiungere un’altra per raggiungere il nodo appena creato “Approval Step”. Su “nodi successivi” creare un nuovo record ed inserire “Approval Step” nel campo “Nodo Successivo”. Vedi figura.

 

Creata la transazione, a questo punto, inseriamo anche una condizione accedendo al TAB “condizione”.

Tale condizione deve essere verificata affinchè la transazione risulti valida.

Come visualizzabile nella figura successiva la condizione creata permetterà al sistema di eseguire la transazione solo se il documento fa parte del ciclo passivo (isSoTrx=N).

 

Quali utenti o ruoli e con quali condizioni si possono approvare i documenti?

  • Approvazione di documenti di cui l’utente approvante è propretario. L’utente è abilitato ad approvare i suoi stessi documenti se nelle impostazioni del suo ruolo è abilitato il flag “può approvare i propri documenti”

  • Approvazione di documenti fino ad un importo fissato (obbligatorio): nelle impostazioni del ruolo utente è possibile assegnare un importo limite al di sotto del quale tutti i documenti devono essere approvati dall’utente stesso.

  • Se la valuta del ruolo è diversa da quella impostata nel workflow allora l’importo viene calcolato sulla conversione alla valuta del workflow.

  • L’approvazione avviene soltanto nel caso in cui l’importo del documento è minore dell’importo fissato nel ruolo utente.

Il processo di approvazione vale allo stesso modo anche per gli utenti supervisori di un determinato ruolo.