Configurare le fasi e i passaggi del flusso di lavoro in tempo reale

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

FASI
Le fasi del flusso di lavoro in tempo reale facilitano la lettura della logica e la illustrano, 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.

Passaggi
I passaggi sono un'unità di regole business in 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 tempo reale possono eseguire

I processi di flusso di lavoro tempo reale possono eseguire azioni elencate nella tabella seguente.

Azione Descrizione
Crea riga Crea una nuova riga per una tabella e assegna agli attributi i valori che scegli.
Aggiorna riga Puoi aggiornare la riga nella quale il flusso di lavoro in tempo reale è in esecuzione, qualsiasi riga collegata a tale riga in una relazione N:1 o qualsiasi riga creata in passaggi precedenti.
Assegna riga Puoi assegnare la riga in relazione alla quale il flusso di lavoro in tempo reale è in esecuzione, qualsiasi riga collegata a tale riga in una relazione N:1 o qualsiasi riga creata in passaggi precedenti.
Invia messaggio di posta elettronica Invia un messaggio e-mail. Puoi 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 alla quale il flusso di lavoro in tempo reale è 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 tempo reale 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 in una relazione N:1 o qualsiasi riga creata da 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.

Se i flussi di lavoro in tempo reale sono configurati per un evento, l'arresto di un flusso di lavoro in tempo reale con stato annullato impedirà il completamento dell'azione legata all'evento. Vai a Utilizzare flussi di lavoro in tempo reale per ulteriori informazioni.
Passaggio personalizzato Gli sviluppatori possono creare passaggi di flusso di lavoro in tempo reale 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 vuoi rimuovere il valore, seleziona il campo dati dinamico ed eliminalo. 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 seconde 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 tempo reale

Le azioni applicate spesso dipendono dalle condizioni. I processi di flusso di lavoro in tempo reale 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 tempo reale è in esecuzione, tutte le righe collegate a tale riga con una relazione N:1 o i valori nel processo stesso.

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

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

Nell'istruzione "if-<condition> then", è possibile utilizzare i seguenti operatori: Uguale a, Diverso da, Contiene dati, Non contiene dati, Inferiore 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, vai a 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 tempo reale 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 I flussi di lavoro in tempo reale non possono usare le condizioni di attesa. Tuttavia, le condizioni di attesa possono essere utilizzate con i flussi di lavoro in background. Altre informazioni: Impostazioni di condizioni per azioni del flusso di lavoro in background
Ramo di attesa parallela Definisce una condizione di attesa alternativa per un flusso di lavoro in tempo reale, 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 tempo reale. 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 tempo reale 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 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.

Avviare i flussi di lavoro in tempo reale prima o dopo la modifica dello stato

Quando si configura Opzioni per processi automatici per i flussi di lavoro in tempo reale, le opzioni Avvia in caso di per l'evento di modifica dello stato consente di selezionare Dopo o Prima per indicare il momento in cui lo stato deve cambiare. L'opzione predefinita è Dopo.

Quando si seleziona Prima si indica che la logica del flusso di lavoro in tempo reale deve essere applicata prima che i dati che modificano lo stato vengano salvati. In questo modo è possibile controllare i valori prima che altra logica venga applicata dopo l'operazione ed evitare l'esecuzione di logica ulteriore. Ad esempio, è possibile includere una logica aggiuntiva in un plug-in o in un'azione di flusso di lavoro in tempo reale personalizzata che potrebbe avviare azioni in un altro sistema. Interrompendo un'ulteriore elaborazione è possibile evitare i casi in cui vengono interessati sistemi esterni. Applicare flussi di lavoro in tempo reale prima di questo evento significa anche che altre azioni di plug-in o di flusso di lavoro in tempo reale che potrebbero aver salvato i dati non devono essere ripristinate allo stato precedente quando l'operazione è annullata.

Azione Avvia in caso di Spiegazione
Riga creata Dopo Solo Dopo è disponibile. La riga non avrà un identificatore univoco fino a dopo la fase MainOperation interna, quindi non può verificarsi prima della creazione della riga.
Stato della riga modificato Prima
Dopo
Corrisponde a un'operazione di aggiornamento che offre la possibilità di applicare la logica del flusso di lavoro in tempo reale dopo o prima che lo stato cambi. Prima corrisponde alla fase preoperatoria. Dopo corrisponde alla fase post-operazione..
Riga assegnata Prima
Dopo
Corrisponde a un'operazione di aggiornamento che offre la possibilità di applicare la logica del flusso di lavoro in tempo reale dopo o prima che lo stato cambi. Prima corrisponde alla fase preoperatoria. Dopo corrisponde alla fase post-operazione..
Colonne della riga modificate Prima
Dopo
Corrisponde a un'operazione di aggiornamento che offre la possibilità di applicare la logica del flusso di lavoro in tempo reale dopo o prima che lo stato cambi. Prima corrisponde alla fase preoperatoria. Dopo corrisponde alla fase post-operazione..
Riga eliminata Prima Solo Prima è disponibile. L'eliminazione delle righe corrisponde alla fase PreOperation. Dopo che si verifica MainOperation, la riga viene eliminata e non è possono esserci ulteriori modifiche allo stato.

