UiPath Documentation
maestro-automate
latest
false
Benutzerhandbuch zu Maestro Automate

Subflow

Group nodes into a subflow that runs as one step inside a workflow, pass data in and out of it, and scope its variables.

A subflow is a workflow embedded within another workflow, called the parent workflow. It groups a set of nodes into a self-contained unit that runs as part of the parent and returns output to it. Subflows organize complex logic into self-contained, manageable groups.

Wie es funktioniert​

Wenn ein übergeordneter Workflow einen Unterflowknoten erreicht, tritt die Ausführung in den Unterflow ein und führt seine Knoten nacheinander aus. Der Unterflow hat seinen eigenen Scope, den Teil eines Workflows, in dem ein Name gelesen werden kann, sodass darin definierte Variablen nicht mit Variablen im übergeordneten Workflow konflikten. Wenn der Unterflow abgeschlossen ist, wird seine Ausgabe an den übergeordneten Workflow zurückgegeben und die Ausführung wird mit dem nächsten Knoten fortgesetzt.

Knoten innerhalb eines Unterflows können auf Folgendes zugreifen:

  • Andere Knoten innerhalb desselben Unterflows.
  • Der Scope des übergeordneten Workflows.

Die Ausgabe des Unterflows ist für den übergeordneten Workflow als $vars.<subflowName>.output zugänglich.

Hinzufügen eines Unterflows​

Ein Subflow- Knoten wird aus dem Panel Knoten hinzufügen hinzugefügt, wo er in der Kategorie Maestro Flow aufgeführt ist, und stellt eine Verbindung mit dem Knoten vor ihm her. Er wird auf der Arbeitsfläche als Knoten mit einem Symbol für gestapelte Ebenen angezeigt. Die Taste Drilldown auf der Daraufzeigen-Symbolleiste des Knotens öffnet das Öffnen des Unterflows als eigene Arbeitsfläche. Ein Breadcrumbs oben links mit einem Startsymbol und dem Namen des Unterflows führt zurück zum übergeordneten Workflow. Die Schaltfläche beginnt mit einem Startknoten , der mit einem Endknoten verbunden ist, und verfügt über die gleiche untere Symbolleiste wie die Hauptarbeitsfläche, sodass Knoten auf die gleiche Weise hinzugefügt werden.

Übergeben von Daten ein- und ausgehend​

Eingaben​

Im Abschnitt Eingaben des Eigenschaftenbereichs des Unterflowknotens werden die Eingabevariablen des Unterflows definiert und ihnen Ausdrücke aus dem übergeordneten Scope zugeordnet. Eingabevariable hinzufügen fügt eine Eingabe hinzu. Jede Eingabe hat einen Namen, einen Typ und einen Wert, einen Ausdruck, der im Scope des übergeordneten Workflows ausgewertet wird. Im Menü Einfügen des Felds Wert werden die Werte dieses Scopes aufgelistet, z. B. die Knoten vor dem Unterflow und $metadata.

Innerhalb des Unterflows sind die Eingaben Ausgaben des Startknotens des Unterflows. Das Menü Einfügen listet diesen Knoten als <subflowName>Start auf, z. B. $vars.subflow1Start.output.orderData. Der Startknoten bietet auch Eingabeargument hinzufügen.

Ausgabe​

Der Abschnitt Ausgaben des Unterflowknotens definiert die Ausgabevariablen des Unterflows. Ausgabevariable hinzufügen fügt eine hinzu, und die Werte werden über die Ausgabezuordnungen des Endknotens innerhalb des Unterflows zugeordnet. Die Ausgabe ist für den übergeordneten Workflow als $vars.<subflowName>.output verfügbar und jede Ausgabevariable ist ein Feld davon, z. B. $vars.subflow1.output.isValid. Jeder Knoten nach dem Unterflow kann in einem Ausdruck darauf verweisen, wie bei jeder anderen Knotenausgabe.

// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid
// Access the output of a subflow named "validateOrder"
$vars.validateOrder.output
$vars.validateOrder.output.isValid

Variablen-Scoping​

Unterflows erstellen ihren eigenen Variablen-Scope. Variablen, die in einem Unterflow aktualisiert werden, erhalten einen Namespace, d. h. sie haben ein Präfix mit dem Namen des Unterflows, um Konflikte mit dem übergeordneten Workflow zu vermeiden.

Außerhalb des Unterflows wird auf die internen Variablen eines Unterflows als $vars.<subflowName>.<variableName> verwiesen. Beispielsweise wird auf eine Variable counter in einem Unterflow mit dem Namen subflow1 im übergeordneten Workflow als $vars.subflow1.counter verwiesen.

Innerhalb des Unterflows greifen Knoten mithilfe des Standardmusters $vars.<nodeName>.<property> auf die Ausgabe ihrer gleichgeordneten Knoten zu. Sie können auch direkt aus dem Scope des übergeordneten Workflows lesen.

Hinweis:

Der Variablen-Namespace verhindert, dass die internen Variablen eines Unterflows übergeordnete Variablen mit demselben Namen überschreiben. Variablennamen müssen nicht zwischen dem übergeordneten und dem Unterflow koordiniert werden.

Beispiel aus der Praxis​

Ein übergeordneter Workflow ruft einen Unterflow auf, um Bestelldaten zu validieren, bevor er verarbeitet wird.

Der übergeordnete Workflow hat drei Knoten:

  1. HTTP-Anforderung (httpRequest1): Ruft Bestelldaten von einer externen API ab.
  2. Unterflow (validateOrder): validiert die Bestelldaten und gibt ein Ergebnis zurück.
  3. Entscheidung (decision1): Verzweigt basierend auf dem Validierungsergebnis.

Der validateOrder -Subflow hat einen Knoten, Script (script1), der überprüft, ob die erforderlichen Felder vorhanden sind und dass die Auftragssumme über Null ist:

const order = $vars.validateOrderStart.output.orderData;
const isValid = order.items.length > 0
  && order.total > 0
  && order.customerId !== undefined;
return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" };
const order = $vars.validateOrderStart.output.orderData;
const isValid = order.items.length > 0
  && order.total > 0
  && order.customerId !== undefined;
return { isValid: isValid, reason: isValid ? "OK" : "Missing required fields" };

Der Abschnitt Ausgaben des Unterflowknotens definiert eine Ausgabevariable mit dem Namen isValid mit dem Booleschen Datentyp und der Endknoten innerhalb des Unterflows ordnet sie $vars.script1.output.isValid zu. Zurück im übergeordneten Workflow bewertet der Entscheidungsknoten $vars.validateOrder.output.isValid === true und leitet entweder zu einem Erfüllungspfad oder einem Fehlerbehandlungspfad weiter.

Nächste Schritte​

  • Variablen und Datenfluss: Regeln für den Variablen-Scoping, Ausdruckssyntax und $vars -Zugriffsmuster.
  • Die Arbeitsfläche „Flow“: die Arbeitsfläche, der Eigenschaftenbereich und der Bereich Knoten hinzufügen.
  • Fehlerbehandlung: Konfigurieren von Fehlerbehandlungen für Knoten, einschließlich innerhalb von Unterflows.
  • Community: Stellen Sie Fragen und teilen Sie Workflows mit anderen Buildern im UiPath Forum.

War diese Seite hilfreich?

Verbinden

Benötigen Sie Hilfe? Support(opens in new window)

Möchten Sie lernen? UiPath Academy(opens in new window)

Haben Sie Fragen? UiPath-Forum(opens in new window)

Auf dem neuesten Stand bleiben