in Power Automate sono disponibili varie action per i cicli come Do until.
Action
Action
Do until permette di eseguire le action contenute finché la condizione inserita diventa da falsa diventa vera
Configurazione
Configurazione

Esistono anche altre condizioni che possono provocare l'uscita dal ciclo.
Ad esempio Count indica il numero massimo di cicli che possono essere eseguiti, mentre Timeout esprime una durata massima temporale (vedi Codice ISO 8601 per esprimere una durata temporale).
Almeno una delle due proprietà Count o Timeout deve essere valorizzata, non possono essere entrambi vuote.
La prima proprietà che diventa vera provoca l'uscita dal ciclo.

Esempio

Ad esempio questo Power Automate è una demo per i cicli Do until
description
description
dove abbiamo
  • LoopMaxCount è la variabile che indica il numero massimo di cicli che si vogliono eseguire
  • LoopCount è il contatore del ciclo
  • Do until è un esempio con un ritardo (Delay) per provare la proprietà timeout
  • nel ciclo viene incrementata la variabile LoopCount di 1
il tutto termina dopo 3 iterazioni con successo
Succeded
Succeded

Uscita con Count

Se impostiamo la proprietà Count al valore 2, si uscirà dal ciclo, con successo, dopo 2 iterazioni anche se l'espressione ne permetterebbe 3.

Uscita con Timeout

Se impostiamo la proprietà Timeout a PT1M, ovvero 1 minuto, si uscirà con successo sempre dopo 2 iterazioni.
Questo perché alla prima iterazione sono passati solo 45 secondi, quindi nella seconda iterazione non interviene il timeout.
Quando verrà valutata l'iterazione 3, non verrà eseguita perché a questo punto sono passati 1 minuto e 30 secondi (45+45), quindi superiore al limite impostato.
Timeout
Timeout
Come si può vedere dall'immagine il conteggio delle iterazioni si è fermato a 2 ma il tempo passato è superiore a 1 minuto.
Il timeout viene verificato solo all'inizio di una nuova iterazione, questo vuol dire che l'iterazione corrente non verrà fermata anche se è passato il tempo impostato.
Da notare che, anche se dal ciclo si è usciti a causa della proprietà timeout impostata, la condizione Run after dopo Do untill è sempre succeded e non timeout.
Idem nel caso della proprietà Count, termina sempre con succeded.

Attenzione

Nei linguaggi di programmazione, come C#, un ciclo viene eseguito finché la condizione rimane vera

C#

while (true)
{
   // istruzioni
}
e si esce dal ciclo quando la condizione non è più vera (falsa).

Con il ciclo Do until di Power Automate avviene il contrario, ovvero per eseguire il ciclo la condizione deve essere falsa, una condizione vera provoca l'uscita dal ciclo.
Da notare che le condizioni non vengono valutate appena si entra nel ciclo, ma solo ma alla fine.
Questo vuol dire che il ciclo viene sempre eseguito almeno una volta.
Tags:
Power Automate28
Potrebbe interessarti anche: