8.1 Configurazione processo avanzato - Gestione Rinnovi Installazioni
DESCRIZIONE DEL FLUSSO
Alla creazione di una nuova installazione il processo si scatenerà ed attenderà fino al raggiungimento della “Data scadenza prossimo rinnovo”.
Una volta verificata la condizione temporale stabilita il processo presenterà un process helper in modalità popup e ne richiederà la compilazione all'assegnatario dell'installazione.
In caso di conferma del rinnovo verrà creato un nuovo rinnovo, verrà aggiornata la “Data scadenza prossimo rinnovo” dell’installazione ed infine si tornerà sul timer ad attendere fino al raggiungimento della “Data scadenza prossimo rinnovo” appena inserita.
In caso contrario invece il processo terminerà dopo aver aggiornato l’installazione con il motivo rifiuto rinnovo inserito dall’utente.
MODULO RINNOVI:
Al fine di storicizzare al meglio tuti i rinnovi eseguiti creiamo un modulo “Rinnovi” con relazione N a 1 con il modulo “Installazioni” e composto dai campi mostrati nella Figura 1
Figura 1
REQUISITI SUL MODULO INSTALLAZIONI:
Sul modulo “Installazioni” creiamo i seguenti campi:
-”Data scadenza prossimo rinnovo” (campo data)
-”Motivo rifiuto rinnovo” (campo area di testo)
ELEMENTI NECESSARI NEL PROCESSO
Per fare questo processo ci serviranno gli elementi elencati qui di seguito:
-Condition Task
-Action Task
-Timer Intermediate Catch Event
-Gateway
-End Event
Se il loro funzionamento non è chiaro consigliamo prima di consultare il capitolo 2 del manuale dei processi.
CONFIGURAZIONE DIAGRAMMA DEL FLUSSO
Utilizziamo gli elementi citati in precedenza per impostare un diagramma come quello mostrato nella Figura 2
Figura 2
CONFIGURAZIONE DEI SINGOLI ELEMENTI DEL FLUSSO
Procediamo con la configurazione dei singoli elementi che compongono il flusso del processo.
Partiamo dalla Condition Task "Creazione nuova installazione".
Nella sezione "Quando eseguire il controllo" selezioniamo l'opzione "Alla creazione” per far partire il processo solamente alla creazione dell’installazione.
Figura 3
Nella ScriptTask “Grafico processo” configuriamo un process helper che sfrutteremo per poter visualizzare il grafico del processo nella tab “Grafico processo” dell’entità collegata (vedi Figura 4).
Figura 4
Nel Timer intermediate catch event impostiamo la seguente configurazione:
Attendi 0 “Prima” “Altro” → variabile “Data prossimo rinnovo dell’installazione” (vedi Figura 5).
Figura 5
Nella ScriptTask "Aggiorna stato installazione in fuori servizio” configuriamo un’azione di aggiorna entità per impostare lo stato dell’installazione in “Fuori servizio” (vedi Figura 6)
Figura 6
Nella UserTask “PH gestione rinnovi” configuriamo un process helper al fine di richiedere all’utente le informazioni necessarie alla gestione del rinnovo.
Configurazione blocco “Process Helper”:
-nel campo “Assegnato a” inseriamo l’assegnatario dell’installazione
-nel campo “Collegato a” inseriamo l’id dell’installazione
-nel campo “Nome Processo” indichiamo il nome che verrà attribuito al processo in questo specifico step, quindi inseriamo la parte statica “Gestione Rinnovi” seguita dal valore della variabile “Nome Installazione”
-nel campo “Azione richiesta” inseriamo una breve descrizione dell’attività da svolgere
-spuntiamo il campo checkbox “Mostra nell’entità collegata” per far attivare la modalità popup del process helper
Il risultato sarà quello mostrato in Figura 7.
Figura 7
Configurazione form dinamica:
Nella form dinamica creiamo i seguenti blocchi:
A) Blocco “Informazioni Installazione” (vedi Figura 8) con i seguenti campi:
1 ”Nome Installazione” (campo testo)
2 "Azienda" (campo picklist)
3 "Data a servizio" (campo data)
4 "Stato" (campo picklist)
Figura 8
B) Blocco “Informazioni Rinnovo”(vedi Figura 9) con i seguenti campi:
1 Campo tabella “Rinnovi” (vedi Figura 10) con le seguenti colonne:
1.1“Nome Rinnovo” (campo testo)
1.2 “Data inizio” (campo data)
1.3“Data fine” (campo data)
1.4“Note aggiuntive”(campo area di testo)
N.B: Impostiamo sia nel campo tabella che nelle singole colonne i permessi in sola lettura poiché al suo interno verranno riportati solamente i rinnovi passati
2 “Azione”(campo picklist) con i seguenti valori: vuoto, “Rinnova” e “Non rinnovare” (vedi Figura 11)-“Numero Mesi rinnovo” (campo numero)
3 ”Note aggiuntive” (campo area di testo)
4 ”Motivo rifiuto rinnovo” (campo area di testo)
Figura 9
Figura 10
Figura 11
Configurazione azione Resetta Form Dinamica
Andiamo a creare un’azione di “Resetta form dinamica” così che al prossimo rinnovo il process helper potrà essere nuovamente compilato in quanto verranno resettati i valori dei campi presenti nella form (vedi Figura 12).
Figura 12
Configurazione campi condizionali su form dinamica
Andiamo ad impostare una serie di regole per gestire i permessi di visibilità dei campi della form al fine di fornire all’utente un’esperienza di compilazione più chiara ed efficiente.
Quindi creiamo le seguenti regole:
-se Azione uguale a Non rinnovare nascondi Numero mesi Rinnovo, Note aggiuntive e metti obbligatorio Motivo rifiuto rinnovo (vedi Figure 13 e 14)
Figura 13
Figura 14
-se campo tabella Rinnovi Passati ha 0 righe nascondilo (vedi Figure 15 e 16)
Figura 15
Figura 16
-se Azione uguale a Rinnova metti obbligatorio Numero mesi Rinnovo e nascondi Motivo rifiuto rinnovo (vedi Figure 17 e 18)
Figura 17
Figura 18
-se Azione uguale a vuoto nascondi Numero mesi Rinnovo, Note aggiuntive e Motivo rifiuto rinnovo (vedi Figure 19 e 20)
Figura 19
Figura 20
Nella ScriptTask “Cicla rinnovi ed inserisci in form dinamica” configuriamo un’azione di cicla record relazionati ed inserisci in campo tabella “Rinnovi Passati” per dare all’utente la visibilità di tutti i rinnovi passati (vedi Figura 21).
Quindi in ogni colonna del campo tabella andiamo ad inserire il valore “corrente” dei corrispettivi campi del modulo Rinnovi(vedi Figura 22).
Figura 21
Figura 22
Nella Condition Task “Controllo PH gestione rinnovo” andiamo ad eseguire un controllo sul campo “Azione” della form del process helper per indirizzare il processo nel ramo relativo al valore inserito dall’utente (vedi Figura 23)
Figura 23
Nel gateway successivo andiamo ad associare ad ogni gruppo di condizioni (inserite nella task precedente) il ramo corrispettivo da percorrere (vedi Figura 24)
Figura 24
Configurazione degli elementi successivi al ramo “Non rinnovare”
Nella ScriptTask “Aggiorna motivo rifiuto rinnovo” configuriamo un’azione di aggiorna entità per aggiornare il campo “Motivo rifiuto rinnovo” dell’installazione con il contenuto del campo “Motivo rifiuto Rinnovo” della form del process helper (vedi Figura 25).
Figura 25
Anche l’endEvent deve essere configuratoconfigurato, in quantoquanto, abbiamo coinvolto un process helper nel processo, quindi si rende necessario andare ad attivare un process helper al suo interno per impostare lo stato del processo in “Terminato” (vedi Figura 26)
Figura 26
Configurazione degli elementi successivi al ramo “Rinnova”
Nella ScriptTask “Aggiorna dati installazione” configuriamo un’azione di aggiorna entità per aggiornare il valore dei seguenti campi (vedi Figura 27):
-“Data scadenza prossimo rinnovo”: Adesso + variabile della form del process helper “Numero mesi Rinnovo”
-”Stato”: “A Servizio”
Figura 27
Nella ScriptTask "Cicla rinnovi precedenti e disattivali” configuriamo un’azione di cicla record relazionati ed aggiorna entità per aggiornare tutti i rinnovi collegati all’installazione impostando il loro stato in “Non attivo” (vedi Figure 28 e 29)
Figura 28
Figura 29
Nella ScriptTask “Crea rinnovo e collegalo all'installazione” configuriamo un’azione di crea entità per creare un record del modulo rinnovi e relazionarlo all’installazione (vedi Figura 30).
Figura 30
Nella ScriptTask “Aggiorna nome rinnovo” configuriamo un’azione di aggiorna entità sul rinnovo per aggiornare il campo “Nome Rinnovo” inserendo il contenuto del campo stesso e successivamente il contenuto della variabile “Numero Rinnovo”.
In questo modo ogni rinnovo che verrà creato avrà una prima parte composta dalla parola “Rinnovo” e una seconda parte composta da un numero dinamico progressivo (Nome Rinnovo). (Vedi Figura 31)
Figura 31