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.

Ausdruckssyntax

JavaScript-Ausdruckssyntax für Variablen, Operatoren und Bedingungen in Flow-Workflows.

Flow-Ausdrücke sind JavaScript. Sie verweisen auf Variablen mit dem Präfix $vars und berechnen Werte in Konfigurationsfeldern, Entscheidungs- und Switch-Bedingungen sowie Skriptcode.

Wie Daten zwischen Knoten übergeben werden und wie das Variablenmodell im Detail funktioniert, finden Sie unter „Variablen und Datenfluss“.

Variablenreferenzen​

Jeder Wert, auf den Sie verweisen, befindet sich unter $vars:

$vars.httpRequest1.output.body      // node output
$vars.orderTotal                    // variable
$vars.manualTrigger1.output.userId  // trigger input
$vars.httpRequest1.output.body      // node output
$vars.orderTotal                    // variable
$vars.manualTrigger1.output.userId  // trigger input
  • Knotenausgabe: $vars.<nodeName>.output. Jeder Knoten stellt sein Ergebnis unter .output bereit. Die Form dieses Object hängt vom Knoten ab; Informationen zu den Ausgabefeldern finden Sie daher auf der Referenzseite des jeweiligen Knotens.
  • Variablen: $vars.<name>.
  • Trigger-Eingaben: $vars.<triggerName>.output.<inputName>.

Verwenden Sie für verschachtelte Eigenschaften die Punkt-Notation; für Array-Elemente die Klammer-Notation:

$vars.httpRequest1.output.body.customer.email
$vars.httpRequest1.output.body.items[0].id
$vars.httpRequest1.output.body.customer.email
$vars.httpRequest1.output.body.items[0].id

Wo Sie Ausdrücke schreiben​

Flow hat je nach Feld zwei Modi:

Literale (Text)-Felder – betten Sie einen Ausdruck in den umgebenden Text mit doppelt geschweiften Klammern ein. Verwenden Sie dies nur, wenn ein Aufforderungs- oder Vorlagentext erwartet wird:

https://api.example.com/users/{{ $vars.manualTrigger1.output.userId }}
https://api.example.com/users/{{ $vars.manualTrigger1.output.userId }}

Ausdrucksfelder (Entscheidungs- und Switch-Bedingungen, der Abschnitt Variable aktualisieren) und Skript--Code – schreiben Sie den Ausdruck direkt ohne Klammern:

$vars.httpRequest1.output.statusCode === 200
$vars.httpRequest1.output.statusCode === 200

Operatoren​

Standard-JavaScript-Operatoren werden unterstützt:

OperatorBeispielErgebnis
Gleichheit$vars.status === "active"true oder false
Ungleichung$vars.count !== 0true oder false
Vergleich$vars.price > 100true oder false
Logisches UND$vars.isVerified && $vars.isActivetrue oder false
Logisches ODER$vars.role === "admin" || $vars.role === "owner"true oder false
Ternär$vars.count > 0 ? "has items" : "empty"string

String-Operationen​

"Hello, " + $vars.firstName
$vars.message.toUpperCase()
$vars.email.includes("@uipath.com")
"Hello, " + $vars.firstName
$vars.message.toUpperCase()
$vars.email.includes("@uipath.com")

Vorlagen-Literale kombinieren Variablen und statischen Text:

`Hello ${firstName}, your order #${orderId} has shipped.`
`Hello ${firstName}, your order #${orderId} has shipped.`

Optional Chaining​

Verwenden Sie ?., um sicher auf Eigenschaften zuzugreifen, die möglicherweise nicht definiert sind:

$vars.httpRequest1.output.body?.items?.[0]?.id
$vars.httpRequest1.output.body?.items?.[0]?.id

Gibt undefined zurück, anstatt einen Runtime-Error auszulösen, wenn eine Zwischeneigenschaft NULL oder nicht definiert ist.

Null-Koaleszenz​

Verwenden Sie ??, um einen Standardwert anzugeben, wenn ein Wert NULL oder nicht definiert ist:

