Do Until in Power Automate
in Power Automate sono disponibili varie action per i cicli come Do until.Do until permette di eseguire le action contenute finché la condizione inserita diventa da falsa diventa vera
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).
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.Come si può vedere dall'immagine il conteggio delle iterazioni si è fermato a 2 ma il tempo passato è superiore a 1 minuto.
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.
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 untildove 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
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.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.
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 veraC#
while (true)
{
// istruzioni
}
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.
Questo vuol dire che il ciclo viene sempre eseguito almeno una volta.