- Einleitung
- Erste Schritte
- Erstellen Sie auf einer beliebigen Canvas
- Erstellen Sie mit Fall
- Referenz (Reference)
- Definieren von Fallschlüsseln (System vs. extern)
- Erstellen von Task-E/A- und Write-Back-Verträgen
- Modellieren von primären und sekundären Phasen
- Auslösen eines Falls aus Data Fabric
- Implementieren von Personas und Berechtigungen auf Phasenebene
- Festlegen von SLAs und automatisierten Eskalationsregeln
- Konfigurieren einer Nacharbeitsschleife (Wiedereintritt)
- Konfigurieren und Testen des Case Manager-Agents (Vorschau)
- Erstellen Sie mit Flow
- Erstellen Sie mit BPMN
- Betrieb
- Überwachung
- Optimieren
- Referenzinformationen
Übergang von C# zu JavaScript-Ausdrücken
Migrate Maestro Orchestrate processes from C# to JavaScript expressions to align with UiPath's unified scripting experience and deprecation timeline.
Zweck
This page helps you move existing Maestro Orchestrate processes from C# expressions to JavaScript expressions. UiPath is deprecating C# as an expression language in Maestro Orchestrate to provide a unified scripting experience, modern syntax highlighting, and broader compatibility with other Automation Cloud components.
C# expressions are deprecated. Maestro Orchestrate now shows a deprecation warning on all C# expressions, including the planned removal date.
JavaScript is the default expression language for all new Maestro Orchestrate development.
Was diese Änderung bedeutet
- C#-Ausdrücke funktionieren weiterhin und werden vollständig unterstützt, bis sie in einer zukünftigen Version offiziell entfernt werden.
- New Maestro Orchestrate projects and features now use JavaScript expressions by default.
- Wir empfehlen, vorhandene Ausdrücke zu JavaScript zu migrieren, um die Vorwärtskompatibilität zu gewährleisten.
Wenn Sie eine gelbe Warnung sehen, bedeutet dies, dass Ihr Projekt derzeit den älteren C#-Ausdrucks-Editor verwendet.Sie können weiterhin mit Ihren vorhandenen Ausdrücken arbeiten, wir empfehlen jedoch, mit der Migration zu JavaScript zu beginnen.
Die wichtigsten Unterschiede auf einen Blick
| Konzept | C#-Syntax | JavaScript-Syntax | Hinweise |
|---|---|---|---|
| Zeichenfolgenverkettung | "Hello " + name | "Hello " + name | In beiden Sprachen identisch. |
| Groß-/Kleinschreibungskonvertierung | userName.ToUpper() | userName.toUpperCase() | Der Methodenname verwendet Kleinbuchstaben toUpperCase. |
| Gleichheit | amount == 100 | amount === 100 | Verwenden Sie === für strenge Gleichheit. |
| Null oder leer | string.IsNullOrEmpty(x) | !x oder x === "" | JavaScript behandelt null und undefined als falsch. |
| Länge der Sammlungen | items.Count | items.length | Eigenschaftsname unterscheidet sich. |
| Bedingter Ausdruck | amount > 5000 ? "High" : "Low" | amount > 5000 ? "High" : "Low" | Dieselbe Syntax in beiden Sprachen. |
| string-Interpolation | $"Hello {name}" | `Hello ${name}` | Verwenden Sie Backticks (`) für Vorlagenliterale. |
| Aktuelles Datum | DateTime.Now | new Date() | Verwenden Sie das JavaScript-DateObject. |
| Math | Math.Round(x) | Math.round(x) | Funktionsnamen werden in JavaScript in Kleinbuchstaben geschrieben. |
Wie man vorhandene Ausdrücke aktualisiert
Um einen C#-Ausdruck zu JavaScript zu migrieren, öffnen Sie den Ausdruckseditor für jede betroffene Eigenschaft und passen Sie die Syntax mit den Entsprechungen in der obigen Tabelle an.
-
Öffnen Sie den Ausdrucks-Editor für jede betroffene Eigenschaft oder Gateway-Bedingung.
-
Kopieren Sie den C#-Ausdruck und passen Sie ihn mithilfe von JavaScript-Syntax an (siehe Tabelle Schlüsselunterschiede auf einen Blick).
-
Verwenden Sie „Test“ im Editor, um das Ergebnis zu bestätigen.
-
Speichern Sie Ihren Prozess und veröffentlichen Sie ihn erneut.
Ergebnis: Die Ausdrücke werden auf JavaScript-Syntax aktualisiert und der Prozess ist ohne Veraltungswarnungen für die Veröffentlichung bereit.
Validieren Sie bei der Migration komplexer Formeln Variablennamen und stellen Sie sicher, dass alle String-Vergleiche verwenden===.
Beispielmigration
Vorher (C#)
vars.total = items.Sum(x => x.Price);
if (vars.total > 10000) vars.priority = "High";
vars.total = items.Sum(x => x.Price);
if (vars.total > 10000) vars.priority = "High";
Nach (JavaScript)
vars.total = items.reduce((sum, x) => sum + x.Price, 0);
if (vars.total > 10000) vars.priority = "High";
vars.total = items.reduce((sum, x) => sum + x.Price, 0);
if (vars.total > 10000) vars.priority = "High";
Häufig verwendete Äquivalente.
| Häufige Aktion | C# | JavaScript |
|---|---|---|
| Aktivieren Sie mehrere Bedingungen | (a && b) || c | (a && b) || c |
| Parsenummer | int.Parse(x) | parseInt(x) |
| In string konvertieren | value.ToString() | String(value) |
| Auf 2 Dezimalstellen aufrunden | Math.Round(x, 2) | Number(x.toFixed(2)) |
| Vergleichen unter Berücksichtigung der Groß- und Kleinschreibung. | name.Equals("UIPath", StringComparison.OrdinalIgnoreCase) | name.toLowerCase() === "uipath" |
Tipps zum Testen
- Verwenden Sie die Schaltfläche „Testen“ im Ausdrucks-Editor, um Ausgaben zu bestätigen.
- Achten Sie auf Unterschiede bei der Null-Verarbeitung und der Typumwandlung (
===vs==). - Strings und Zahlen werden automatisch in JavaScript konvertiert; verwenden Sie explizite Casts, wenn die Genauigkeit kritisch ist.
Nächste Schritte
- Beginnen Sie mit dem Schreiben neuer Ausdrücke in JavaScript.
- Aktualisieren Sie vorhandene Prozesse im Laufe der Zeit mithilfe dieses Leitfadens.
- Planen Sie die Migration entweder mit Autopilot oder der manuellen Übersetzung.
- Verfolgen Sie zukünftige Versionshinweise zur eventuellen Entfernung von C#-Ausdrücken.