$vars.userName ?? "Anonymous"
$vars.userName ?? "Anonymous"

Häufige Fehler​

SymptomeUrsacheWas zu tun ist
Ein Ausdruck wird aufgelöst zu undefinedSie haben auf die Ausgabe eines Knotens verwiesen, bevor dieser Knoten ausgeführt wird, oder auf ein Feld, das in der Ausgabe nicht vorhanden istVerweisen Sie nur auf die Ausgabe von vorgelagerten Knoten; aktivieren Sie die Referenzseite des Knotens für seine tatsächlichen Ausgabefelder. Verwenden Sie die optionale Ketten-Funktion (?.) für Eigenschaften, die möglicherweise fehlen.
Eine Entscheidungs- oder Switch-Bedingung verhält sich unerwartet oder schlägt fehlDie Bedingung ist kein einfacher Boolean-Ausdruck, z. B. als return Anweisung geschriebenSchreiben Sie einen einfachen Ausdruck, der in trueoder false aufgelöst wird, z. B. $vars.order1.output.total > 1000. Verwenden Sie nicht return.
Cannot find name '$vars' (oder '$self' )Die Variable befindet sich auf diesem Knoten nicht im Scope oder $self wird in einem Knoten verwendet, der keine eigene Ausgabe erzeugt.Verweisen Sie nur auf Variablen, die in der Variablenauswahl für diesen Knoten angezeigt werden.$vars wird nur in Variablen im Scope aufgelöst; $self ist nur auf Knoten verfügbar, die eine Ausgabe erzeugen.
Ein Wert aus einem anderen Knoten ist nicht als Verweis verfügbarScope ist nur vorgelagert – ein Knoten kann keine nachgelagerten Knoten, keine Geschwisterknoten oder Knoten in einer Schleife sehen, die er bereits verlassen hatStrukturieren Sie den Prozess um, sodass der produzierende Knoten dem Ort vorgelagert ist, auf den Sie verweisen, oder übertragen Sie den Wert durch eine Variable, die im Scope ist.
$vars.<node>.error ist nicht verfügbarDie Error-Ausgabe eines Knotens ist nur im Scope, wenn die Fehlerbehandlung aktiviert ist (oder sein Error-Pfad verbunden ist)Aktivieren Sie die Error-Behandlung auf dem Knoten oder verbinden Sie seinen Error-Handle und verweisen Sie dann auf $vars.<node>.error.
{{ }} wird als literaler Text angezeigt oder ein Textfeld wird nicht aufgelöstModus-Diskrepanz: {{ }} Funktioniert nur in literalen (Text)-FeldernVerwenden Sie {{ $vars.x }} nur in Nur-Text-Feldern; in Ausdrucksfeldern sowie in Decision- und Switch-Bedingungen schreiben Sie $vars.x direkt ohne geschweifte Klammern.

Decision- und Switch-Bedingungen werden zur Runtime als Ausdrücke ausgeführt. Eine return-Anweisung ist nur im Code eines Script-Knotens gültig.

Hinweise​

  • Ausdrücke werden zur Runtime und nicht zur Entwurfszeit ausgewertet. Syntaxfehler werden angezeigt, wenn der Knoten ausgeführt wird.
  • Ein Ausdruck in einem Konfigurationsfeld muss in den vom Feld erwarteten Typ aufgelöst werden – ein Bedingungsfeld muss zu true oder false aufgelöst werden.
  • Die Präfixe = und =js:, die Sie möglicherweise in einer .flow-Datei sehen, sind interne Serialisierungsformate. Sie geben sie nie im Editor ein.
  • Die Typprüfung erfolgt nach bestem Wissen und Gewissen. Verweise auf lose typisierte Ausgaben (Objekte oder Arrays, die als any typisiert sind) werden nicht vollständig validiert, sodass ein Tippfehler in einem verschachtelten Feldnamen unbemerkt bleiben kann – überprüfen Sie verschachtelte Pfade anhand der Ausgabe des Knotens.

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