UiPath Documentation
maestro
latest
false
Benutzerhandbuch zu Maestro
Wichtig :
Es kann 1–2 Wochen dauern, bis die Lokalisierung neu veröffentlichter Inhalte verfügbar ist.

Schleife

Schleifenknoten für die Iteration über Sammlungen mit Parallel- und Unterbrechungsoptionen.

Was es tut

Durchläuft eine Sammlung und führt die Knoten im Schleifenkörper einmal für jedes Element aus.

Einsatzbereich

Verwenden Sie eine Schleife, wenn Sie eine Sammlung von Elementen zu verarbeiten haben, z. B. eine Liste von Datensätzen, die von einer API zurückgegeben werden, eine Liste von Dateien oder eine Liste von IDs. Die Schleife wird einmal pro Element ausgeführt und wird angehalten, wenn die Sammlung erschöpft ist.

Um die Sammlung zu beenden, bevor sie erschöpft ist, verwenden Sie Unterbrechung bei Bedingung oder ein Unterbrechungshandle, wie unten beschrieben.

Konfigurationsreferenz

FeldErforderlichStandardBeschreibung
SammlungJaKeineArray, das durchlaufen werden soll. Geben Sie einen Ausdruck ein, der in ein Array aufgelöst wird, z. B. $vars.listCustomers1.output.
ParallelNeinAusFührt alle Iterationen gleichzeitig aus, anstatt nacheinander. Wenn diese Option deaktiviert ist, wird die Schleife sequenziell ausgeführt und wartet auf das Ende jeder Iteration, bevor die nächste gestartet wird.
Unterbrechen bei BedingungNeinKeineAusdruck, der die Schleife frühzeitig beendet, wenn er nach Abschluss einer Iteration true wird. Dies gilt für sequenzielle Schleifen.
Unterbrechungs-Ziehpunkt anzeigenNeinAusFügt der Schleife ein Unterbrechungshandle hinzu, damit Knoten innerhalb des Textkörpers die Schleife frühzeitig beenden können. Verbinden Sie die Ausgabe eines Knotens mit dem Unterbrechungshandle, um die Iteration innerhalb des Textkörpers zu stoppen.
Hinweis:

Eine sequenzielle Iteration bewahrt die Reihenfolge und ist erforderlich, damit Unterbrechung bei Bedingung funktioniert, da die Bedingung nach Abschluss jeder Iteration überprüft wird. Parallele Iterationen werden nicht in einer garantierten Reihenfolge ausgeführt.

Der Schleifenkörper

Ziehen Sie Knoten innerhalb der Schleifenbegrenzung, um sie dem Textkörper hinzuzufügen. Knoten im Textkörper können das aktuelle Element und die Iteration sowie alle Variablen im Scope außerhalb der Schleife lesen.

Aktuelles Element und Iteration

Verweisen Sie im Textkörper auf den Fortschritt der Schleife mit diesen Ausdrücken:

  • $vars.<loopName>.currentItem ist das Element für die aktuelle Iteration. Greifen Sie auf seine Felder mit Punktnotation zu, z. B. $vars.loop1.currentItem.id.
  • $vars.<loopName>.currentIteration ist die aktuelle Iterationsnummer, beginnend bei 1.

Diese sind nur innerhalb des Schleifenkörpers verfügbar.

Ausgabe

Nach Abschluss aller Iterationen sind die aggregierten Ergebnisse der Schleife unter $vars.<loopName>.output verfügbar. Die Ausführung wird dann auf dem Knoten nach der Schleife fortgesetzt.

currentItem und currentIteration sind außerhalb des Schleifentexts nicht zugänglich.

Beispiele

Beispiel 1 – Rufen Sie eine API für jedes Element auf

Die Schleife iteriert über $vars.listCustomers1.output. Der Schleifenkörper enthält einen HTTP-Anforderungsknoten mit der URL:

https://api.example.com/customers/{{ $vars.loop1.currentItem.id }}
https://api.example.com/customers/{{ $vars.loop1.currentItem.id }}

Beispiel 2 – Erstellen Sie ein Ergebnis-Array über Iterationen hinweg

Ein Skriptknoten im Schleifenkörper gibt einen Wert für jedes Element zurück. Die Schleife sammelt das Ergebnis jeder Iteration in $vars.loop1.output:

return { id: $vars.loop1.currentItem.id, processed: true };
return { id: $vars.loop1.currentItem.id, processed: true };

Nach der Schleife ist $vars.loop1.output ein Array dieser Ergebnisse.

Beispiel 3 – Früh anhalten, sobald eine Übereinstimmung gefunden wurde

Ein Entscheidungsknoten im Schleifenkörper überprüft das aktuelle Element. Wenn Unterbrechungshandle anzeigen aktiviert ist, wird der übereinstimmende Zweig der Entscheidung mit dem Unterbrechungshandle der Schleife verbunden, um die Iteration zu beenden, sobald die Übereinstimmung gefunden wird.

Häufige Probleme

Der Schleifenkörper wird nie ausgeführt. Die Sammlung ist leer oder undefined. Überprüfen Sie die Ausgabe des Upstream-Knotens in der Trace, um zu bestätigen, dass das Array Elemente enthält. Eine leere Sammlung überspringt den Text und setzt nach der Schleife fort.

Eine Unterbrechungsbedingung wird nie in einer Parallelschleife ausgelöst. Eine Unterbrechungsbedingung wird ausgewertet, nachdem jede Iteration der Reihe nach abgeschlossen wurde, also gilt sie für sequenzielle Schleifen. Deaktivieren Sie Parallel, wenn Sie eine laufende Bedingung unterbrechen müssen.

Das Bearbeiten der Sammlung innerhalb des Textkörpers ändert nicht, was iteriert wird. Die Sammlung wird erfasst, wenn die Schleife startet. Das Ändern der Array-Variable innerhalb des Textkörpers ändert nicht, welche Elemente iteriert werden. Dies ist beabsichtigt.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support

Möchten Sie lernen? UiPath Academy

Haben Sie Fragen? UiPath-Forum

Auf dem neuesten Stand bleiben