Condividi tramite


Configurare un flusso di lavoro con azioni, fasi e passaggi

Questo argomento si applica a Dynamics 365 Customer Engagement (on-premises). Per la versione Power Apps di questo argomento, vedi: Configurare le fasi e i passaggi del flusso di lavoro in tempo reale

Quando si configurano flussi di lavoro, è necessario tenere presenti quattro aspetti principali:

  • Quando iniziarli?

  • I flussi di lavoro devono essere eseguiti in tempo reale o in background?

  • Quali azioni devono eseguire?

  • In quali condizioni le azioni devono essere eseguite?

    Nell'argomento Panoramica dei processi di flusso di lavoro vengono fornite informazioni su come trovare processi di flusso di lavoro, sul momento in cui iniziarli e sull'eventuale esecuzione in tempo reale o in background. In questo argomento vengono illustrate le azioni che i flussi di lavoro possono eseguire e le condizioni in base alle quali eseguire le azioni stesse.

Fasi e passaggi dei flussi di lavoro

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

Fasi.
Le fasi 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 possono eseguire

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

Azione Descrizione
Crea record Crea un nuovo record per un'entità e assegna agli attributi i valori che scegli.
Aggiorna record È possibile aggiornare il record in relazione al quale il flusso di lavoro è in esecuzione, qualsiasi record collegato a tale record in una relazione N:1 o qualsiasi record creato in passaggi precedenti.
Assegna record È possibile assegnare il record in relazione al quale il flusso di lavoro è in esecuzione, qualsiasi record collegato a tale record con una relazione N:1 o qualsiasi record creato da passaggi precedenti.
Invia messaggio 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 l'entità del record in relazione al quale il flusso di lavoro è in esecuzione, per tutte le entità che hanno una relazione N:1 con l'entità o per l'entità relativa a qualsiasi record creato da passaggi precedenti.
Avvia flusso di lavoro figlio Avvia un processo di flusso di lavoro configurato come flusso di lavoro figlio.
Cambia stato Modifica lo stato del record in relazione al quale il processo è in esecuzione, qualsiasi record collegato a tale record con una relazione N:1 o qualsiasi record creato da passaggi precedenti.
Arresta flusso di lavoro Interrompe il flusso di lavoro corrente. È possibile impostare uno stato Completato oppure 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 con stato annullato impedirà il completamento dell'azione legata all'evento. Vedere Utilizzare flussi di lavoro in tempo reale per ulteriori informazioni.
Passaggio personalizzato Gli sviluppatori possono creare passaggi di flusso di lavoro personalizzati che definiscono le azioni. Non sono disponibili passaggi personalizzati per impostazione predefinita.

Impostazione di valori dei record

Quando si crea un record è possibile impostare i valori per il record. Quando si aggiorna un record è possibile impostare, aggiungere, incrementare, decrementare, moltiplicare o cancellare valori.

Quando si seleziona Imposta proprietà, viene visualizzata una finestra di dialogo che mostra il modulo predefinito per l'entità.

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

Per tutti i campi, è 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 del record corrente. Include valori dei record correlati a cui è possibile accedere dalle relazioni N:1 (molti-a-uno) per l'entità.

Le opzioni disponibili in Informazioni e selezione rapida dipendono dal campo selezionato nel modulo. Quando si imposta un valore dinamico, viene visualizzato un segnaposto giallo noto come "campo dati dinamico" che mostra dove verranno inclusi i dati dinamici. Se si desidera rimuovere il valore, selezionare il campo dati dinamico ed eliminarlo. Per i campi di testo, è possibile usare una combinazione di dati statici e dinamici.

Con i valori dinamici non si ha la certezza che un campo o un'entità correlata abbia il valore che si desidera impostare. È possibile impostare un numero di campi per provare a impostare il valore e ordinarli usando le frecce verdi. Se il primo campo non contiene dati, verrà provato il secondo campo e così via. Se in nessun campo sono presenti dati, è possibile specificare un valore predefinito da utilizzare.

Impostazioni di condizioni per azioni del flusso di lavoro

Le azioni applicate spesso dipendono dalle condizioni. I processi di flusso di lavoro 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 del record in relazione al quale il processo di flusso di lavoro è in esecuzione, tutti i record collegati a tale record 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 il record in relazione al quale il flusso di lavoro è in esecuzione, qualsiasi record collegato a tale record in una relazione N:1 o qualsiasi record creato 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 entità con una relazione gerarchica definita. Se si tenta di usare questi operatori sulle entità che non hanno una relazione gerarchica definita, verrà visualizzato il messaggio di errore: "Stai utilizzando un operatore gerarchico su un'entità che non ha alcuna relazione gerarchica definita. Rendi gerarchica l'entità (contrassegnando una relazione come gerarchica) o utilizza un altro operatore". Per ulteriori informazioni sulle relazioni gerarchiche, vedere Eseguire una query e visualizzare la gerarchica dei dati. La schermata che segue la tabella è un esempio di definizione di processo del flusso di lavoro che utilizza gli operatori gerarchici Inferiore e Non inferiore a.
Ramo condizionale Un'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 Un'istruzione "else" logica. 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 a un flusso di lavoro in background di mettersi in pausa finché i criteri definiti dalla condizione non sono stati soddisfatti. Il flusso di lavoro ricomincia automaticamente quando i criteri nella condizione di attesa sono stati soddisfatti.

I flussi di lavoro in tempo reale non possono usare condizioni di attesa.
Ramo di attesa parallelo Definisce una condizione di attesa alternativa per un flusso di lavoro in background con un set corrispondente di passaggi aggiuntivi che vengono eseguiti solo quando viene soddisfatto il criterio iniziale. È possibile usare i rami di attesa parallela per creare limiti di tempo nella logica del flusso di lavoro. 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 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, è stato selezionato Aggiorna record per definire l'azione da eseguire in base alla condizione.

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

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 un record la prima volta che viene salvato o accertarsi che determinati record non vengano eliminati.

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 condizioni 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 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 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 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 è 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.

Vedi anche

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