Configurare le fasi e i passaggi del flusso di lavoro in background

Quando si progettano flussi di lavoro, è possibile includere logica da eseguire in fasi e passaggi.

Le fasi descrivono la logica del flusso di lavoro e ne semplificano la lettura. ma non influenzano la logica o il comportamento dei flussi di lavoro. Se in un processo sono presenti fasi, tutti i passaggi del processo devono essere contenuti in una fase.

I passaggi rappresentano un'unità della logica di business all'interno di un flusso di lavoro. I passaggi possono includere condizioni, azioni, altri passaggi o una combinazione di questi elementi.

Azioni che i processi di flusso di lavoro in background possono eseguire

I processi di flusso di lavoro in background possono eseguire azioni elencate nella tabella seguente.

Azione Descrizione
Crea riga Crea una nuova riga per una tabella e assegna alle colonne i valori che scegli.
Aggiorna riga È possibile aggiornare la riga su cui viene eseguito il flusso di lavoro in background, tutte le righe collegate alla riga in una relazione N:1 o tutte le righe create dai passaggi precedenti.
Assegna riga È possibile assegnare la riga su cui viene eseguito il flusso di lavoro in background, tutte le righe collegate alla riga in una relazione N:1 o tutte le righe create dai passaggi precedenti.
Invia messaggio e-mail Invia un messaggio e-mail. È possibile scegliere di creare un nuovo messaggio e-mail o di utilizzare un modello di messaggio e-mail configurato per la tabella della riga in relazione al quale il flusso di lavoro in background è in esecuzione, per tutte le tabelle che hanno una relazione N:1 con la tabella o per la tabella relativa a qualsiasi riga creata da passaggi precedenti.
Avvia flusso di lavoro figlio Avvia un processo di flusso di lavoro in background configurato come flusso di lavoro figlio.
Cambia stato Modifica lo stato della riga in relazione al quale il processo è in esecuzione, qualsiasi riga collegato a tale riga con una relazione N:1 o qualsiasi riga creata dai passaggi precedenti.
Arresta flusso di lavoro Interrompe il flusso di lavoro corrente. È possibile impostare uno stato Completato o Annullato e specificare un messaggio di stato.
Passaggio personalizzato Gli sviluppatori possono creare passaggi di flusso di lavoro in background personalizzati che definiscono le azioni. Non sono disponibili passaggi personalizzati per impostazione predefinita.

Impostare valori di riga

Quando crei una riga, puoi impostare valori per la riga. Quando aggiorni una riga puoi impostare, aggiungere, incrementare, decrementare, moltiplicare o cancellare valori.

Quando selezioni Imposta proprietà, viene visualizzata una finestra di dialogo che mostra il modulo predefinito per la tabella.

Nella parte inferiore della finestra di dialogo è possibile visualizzare un elenco di colonne aggiuntive non disponibili nel modulo.

Per tutte le colonne, è possibile impostare un valore statico che verrà impostato dal flusso di lavoro.

Sul lato destro della finestra l'opzione Informazioni e selezione rapida consente di impostare o aggiungere valori dinamici dal contesto della riga corrente. Sono inclusi valori delle righe correlate che sono accessibili dalle relazioni N:1 (molti-a-uno) per la tabella.

Le opzioni disponibili in Informazioni e selezione rapida dipendono dalla colonna selezionata nel modulo. Quando si imposta un valore dinamico, verrà visualizzato un segnaposto giallo denominato "campo dati dinamico" che mostra il punto in cui verranno inclusi i dati dinamici. Se si desidera rimuovere il valore, selezionare il campo dati dinamico ed eliminarlo. Per le colonne di testo, è possibile utilizzare una combinazione di dati statici e dinamici.

Se si utilizzano valori dinamici, non è possibile essere certi che una colonna o una tabella correlata abbia il valore che si desidera impostare. È quindi possibile impostare una serie di colonne per provare a impostare il valore e ordinarli utilizzando le frecce verdi. Se nella prima colonna non è presente alcun dato, verrà provata la seconda colonna e così via. Se in nessuna colonna sono presenti dati, è possibile specificare un valore predefinito da utilizzare.

Impostazioni di condizioni per azioni del flusso di lavoro in background

