Loop
L'azione Loop consente di eseguire ripetutamente un'azione o un insieme di azioni per un determinato numero di volte o finché non viene soddisfatta una condizione.
Per utilizzare l'azione Loop nel workflow, attenersi alla procedura descritta di seguito.
Parte A: configurare l'azione Loop
1. Fare clic su e trascinare l'azione Loop presente nell'utilità Loop nell'area di lavoro. Il blocco Loop viene visualizzato nell'area di lavoro.
2. Posizionare il puntatore del mouse sull'azione, quindi fare clic su o fare doppio clic sull'azione. Viene visualizzata la finestra Loop.
3. Se necessario, modificare l'Etichetta. Per default, il nome dell'etichetta corrisponde al nome dell'azione.
4. Nel campo Seleziona tipo di loop selezionare una delle opzioni seguenti ed eseguire il rispettivo task:
Seleziona tipo di loop
Task
Numero di volte - Ripete uno o più task fino a raggiungere il numero specificato.
Si consiglia di selezionare questa opzione quando il workflow all'interno dell'azione Loop non richiede alcun input dall'azione precedente.
Un esempio del loop Numero di volte è disponibile qui.
Nel campo Numero di volte specificare il numero di volte in cui il loop deve essere eseguito.
Ogni elemento - Ripete uno o più task per ogni elemento in una matrice o una raccolta.
Un esempio del loop Ogni elemento è disponibile qui.
Nel campo Oggetto o matrice di origine mappare l'output di un'azione precedente per fornire un array o un oggetto.
While - Ripete uno o più task fino a soddisfare la condizione specificata.
Un esempio del loop While è disponibile qui.
a. Nel campo Valore iniziale immettere il valore iniziale per il loop. Può essere un numero, un valore booleano, una stringa o un oggetto JSON.
Questo valore imposta il valore $currentItem. Questo valore viene utilizzato una sola volta prima dell'avvio del loop.
b. Nel campo Condizione fornire la condizione. Se si desidera utilizzare un elemento di Valore iniziale, utilizzare $currentItem nell'espressione in linea. Ad esempio: {{$currentItem}} < 5.
Questa condizione viene valutata ogni volta prima dell'esecuzione di un loop. Se la condizione restituisce true, il loop continua; in caso contrario, viene interrotto. Se si imposta la Condizione su 0, false (senza distinzione tra maiuscole e minuscole) o non si specifica alcun valore, la condizione restituisce false e il ciclo viene interrotto.
* 
Se la condizione continua a restituire true all'infinito, il loop viene eseguito fino al timeout del workflow. Il timeout del workflow di default è 3 minuti.
c. Nel campo Valore aggiornato specificare il valore aggiornato. Può essere un numero, un valore booleano, una stringa o un oggetto JSON.
Questo valore aggiorna il valore $currentItem. Questa espressione viene valutata una volta dopo ogni ciclo di loop.
* 
Per il campo Valore aggiornato, è possibile utilizzare l'output di tutte le azioni all'interno del loop. Tuttavia, poiché l'output delle azioni all'interno del loop non viene visualizzato, è necessario mappare manualmente l'output facendo riferimento all'indice dell'azione.
Per Valore iniziale e Condizione, se si utilizza l'output di un'azione all'interno del loop, la Condizione restituisce undefinede il Loop non riesce.
5. Fare clic su Fine.
6. Inoltre, posizionare il puntatore del mouse sul blocco Loop per eseguire le operazioni descritte di seguito.
Fare clic su per ingrandire o ridurre il blocco Loop.
Fare clic su per rimuovere il blocco Loop dall'area di lavoro.
Parte B: aggiungere azioni al di fuori del blocco Loop
1. Sul lato destro dell'editor di workflow, nel pannello AZIONI, trascinare le azioni nell'area di lavoro all'esterno del blocco Loop.
Potrebbero essere presenti una o più azioni prima e dopo il blocco Loop.
2. Connettere l'azione che precede il blocco Loop a .
3. Connettere l'azione che segue il blocco Loop a .
4. Configurare le azioni in base al requisito.
Parte C: aggiungere azioni al blocco Loop
1. Sul lato destro dell'editor di workflow, nel pannello AZIONI, trascinare un'azione nel blocco Loop. Quando l'azione si trova sul blocco Loop, il blocco viene evidenziato. Una volta rilasciata l'azione sul blocco Loop, se si tratta della prima azione del blocco, questa viene connessa automaticamente a .
È possibile aggiungere una o più azioni nel blocco Loop.
Una volta trascinata un'azione nell'area di lavoro all'esterno del blocco Loop, non è possibile trascinarla all'interno del blocco.
2. Aggiungere più azioni al blocco Loop e collegarle una dopo l'altra. Se si desidera, è possibile avere una sola azione all'interno del blocco Loop.
3. Connettere l'ultima azione del blocco Loop a .
4. Configurare le azioni del blocco Loop in base al requisito.
esecuzione
Quando viene eseguito, un workflow inizia con la prima azione, esegue ripetutamente tutte le azioni all'interno del blocco di loop, fino a quando non viene raggiunto un numero o non viene soddisfatta una condizione, quindi procede con le azioni successive.
Schema di output
Per il loop Numero di volte:
currentIndex - L'indice o la posizione dell'iterazione corrente, a partire da 1.
currentKey - L'indice o la posizione dell'iterazione corrente, a partire da 0.
currentItem, currentValue - Il valore corrente dell'iterazione.
totalLength - Numero di volte in cui il loop viene iterato.
Per il loop Ogni elemento:
currentIndex - L'indice o la posizione dell'iterazione corrente, a partire da 0.
currentItem - Se l'origine è un oggetto, la proprietà restituisce il valore corrispondente a currentIndex. Se l'origine è una matrice, questa proprietà restituisce l'oggetto corrente per ogni iterazione.
currentKey - Se l'origine è un oggetto, questa proprietà restituisce le chiavi dell'oggetto. Se l'origine è una matrice, restituisce l'indice di ogni elemento.
currentValue - Se l'origine è un oggetto, questa proprietà restituisce i valori dell'oggetto. Se l'origine è una matrice, la proprietà restituisce tutti gli elementi di una matrice, inclusi gli oggetti, se presenti nella matrice. Per recuperare il valore di una determinata chiave o proprietà, specificare {{$ActionID.currentValue.<NomeProprietà>}}
totalLength - Il numero totale di tutti gli oggetti all'interno di una matrice di oggetti o il numero totale di tutti gli elementi all'interno di una matrice.
Per il loop While:
currentIndex, currentKey - L'indice o la posizione dell'iterazione corrente, a partire da 0.
currentItem, currentValue - Restituisce il valore corrente dell'iterazione.
totalLength - Non definito.
È stato utile?