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

Loop-Knoten zum Iterieren über Sammlungen mit Parallel- und Break-Optionen.

Was es tut​

Iteriert über eine Sammlung und führt die Knoten im Schleifenkörper einmal für jedes Element aus.

Einsatzbereich​

Verwenden Sie Loop, wenn Sie eine Sammlung von Elementen verarbeiten möchten, 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 stoppt, wenn die Sammlung erschöpft ist.

Um die Schleife zu beenden, bevor die Sammlung erschöpft ist, verwenden Sie „Break on condition“ oder einen Break-Handle, die beide unten beschrieben werden.

Konfigurationsreferenz​

FeldErforderlichStandardBeschreibung
SammlungJaKeineArray, über das iteriert werden soll. Geben Sie einen Ausdruck ein, der ein Array ergibt, z. B. $vars.listCustomers1.output.
ParallelNeinAusFührt alle Iterationen gleichzeitig statt nacheinander aus. Wenn deaktiviert, wird die Schleife sequenziell ausgeführt und wartet, bis jede Iteration abgeschlossen ist, bevor die nächste gestartet wird.
Unterbrechen bei BedingungNeinKeineAusdruck, der die Schleife vorzeitig beendet, wenn er nach Abschluss einer Iteration true ergibt. Dies gilt für sequenzielle Schleifen.
Unterbrechungs-Ziehpunkt anzeigenNeinAusFügt der Schleife einen Break-Handle hinzu, damit Knoten innerhalb des Bodys die Schleife frühzeitig verlassen können. Verbinden Sie die Ausgabe eines Knotens mit dem Break-Handle, um die Iteration innerhalb des Bodys zu beenden.
Hinweis:

Die sequenzielle Iteration bewahrt die Reihenfolge und ist erforderlich, damit „Break on condition“ 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 Loop-Grenze, um sie dem Schleifenkörper hinzuzufügen. Knoten im Schleifenkörper können auf das aktuelle Element und die aktuelle Iteration sowie auf alle Variablen im Scope außerhalb der Schleife zugreifen.

Aktuelles Element und Iteration​

Verweisen Sie innerhalb des Schleifenkörpers mit den folgenden Ausdrücken auf den Fortschritt der Schleife:

  • $vars.<loopName>.currentItem ist das Element für die aktuelle Iteration. Greifen Sie mit der Punktnotation auf die Felder zu, z. B. $vars.loop1.currentItem.id.
  • $vars.<loopName>.currentIteration ist die aktuelle Iterationsnummer, beginnend mit 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 mit dem Knoten nach der Schleife fortgesetzt.

currentItem und currentIteration sind außerhalb des Schleifenkörpers nicht zugänglich.

Beispiele​

Beispiel 1 – Eine API für jedes Element aufrufen​

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

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

Beispiel 2 – Ein Ergebnis-Array über mehrere Iterationen hinweg erstellen​

Ein Script-Knoten im Schleifenkörper gibt für jedes Element einen Wert 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 enthält $vars.loop1.output ein Array mit diesen Ergebnissen.

Beispiel 3 – Frühzeitig anhalten, sobald eine Übereinstimmung gefunden wird​

Ein Decision-Knoten im Schleifenkörper überprüft das aktuelle Element. Wenn „Break-Handle anzeigen“ aktiviert ist, wird die entsprechende Verzweigung des Decision-Knotens mit dem Break-Handle der Schleife verbunden, um die Iteration zu beenden, sobald die Übereinstimmung gefunden wurde.

Häufige Probleme​

Der Schleifenkörper wird nie ausgeführt. Die Sammlung ist leer oder undefined. Überprüfen Sie die Ausgabe des vorgelagerten Knotens in der Ausführungsablaufverfolgung, um sicherzustellen, dass das Array Elemente enthält. Eine leere Sammlung überspringt den Schleifenkörper und setzt die Ausführung nach der Schleife fort.

„Break on condition“ wird in einer parallelen Schleife nie ausgelöst. „Break on condition“ wird nach Abschluss jeder Iteration der Reihe nach ausgewertet und gilt daher für sequenzielle Schleifen. Deaktivieren Sie „Parallel“, wenn Sie eine Abbruchbedingung während der Ausführung benötigen.

Das Bearbeiten der Sammlung im Schleifenkörper ändert nicht, worüber iteriert wird. Die Sammlung wird beim Start der Schleife erfasst. Das Ändern der Array-Variable im Schleifenkörper ändert nicht, über welche Elemente iteriert wird. 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