Per ulteriori informazioni sulle fasi pre-intervento, intervento principale e postoperatorio, vedi Pipeline di esecuzione degli eventi.

Utilizzare flussi di lavoro in tempo reale

È possibile configurare i flussi di lavoro in tempo reale, ma è necessario utilizzarli con attenzione. I flussi di lavoro in background sono in genere consigliati perché consentono al sistema di applicarli quando sono disponibili risorse nel server. In questo modo viene semplificato il lavoro che il server deve eseguire e qualsiasi utente del sistema può mantenere le prestazioni migliori. Lo svantaggio consiste nel fatto che le azioni definite dai flussi di lavoro in background non sono immediate. Non è possibile prevedere il momento in cui verranno applicati, ma in genere la previsione richiede pochi minuti. Per una maggiore automazione dei processi aziendali questa situazione è ideale perché agli utenti che eseguono il sistema non è necessario sapere che il processo è in esecuzione.

Utilizzare flussi di lavoro in tempo reale quando un processo aziendale richiede che un utente visualizzi immediatamente i risultati del processo o se si desidera avere la possibilità di annullare un'operazione. Ad esempio, può essere necessario impostare alcuni valori predefiniti per una riga la prima volta che viene salvata o accertarsi che determinate righe non vengano eliminate.

Conversione tra flussi di lavoro in tempo reale e in background

È possibile modificare un flusso di lavoro in tempo reale in un flusso di lavoro in background scegliendo Converti in un flusso di lavoro in background sulla barra degli strumenti.

È possibile modificare un flusso di lavoro in background in uno in tempo reale scegliendo Converti in un flusso di lavoro in tempo reale sulla barra degli strumenti. Se il flusso di lavoro in background utilizza una condizione di attesa diventerà non valido e non sarà possibile attivarlo fino a quando non si rimuove la condizione di attesa.

Avviare i flussi di lavoro in tempo reale prima o dopo la modifica dello stato

Quando si configura Opzioni per processi automatici per i flussi di lavoro in tempo reale, le opzioni Avvia in caso di per l'evento di modifica dello stato consente di selezionare Dopo o Prima per indicare il momento in cui lo stato deve cambiare. L'opzione predefinita è Dopo.

Quando si seleziona Prima si indica che la logica del flusso di lavoro in tempo reale deve essere applicata prima che i dati che modificano lo stato vengano salvati. In questo modo è possibile controllare i valori prima che altra logica venga applicata dopo l'operazione ed evitare l'esecuzione di logica ulteriore. Ad esempio, è possibile includere una logica aggiuntiva in un plug-in o in un'azione di flusso di lavoro in tempo reale personalizzata che potrebbe avviare azioni in un altro sistema. Interrompendo un'ulteriore elaborazione è possibile evitare i casi in cui vengono interessati sistemi esterni. Applicare flussi di lavoro in tempo reale prima di questo evento significa anche che altre azioni di plug-in o di flusso di lavoro in tempo reale che potrebbero aver salvato i dati non devono essere ripristinate allo stato precedente quando l'operazione è annullata.

Utilizzo l'azione Interrompi flusso di lavoro con flussi di lavoro in tempo reale

Quando si applica un'azione Interrompi flusso di lavoro a un flusso di lavoro in tempo reale è possibile specificare uno stato Completato o Annullato. Quando si imposta lo stato come annullato, si impedisce l'operazione. Un messaggio di errore che contiene testo del messaggio relativo all'interruzione verrà visualizzato all'utente con l'intestazione Errore processo aziendale.

Passaggi successivi

Monitorare e gestire i processi del flusso di lavoro in tempo reale
Procedure consigliate per i processi del flusso di lavoro in tempo reale

Nota

Puoi indicarci le tue preferenze di lingua per la documentazione? Partecipa a un breve sondaggio. (il sondaggio è in inglese)

Il sondaggio richiederà circa sette minuti. Non viene raccolto alcun dato personale (Informativa sulla privacy).