Le azioni applicate spesso dipendono dalle condizioni. I processi di flusso di lavoro in background consentono di impostare le condizioni in modo diversi e di creare la logica di creazione di rami per ottenere i risultati desiderati. È possibile verificare i valori della riga in relazione al quale il processo di flusso di lavoro in background è in esecuzione, tutte le righe collegate a tale riga con una relazione N:1 o i valori nel processo stesso.

Tipo di condizione Description
Condizione controllo Istruzione logica "if<-condition> then".

È possibile controllare i valori correnti per la riga in relazione al quale il flusso di lavoro in background è in esecuzione, qualsiasi riga collegata a tale riga in una relazione N:1 o qualsiasi riga creata nei passaggi precedenti. In base a questi valori è possibile definire passaggi aggiuntivi quando la condizione è true.

Nell'istruzione "if <condition>then" puoi utilizzare gli operatori seguenti: Uguale a, Diverso da, Contiene dati, Non contiene dati, Inferiore a e Non inferiore a.

Nota: gli operatori Inferiore e Non inferiore a sono gerarchici. Possono essere utilizzati solo per le tabelle con una relazione gerarchica definita. Se si tenta di utilizzare questi operatori con tabelle che hanno una relazione gerarchica definita, verrà visualizzato il messaggio di errore: "Stai utilizzando un operatore gerarchico su una tabella che non ha alcuna relazione gerarchica definita. Converti la tabella gerarchica (contrassegnando una relazione come gerarchica) o utilizza un operatore diverso".

Per altre informazioni sulle relazioni gerarchiche, vedi Definire ed eseguire query sui dati correlati gerarchicamente. La schermata che segue la tabella è un esempio di definizione di processo del flusso di lavoro in background che utilizza gli operatori gerarchici Inferiore e Non inferiore a.
Ramo condizionale Istruzione logica "else-if-then". L'editor utilizza il testo "Otherwise, if <condition> then:"

Selezionare una condizione di controllo definita in precedenza e aggiungere una diramazione condizionale per definire passaggi aggiuntivi quando la condizione di controllo restituisce false.
Azione predefinita Istruzione logica di tipo "else". L'editor utilizza il testo "Otherwise:"

Selezionare una condizione di controllo, la diramazione condizionale, la condizione di attesa oppure il ramo di attesa parallelo precedentemente definito. È possibile utilizzare un'azione predefinita per definire la procedura per tutti i casi che non corrispondono ai criteri definiti nella condizione o negli elementi dei rami.
Condizione di attesa Consente la sospensione automatica di un flusso di lavoro in background fino a quando non vengono soddisfatti i criteri definiti dalla condizione. Il flusso di lavoro in background viene riavviato automaticamente quando vengono soddisfatti i criteri nella condizione di attesa.
Ramo di attesa parallela Definisce una condizione di attesa alternativa per un flusso di lavoro in background, con un insieme corrispondente di passaggi aggiuntivi eseguiti solo se viene soddisfatto il criterio iniziale. È possibile utilizzare rami di attesa paralleli per creare limiti di tempo nella logica del flusso di lavoro in background. In questo modo è possibile evitare attese infinite che i criteri definiti in una condizione di attesa vengano soddisfatti.
Passaggio personalizzato Gli sviluppatori possono creare passaggi di flusso di lavoro in background personalizzati che definiscono le condizioni. Non sono disponibili passaggi personalizzati per impostazione predefinita.

La schermata seguente contiene un esempio di definizione di processo del flusso di lavoro in background con gli operatori gerarchici Inferiore e Non inferiore a. In questo esempio, si applicano due sconti diversi a due gruppi di account. In Aggiungi passaggio, è stata selezionata l'opzione Condizione controllo per specificare la condizione if-then contenente gli operatori di Inferiore o Non inferiore a. La prima condizione if-then viene applicata a tutti gli account che sono Inferiori all'account Alpine Ski House. Questi account ricevono uno sconto del 10% sui servizi e sui prodotti acquistati. La seconda condizione if-then viene applicata a tutti gli account che sono Non inferiori all'account Alpine Ski House e ricevono uno sconto del 5%. Quindi, abbiamo selezionato Aggiorna riga per definire l'azione da eseguire in base alla condizione.

Processo del flusso di lavoro con gli operatori Inferiore/Non inferiore a.

Passaggi successivi

Creare regole business personalizzate attraverso i processi
Panoramica dei processi di flusso di lavoro
Monitorare e gestire i processi del flusso di lavoro in background
Procedure consigliate per i processi del flusso di lavoro in background