- Versionshinweise
- Erste Schritte
- Einstellung und Konfiguration (Setup and Configuration)
- Automationsprojekte
- Abhängigkeiten
- Workflow-Typen
- Dateivergleich
- Beste Praktiken für die Automatisierung (Automation Best Practices)
- Integration der Quellenkontrolle
- Debugging
- Das Diagnose-Tool
- Workflow-Analyse
- Über die Workflow-Analyse
- ST-NMG-001 – Namenskonvention für Variablen
- ST-NMG-002 – Namenskonvention für Argumente
- ST-NMG-004 – Duplizierung des Anzeigenamens
- ST-NMG-005 – Variable überschreibt Variable
- ST-NMG-006 – Variable überschreibt Argument
- ST-NMG-008 – Variablenlänge überschritten
- ST-NMG-009: Datentabellenvariablen mit Präfix versehen
- ST-NMG-011 – Datentabellenargumente mit Präfix versehen
- ST-NMG-012 – Standardwerte für Argumente
- ST-NMG-016 – Argumentlänge überschritten
- ST-DBP-002 – Hohe Anzahl von Argumenten
- ST-DBP-003 – Leerer Catch-Block
- ST-DBP-007 – Mehrere Flussdiagrammebenen
- ST-DBP-020 – Nicht definierte Ausgabeeigenschaften
- ST-DBP-023 – Leerer Workflow
- ST-DBP-024 – Prüfung der Persistenzaktivität
- ST-DBP-025 – Voraussetzung für Variablenserialisierung
- ST-DBP-026 – Verwendung der Verzögerungsaktivität
- ST-DBP-027 – Bewährte Methode für Persistenz
- ST-DBP-028 – Voraussetzung für Argumentenserialisierung
- ST-USG-005 – Hartcodierte Aktivitätsargumente
- ST-USG-009 – Nicht verwendete Variablen
- ST-USG-010 – Nicht verwendete Abhängigkeiten
- ST-USG-014 – Paketbeschränkungen
- ST-USG-020 – Minimale Protokollmeldungen
- ST-USG-024 – Nicht verwendet, gespeichert für später
- ST-USG-025 – Missbrauch gespeicherter Werte
- ST-USG-026 – Aktivitätseinschränkungen
- ST-USG-027 – Erforderliche Pakete
- Variablen
- Verwalten von Variablen
- Das Variablen-Panel
- Proprietäre UiPath-Variablen
- Argumente
- Importierte Namespaces
- Kontrollfluss
- Objekt-Repository
- Protokollierung
- Das ScaleCoordinates-Migrationstool
- Das Tool ScreenScrapeJavaSupport
- StudioPro
- Erweiterungen
- Fehlersuche und ‑behebung
- Internet Explorer x64
- Microsoft Office Interop-Probleme
- Erkennen von UI-Elementen in PDF mit Zugriffsoptionen.
- Erkennen von UI-Elementen nach Windows-Aktualisierungen.
- JxBrowser-Anwendungen
- Überwachung der Benutzerereignisse (User Events Monitoring)
- Java in App-V
- Microsoft App-V – Unterstützung und Einschränkungen
- Citrix-Fehlerbehebung
GenericValue-Variablen
Die GenericValue-Variable ist ein UiPath Studio-spezifischer Variablentyp, in dem beliebige Daten, einschließlich Text, Zahlen, Datumsangaben und Arrays gespeichert werden können.
GenericValue-Variablen werden automatisch in andere Typen konvertiert, um bestimmte Aktionen auszuführen. Es ist jedoch wichtig, diese Variablentypen sorgfältig zu verwenden, da ihre Konvertierung möglicherweise nicht immer für Ihr Projekt geeignet ist.
UiPath Studio verfügt über einen automatischen Konvertierungsmechanismus für GenericValue-Variablen, der Sie durch sorgfältiges Definieren ihrer Ausdrücke zum gewünschten Ergebnis führen kann. Berücksichtigen Sie, dass das erste Element in Ihrem Ausdruck als Richtlinie für die von Studio durchgeführte Operation verwendet wird. Wenn Sie beispielsweise versuchen, zwei GenericValue-Variablen hinzuzufügen, ist das Ergebnis, wenn die erste im Ausdruck als String definiert ist, die Verkettung der beiden. Wenn sie als Integer definiert ist, ist das Ergebnis ihre Summe.
Unterstützte .NET-Methoden
| Name/Syntax | Beschreibung |
|---|---|
|
CompareTo
|
[Klicken Sie hier für Details.][1] [1]: https://msdn.microsoft.com/en-us/library/system.string.compareto(v=vs.110).aspx |
|
Enthält
|
[Klicken Sie hier für Details.][2] [2]: https://msdn.microsoft.com/en-us/library/dy85x1sa(v=vs.110).aspx Wird verwendet, um zu überprüfen, ob eine String-Variable einen bestimmten Teilstring enthält oder nicht. Wenn Sie beispielsweise prüfen möchten, ob ein Satz ein bestimmtes Wort enthält, sollte der Ausdruck |
|
Equals
|
[Klicken Sie hier für Details.][3] [3]: https://msdn.microsoft.com/en-us/library/system.string.equals(v=vs.110).aspx |
|
GetHashCode
|
[Klicken Sie hier für Details.][5] [5]: https://msdn.microsoft.com/en-us/library/system.string.format(v=vs.110).aspx |
|
GetType
|
[Klicken Sie hier für Details.][6] [6]: https://msdn.microsoft.com/en-us/library/system.object.gettype(v=vs.110).aspx |
|
GetTypeCode
|
[Klicken Sie hier für Details.][7] [7]: https://msdn.microsoft.com/en-us/library/system.string.gettypecode(v=vs.110).aspx |
|
IndexOf
|
[Klicken Sie hier für Details.][8] [8]: https://msdn.microsoft.com/en-us/library/system.string.indexof(v=vs.110).aspx Wird verwendet, um den Index einer Teilzeichenfolge zurückzugeben, die in einer Zeichenfolgenvariablen enthalten ist. Wenn Sie beispielsweise den Index des Worts „suchen“ innerhalb des Satzes „In diesem Satz 'suchen' finden“ finden möchten, sollte der Ausdruck |
|
Länge
|
[Klicken Sie hier für Details.][9] [9]: https://msdn.microsoft.com/en-us/library/system.string.length(v=vs.110).aspx Wird verwendet, um die Anzahl der Zeichen in einer String-Variable zurückzugeben. Wenn Sie beispielsweise herausfinden möchten, wie viele Buchstaben ein Wort hat, sollte der Ausdruck |
|
Ersetzen (Replace)
|
[Klicken Sie hier für Details.][10] [10]: https://msdn.microsoft.com/en-us/library/system.string.replace(v=vs.110).aspx Wird verwendet, um Daten in einer String-Variable zu ersetzen. Wenn Sie beispielsweise einen lokalen Dateipfad |
|
Teilen
|
[Klicken Sie hier für Details.][11] [11]: https://msdn.microsoft.com/en-us/library/system.string.split(v=vs.110).aspx Wird verwendet, um einzelne Komponenten aus einer String-Variable zurückzugeben. Wenn Sie beispielsweise das Jahr aus einem Datumsformat MM.TT.JJJJ extrahieren möchten, sollte der Ausdruck |
|
Substring
|
[Klicken Sie hier für Details.][12] [12]: https://msdn.microsoft.com/en-us/library/system.string.substring(v=vs.110).aspx Wird verwendet, um eine Teilzeichenfolge zurückzugeben, die in einer Zeichenfolgenvariablen enthalten ist. Wenn Sie z. B. ein Wort aus dem Satz „Es sind 100 Maschinen verfügbar“ extrahieren möchten, sollte der Ausdruck |
|
ToBoolean
|
[Klicken Sie hier für Details.][13] [13]: https://msdn.microsoft.com/en-us/library/bb346937(v=vs.110).aspx |
|
ToByte
|
[Klicken Sie hier für Details.][14] [14]: https://msdn.microsoft.com/en-us/library/bb355898(v=vs.110).aspx |
|
ToChar
|
[Klicken Sie hier für Details.][15] [1]: https://msdn.microsoft.com/en-us/library/t249c2y7(v=vs.110).aspx |
|
ToDecimal
|
[Klicken Sie hier für Details.][17] [17]: https://msdn.microsoft.com/en-us/library/bb359959(v=vs.110).aspx |
|
ToDouble
|
[Klicken Sie hier für Details.][18] [18]: https://msdn.microsoft.com/en-us/library/bb154906(v=vs.110).aspx |
|
ToInt
|
Wird verwendet, um einen angegebenen Wert in einen Integer-Wert zu konvertieren, der einen Nullwert zulässt. |
|
ToInt16
|
[Klicken Sie hier für Details.][20] [20]: https://msdn.microsoft.com/en-us/library/bb293091(v=vs.110).aspx |
|
ToInt32
|
[Klicken Sie hier für Details.][21] [21]: https://msdn.microsoft.com/en-us/library/bb300452(v=vs.110).aspx |
|
ToInt64
|
[Klicken Sie hier für Details.][22] [22]: https://msdn.microsoft.com/en-us/library/bb359566(v=vs.110).aspx |
|
ToLower
|
[Klicken Sie hier für Details.][23] [23]: https://msdn.microsoft.com/en-us/library/system.string.tolower(v=vs.110).aspx |
|
ToLowerInvariant
|
[Klicken Sie hier für Details.][24] [24]: https://msdn.microsoft.com/en-us/library/system.string.tolowerinvariant(v=vs.110).aspx |
|
ToSByte
|
[Klicken Sie hier für Details.][25] [25]: https://msdn.microsoft.com/en-us/library/bb342232(v=vs.110).aspx |
|
ToSingle
|
[Klicken Sie hier für Details.][26] [26]: https://msdn.microsoft.com/en-us/library/bb360375(v=vs.110).aspx |
|
In Zeichenfolge umwandeln
|
[Klicken Sie hier für Details.][27] [27]: https://msdn.microsoft.com/en-us/library/system.string.tostring(v=vs.110).aspx |
|
ToType
|
[Klicken Sie hier für Details.][29] [29]: https://msdn.microsoft.com/en-us/library/bb358540(v=vs.110).aspx |
|
ToUInt16
|
[Klicken Sie hier für Details.][30] [30]: https://msdn.microsoft.com/en-us/library/bb337265(v=vs.110).aspx |
|
ToUInt32
|
[Klicken Sie hier für Details.][31] [31]: https://msdn.microsoft.com/en-us/library/bb357762(v=vs.110).aspx |
|
ToUInt64
|
[Klicken Sie hier für Details.][32] [32]: https://msdn.microsoft.com/en-us/library/bb155099(v=vs.110).aspx |
|
ToUpper
|
[Klicken Sie hier für Details.][33] [33]: https://msdn.microsoft.com/de-de/library/system.string.toupper(v=vs.110).aspx |
|
ToUpperInvariant
|
[Klicken Sie hier für Details.][34] [34]: https://msdn.microsoft.com/en-us/library/system.string.toupperinvariant(v=vs.110).aspx |
|
Trim
|
[Klicken Sie hier für Details.][35] [35]: https://msdn.microsoft.com/en-us/library/system.string.trim(v=vs.110).aspx |
|
TrimEnd
|
[Klicken Sie hier für Details.][36] [36]: https://msdn.microsoft.com/en-us/library/system.string.trimend(v=vs.110).aspx |
|
TrimStart
|
[Klicken Sie hier für Details.][37] [37]: https://msdn.microsoft.com/en-us/library/system.string.trimstart(v=vs.110).aspx |
Wenn Sie Strg + K, Strg + M oder Strg + Umschalt + M direkt im Aktivitätstext Formatwert verwenden, ist die erstellte Variable oder das Argument vom Typ GenericValue. Bei anderen Aktivitäten entspricht der erstellte Typ dem erforderlichen Typ der Aktivität.
Beispiel der Verwendung einer GenericValue-Variable
Um zu veranschaulichen, wie eine GenericValue-Variable funktioniert, erstellen wir eine Automatisierung, die verschiedene Vorgänge ausführt, deren Ergebnisse davon abhängen, wie wir ihre Ausdrücke definieren. Wir erstellen zwei GenericValue-Variablen mit unterschiedlichen Datentypen und zeigen die Ergebnisse im Panel Ausgabe (Output) an.
-
Erstellen Sie ein neues leeres Projekt.
-
Erstellen Sie drei GenericValue-Variablen:
Int,StrundResult. -
Geben Sie den Wert 12 für die Variable
Intin der Spalte Standard (Default) ein und für die VariableStrden Wert "34". Die erste Variable wird als Integer, die zweite als String interpretiert. -
Fügen Sie eine Zuweisen (Assign)-Aktivität in das Panel Designer (Designer) ein und verbinden Sie sie mit dem Knoten Start.
-
Geben Sie die Variable
Resultim Panel Eigenschaften (Properties) im Feld An (To) ein. -
Geben Sie
Int+Strin das Feld Wert (Value) ein. -
Fügen Sie eine Zeile schreiben (Write Line)-Aktivität hinzu und verbinden Sie diese mit der Aktivität Zuweisen (Assign).
-
Geben Sie die Variable
Resultim Panel Eigenschaften im Feld Text ein.Das finale Projekt sollte wie auf dem folgenden Screenshot aussehen.
-
Drücken Sie F5, um Ihre Automatisierung auszuführen. Beachten Sie, dass im Panel Ausgabe (Output) die Summe der beiden Zahlen angezeigt wird.
-
Kehren Sie zur zuvor hinzugefügten Aktivität Zuweisen zurück und ändern Sie das Feld Wert in
Str+Int, um die Reihenfolge der Variablen umzukehren. Das Projekt sollte wie im folgenden Screenshot aussehen. -
Drücken Sie F5, um Ihre Automatisierung auszuführen. Beachten Sie, dass im Panel Ausgabe (Output) die Verkettung der beiden Zahlen angezeigt wird.
Das bedeutet, dass UiPath Studio das erste in Ihrem Ausdruck definierte Element als Richtlinie für die auszuführende Operation verwendet. Wenn das erste Element in Ihrem Ausdruck eine Integer- oder GenericValue-Variable ist, die als Integer eingegeben ist, addiert UiPath Studio die Elemente.
Wenn das erste Element in Ihrem Ausdruck ein String oder eine GenericValue-Variable ist, die als String eingegeben ist, verkettet UiPath Studio die Elemente.
Warteschlangenobjekt-Variablen
Wir empfehlen Ihnen, die Seite Über Warteschlangen und Transaktionen zu lesen, um einen Überblick über Warteschlangen und Transaktionen zu erhalten, bevor Sie mit der Variable QueueItem fortfahren.
Bevor Sie sich tiefer in die Details des Themas einarbeiten, sollten Sie den Unterschied zwischen Warteschlangenobjekten (Objekten, die in Orchestrator in einer Warteschlange gespeichert sind) und Warteschlangenobjekt-Variablen (Variablen, mit denen in Studio Warteschlangenobjekte bearbeitet werden) verstanden haben. Wir bezeichnen sie genau folgendermaßen: „Warteschlangenobjekt-Variablen“ und „Warteschlangenobjekte“.
Generell speichert die Warteschlangenobjekt-Variable, wie schon der Name besagt, ein Objekt, das aus einem Objekt-Container, einer Warteschlange, extrahiert wurde. Diese Extraktion wird generell zu dem Zweck durchgeführt, diese Warteschlangenobjekte in verschiedenen Szenarien weiterzuverwenden. Sagen wir, Sie repräsentieren eine Bank und haben Einlagen von 50 Kunden. Sie möchten die Daten jedes Kunden bearbeiten, der zuvor einen auf uns bezogenen Scheck von weniger als $ 5000 mit einer Fremdfinanzanwendung eingezahlt hat. Dazu können Sie einen Workflow erstellen, bei dem in der Warteschlangenobjekt-Variablen jeweils die Daten eines Kunden gespeichert sind. Jeder von der Warteschlangenobjekt-Variablen gelesene Eintrag wird in einem Warteschlangenobjekt gespeichert und in Orchestrator zur angegebenen Warteschlange hinzugefügt. Als Ergebnis dieses Prozesses entsteht eine Warteschlange, welche die Kundendaten im entsprechenden Warteschlangenobjekt enthält.
Zur weiteren Bearbeitung der Daten, welche die Bedingung erfüllen, müssen Sie einen weiteren Workflow erstellen, welcher aus der zuvor erstellten Warteschlange diejenigen Objekte extrahiert, die einen entsprechenden auf uns bezogenen Scheckwert von unter $ 5000 aufweisen. Am Ende dieses Kapitels können Sie lesen, wie man ein derartiges Projekt erstellt.
Unterstützte .NET-Methoden
| Name/Syntax | Beschreibung |
|---|---|
|
Equals
| |
|
GetHashCode
| |
|
GetType
| |
|
In Zeichenfolge umwandeln
|
Unterstützte Eigenschaften
| Name/Syntax | Beschreibung |
|---|---|
|
Zugewiesen zu (AssignedTo)
| |
|
Fälligkeitsdatum (DueDate)
|
Das aktuellste Datum mit Uhrzeit, an dem das Objekt verarbeitet werden soll. Ist das Objekt leer, kann es jederzeit bearbeitet werden. |
|
Verschiebungsdatum (DeferDate)
|
Das aktuellste Datum mit Uhrzeit, an dem das Objekt zur Verarbeitung zur Verfügung steht. Ist das Objekt leer, kann es baldmöglichst bearbeitet werden. |
|
ID
| |
|
Objektschlüssel (ItemKey)
|
Der einmalige Identifier des Objekts. Zum Beispiel |
|
Priorität
|
Die Priorität des Warteschlangenobjekts, die bei Studio im Feld Priorität (Priority) im Abschnitt Eigenschaften (Properties) festgelegt wurde. |
|
Verarbeitungsausnahme (ProcessingException)
|
Die Verarbeitungsausnahme eines fehlgeschlagenen Objekts. |
|
Fortschritt
|
Benutzerdefinierte Fortschrittsinformationen über ein Warteschlangenobjekt mit dem Status (In Bearbeitung (InProgress). |
|
ID Warteschlangendefinition (QueueDefinitionId)
|
Der einmalige Identifier der Warteschlange, unter dem ein Warteschlangenobjekt/eine Transaktion erstellt wurde. |
|
Warteschlangenname (QueueName)
|
Der Name der Warteschlange, welche die bearbeiteten Objekte enthält. |
|
Referenz (Reference)
|
Ein benutzerdefinierter Wert zur einfacheren Erkennung des Warteschlangenobjekts. |
|
Anzahl Wiederholungen (RetryNo)
|
Wie oft das Objekt wiederholt wurde. |
|
Status überprüfen (Review Status)
|
Der Überprüfungsstatus des von Orchestrator abgerufenen Warteschlangenobjekts. |
|
RowVersion
|
Ein internes Feld, das für den Versionsstempel verwendet wird. Es wird immer dann aktualisiert, wenn eine Eigenschaft der aktuellen Transaktion geändert wird. |
|
Spezieller Inhalt (SpecificContent)
|
Eine Gruppe von Schlüsselwertepaaren mit benutzerdefinierten zur aktuellen Transaktion gehörenden Daten, wie in der Aktivität Warteschlangenobjekt hinzufügen (Add Queue Item) konfiguriert. |
|
Start Transaktionszeit (StartTransactionTime)
|
Uhrzeit und Datum des Beginns der Transaktionsverarbeitung. |
|
Status
|
Der Status des von Orchestrator abgerufenen Warteschlangenobjekts. |
Beispiel der Verwendung einer Warteschlangenobjekt-Variablen
Aufgrund der Eigenart dieses Beispiels haben wir diesen Abschnitt in zwei Teile aufgespalten, die jeweils einen der beiden Haupt-Workflows darstellen, die beim Arbeiten mit Warteschlangen und Warteschlangenobjekten verwendet werden müssen.
Hinzufügen von Objekten zu einer Warteschlange
Um zu demonstrieren, wie Elemente in eine Warteschlange hinzugefügt werden, erstellen wir eine Automatisierung, die Einträge in einer Datei .xlsxprocesses.Angenommen, Sie stellen ein Bankinstitut dar und haben einen Einzahlungsbericht von 50 Clients. Sie möchten die Daten jedes Kunden, der zuvor einen On-Us Aktivieren unter 5000 USD hinterlegt hat, mithilfe einer Finanzanwendung eines Drittanbieters Prozess verarbeiten.Der Bericht enthält den Namen des Clients, den Wert On-Us Aktivieren und zwei weitere Werte, sagen wir Cash In und Not On-Us Aktivieren.Wir erstellen einen Workflow, in dem die Variable QueueItem die Informationen jedes Clients speichert. Jeder Eintrag, der von der Variable QueueItem gelesen wird, wird dann in einem Warteschlangenelement gespeichert und der angegebenen Warteschlange im Orchestrator hinzugefügt. Das Ergebnis dieses gesamten Prozesses ist eine Warteschlange, die die spezifischen Informationen jedes Clients enthält. Bevor Sie mit dem eigentlichen Workflow fortfahren, sollten Sie sich den Bericht der Clients hier ansehen. Wir werden mit dem Blatt „Juli-Berichte“ arbeiten.
Ohne weitere Umstände:
-
Erstellen Sie eine neue Sequence.
-
Add an Excel Application Scope activity inside the sequence, and define the location of the workbook in the Properties pane of the activity.
-
Inside the Do section, add a Read Range activity to read the desired range of values from the report and store them in a DataTable variable. In our case, type
"A1-D51"or simply leave the default value, “”, which means the entire spreadsheet is read. -
Geben Sie in das Feld Blattname den Namen des Blatts ein,
“July Report”. -
Drücken Sie im Feld Datentabelle (Data Table) Strg + K, um eine neue Datentabellen-Variable zu erstellen, in welcher der zuvor gelesene Datenbereich gespeichert wird. Nennen Sie sie
DataTable1oder ähnlich. Im Abschnitt Variablen (Variables) sollte die neu erstellte Variable überdies folgendermaßen erscheinen: -
Next, add a For Each Row activity to the Designer panel and fill in the blank fields with “row” and the name of the DataTable variable,
DataTable1, respectively. This activity performs the action defined in the Body section for each row in the data table. The Do section should look similar to the following screenshot so far: -
Fügen Sie im Abschnitt Textkörper (Body) der Aktivität Für jede Zeile (For Each Row) eine Aktivität Warteschlangenobjekt hinzufügen (Add Queue Item) hinzu. Damit wird für jede Zeile im Arbeitsblatt ein Objekt zu einer (in Schritt 8 und 12 unten definierten) Warteschlange hinzugefügt.
-
Geben Sie im Abschnitt Eigenschaften im Feld QueueName den Namen der Warteschlange ein, in der Sie die Elemente speichern möchten, zum Beispiel
ReportQueue. -
Klicken Sie im Abschnitt Eingabe (Input) auf die Schaltfläche, die dem Feld Objektinformationen (ItemInformation) entspricht, um das Fenster Objektinformationen (ItemInformation) zu öffnen. Erstellen Sie 4 Argumente, die jeweils einer Berichtsspalte entsprechen. Definieren Sie diese folgendermaßen:
Name, behält die Standardwerte für Richtung (Direction) und Typ (Typ), wobei Wert (Value) aufrow(0).ToStringfestgelegt ist. Damit wird der Wert aus der Spalte mit dem Zähler 0 für jede Zeile des Arbeitsbuches abgerufen. In unserem Fall ist dies der Name des Kunden.CashIn, behält die Standardwerte für Richtung (Direction) und Typ (Typ), wobei Wert (Value) aufrow(1).ToStringfestgelegt ist. Damit wird der Wert aus der Spalte mit dem Zähler 1 für jede Zeile des Arbeitsbuches abgerufen. In unserem Fall ist dies der Einzahlungswert.OnUsCheck, behält die Standardwerte für Richtung (Direction) und Typ (Typ), wobei Wert (Value) aufrow(2).ToStringfestgelegt ist. Damit wird der Wert aus der Spalte mit dem Zähler 2 für jede Zeile des Arbeitsbuches abgerufen. In unserem Fall ist dies der Wert des auf uns bezogenen Schecks.NotOnUsCheck, behält die Standardwerte für Richtung (Direction) und Typ (Typ), wobei Wert (Value) aufrow(3).ToStringfestgelegt ist. Damit wird der Wert aus der Spalte mit dem Zähler 3 für jede Zeile des Arbeitsbuches abgerufen. In unserem Fall ist dies der Wert des Nicht auf uns bezogenen Schecks.
-
Das Fenster Objektinformationen (ItemInformation) sollte ähnlich dem folgenden Screenshot aussehen:
-
Verbinden Sie den Studio-Roboter mit Orchestrator.Weitere Informationen zur Vorgehensweise finden Sie hier.
-
Navigate to https://platform.uipath.com, log in using your credentials, and then create a queue, ReportQueue, to store the items. Make sure that, whatever name you used above (step 8), you use the same here.
-
Gehen Sie zurück zu Studio. Bis dahin sollte Ihr Workflow fehlerfrei und funktionstüchtig sein. Im nächsten Schritt müssen Sie ihn für Orchestrator zur Verfügung stellen. Klicken Sie in dieser Hinsicht auf Design (Design) > Veröffentlichen (Publish).
-
Klicken Sie auf Design (Design) > Ausführen (Run), um den Prozess auszuführen.
Hinweis:Berücksichtigen Sie, dass Warteschlangenobjekte nach Bearbeitung zu Transaktionen werden und als solche zu behandeln sind.
-
Navigate to https://platform.uipath.com again and display the transactions.
Bearbeiten der Transaktionen aus einer Warteschlange
Um zu veranschaulichen, wie Transaktionen aus einer Warteschlange weiterbearbeitet werden, erstellen wir einen weiteren Workflow, welcher aus der zuvor erstellten Warteschlange diejenigen Transaktionen abruft, die einen entsprechenden auf uns bezogenen Scheckwert von unter $ 5000 aufweisen. Für jede Transaktion, welche die Bedingung erfüllt, werden die Werte abgerufen und in eine Drittparteien-Dummy-Anwendung eingefügt. Die restlichen werden als Geschäftsausnahmen beschriftet.
-
Gehen Sie zu Design (Design) > Neu (New) > Flowchart, um eine neue Datei im oben begonnenen Projekt zu erstellen.
-
Add an Open Application activity to open the third-party dummy application. Connect it to the Start node.
-
Tragen Sie die erforderlichen Details (Anzeigename (Display Name), Dateiname (FileName), Selektor (Selector)) im Bereich Eigenschaften (Properties) ein und konfigurieren Sie die Aktivität zum Anmelden mit den entsprechenden Anmeldedaten. Verwenden Sie
adminfür das Feld Benutzername (Username) undpasswordfür das Feld Passwort (Password). -
Tragen Sie im Feld Dateiname (FileName) den Pfad der Anwendung ein.
-
Definieren Sie im Feld Selektor (Selector) mit dem Selektor Editor einen Selektor für UIDemo.
-
Fügen Sie dem Designer-Bereich eine Aktivität Should Anhalten hinzu und verbinden Sie sie mit der Aktivität Anwendung öffnen.
-
Fügen Sie dem Designer-Bereich eine Flow Decision-Aktivität hinzu und verbinden Sie sie mit der Aktivität Should Anhalten.Diese letzten beiden Aktivitäten aktivieren, ob Sie den Auftrag angehalten haben, während er noch ausgeführt wurde.Dadurch haben Sie die Möglichkeit, den Workflow weiter zu konfigurieren, um verschiedene Sicherheitsroutinen auszuführen, nachdem das Anhalten ausgelöst wurde.Unten finden Sie ein Beispiel für eine solche Routine:
- Fügen Sie eine Aktivität Meldung protokollieren (Log Message) hinzu und verbinden Sie diese mit der Verzweigung Wahr (True) der zuvor hinzugefügten Ablaufentscheidung.
- Geben Sie im Bereich Eigenschaften (Properties) im Feld Meldung (Message) „Prozess anhalten erforderlich“ oder Ähnliches ein, das angezeigt wird, wenn Anhalten ausgelöst wird.
- Fügen Sie eine Aktivität Schließen der Anwendung hinzu und verbinden Sie sie mit der zuvor hinzugefügten Aktivität Protokollmeldung.
- Geben Sie im Panel Eigenschaften (Properties) im Feld Anzeigename (DisplayName) hinter Anwendung schließen (Close Application)
UIDemo.exe UIDemoein.
-
Fügen Sie eine Aktivität Transaktionsobjekt abrufen (Get Transaction Item) zur Verzweigung Falsch (False) der zuvor hinzugefügten Ablaufentscheidung (Schritt 7) hinzu. Diese Aktivität ruft die Transaktionsobjekte aus der Warteschlange ab und speichert sie bei jeder Iteration der Schleife in einer Warteschlangenobjekt-Variablen.
-
Geben Sie im Abschnitt Eigenschaften (Properties) im Feld Name der Warteschlange (QueueName) den Namen der Warteschlange ein, in der die Objekte gespeichert werden. In unserem Fall lautet der Name „ReportQueue“, wie im Abschnitt Objekte in eine Warteschlange hochladen (Uploading Items into a Queue) festgelegt.
-
Drücken Sie im Feld TransactionItem Strg+K, um die QueueItem-Variable zu erstellen, in welcher jedes Transaktionsobjekt gespeichert wird. Nennen Sie sie „TransItem“ oder ähnlich.
-
Fügen Sie eine Flow Decision-Aktivität in das Panel Designer ein, und verbinden Sie diese mit der Aktivität Get Transaction Item.
-
Geben Sie im Abschnitt Eigenschaften
TransItem isNot Nothingin das Feld Bedingung ein. Diese Aktivität prüft den Wert jedes Elements, um festzustellen, ob das Ende der Warteschlange erreicht ist. -
Verbinden Sie die Verzweigung False der Ablaufentscheidung mit der in Schritt 7 erstellten Aktivität Log Message. Dadurch wird sichergestellt, dass der Auftrag angehalten wird, wenn das Ende der Warteschlange erreicht ist.
-
Fügen Sie dem Panel Designer eine weitere Flow Decision-Aktivität hinzu, und verbinden Sie sie mit der in Schritt 11 erstellten Verzweigung True der Ablaufentscheidung.
-
Geben Sie im Abschnitt Eigenschaften (Properties) in das Feld Bedingung (Condition)
cint(TransItem.SpecificContent("OnUSCheck").ToString) < 5000ein, wobei.-
cinteine Variable des Typs String in eine vom Typ „Integer“ konvertiert. -
TransItemIst die QueueItem-Variable (Schritt 18), die zum Speichern der Elemente dient. -
SpecificContent("OnUSCheck")den Inhalt des Arguments des auf UNS bezogenen Schecks in jedem Objekt abruft. -
.ToStringden Inhalt der Warteschlangenobjekt-Variablen in eine Variable vom Typ „String“ konvertiert. -
< 5000ist die Bedingung, gegen die geprüft werden soll.Der obige Ausdruck konvertiert den Wert des auf UNS bezogenen Schecks in jeder Warteschlangenobjekt-Variablen in eine String-Variable, die dann weiter in eine „Integer“ konvertiert wird. Der so erhaltene Wert wird auf Übereinstimmung mit der Bedingung geprüft.
-
-
Fügen Sie eine Aktivität Transaktionsstatus festlegen zum Panel Designer hinzu und verbinden Sie diese mit der Verzweigung False der vorherigen Ablaufentscheidung (Schritt 13).
-
Achten Sie darauf, dass im Abschnitt Eigenschaften (Properties) das Feld Status (Status) auf Fehlgeschlagen (Failed) und der Fehlertyp (ErrorType) auf Geschäft (Business) festgelegt ist. Auf diese Weise wird die Transaktion als fehlgeschlagen mit einer Geschäftsausnahme markiert, wenn der Wert des auf UNS bezogenen Schecks größer oder gleich 5000 lautet.
-
Fügen Sie die Variable
TransItemin das Feld Transaktionsobjekt (TransactionItem) ein. -
Geben Sie im Feld Grund (Reason) „Auf UNS bezogener Scheckbetrag ist höher als 5000“ oder Ähnliches ein, um anzuzeigen, dass die Transaktion fehlgeschlagen ist.
-
Verbinden Sie die Transaktionsstatus festlegen (Set Transaction Status)-Aktivität mit der Aktivität Sollte anhalten (Should Stop) (Schritt 6), um eine Schleife zu erstellen und die nächste Transaktion in der Warteschlange zu bearbeiten.
-
Fügen Sie dem Designer-Bereich eine Sequence-Aktivität hinzu und verbinden Sie sie mit dem True-Zweig der vorherigen Flow-Entscheidung (Schritt 13).Fügen Sie in der Sequence eine Try Catch-Aktivität hinzu und konfigurieren Sie sie so, dass alle potenziellen Fehler bei der Verarbeitung der Elemente korrekt als Anwendungsfehler gekennzeichnet werden.
-
Öffnen Sie die UIDemo-Anwendung und melden Sie sich mit dem Benutzernamen
adminund dem Passwortpasswordan. -
Führen Sie die folgende Serie von Aktivitäten für jedes der Felder Einzahlung (Cash In), Auf uns bezogener Scheck (On Us Check) und Nicht auf uns bezogener Scheck (Not On Us Check) in der UIDemo-Anwendung durch:
- Into the previous Try Catch activity, add a Type Into activity.
- Klicken Sie auf Auf dem Bildschirm anzeigen (Indicate on screen) und wählen Sie aus der UIDemo-Bedienoberfläche das leere Feld aus, das „Einzahlung“ entspricht.
- Geben Sie im Abschnitt Eigenschaften
transItem.SpecificContent("CashIn").ToStringin das Feld Text ein. Jeder Begriff des Ausdrucks ist oben in Schritt 15 erläutert. Dieser Ausdruck konvertiert den Wert in jeder QueueItem-Variablen in eine String-Variable. - Make sure that the Simulate Type option is selected.
-
Klicken Sie auf der Registerkarte Design (Design) im Abschnitt Assistenten (Wizards) auf Bildschirm-Scraping (Screen Scraping) und zeigen Sie auf die Transaktionsnummer in der UIDemo-Anwendung.
-
Wählen Sie im Bildschirm-Scraper-Assistenten (Screen Scraper Wizard) eine Scraping-Methode aus und klicken Sie auf Fertigstellen (Finish). Dadurch wird in Ihren Workflow eine Aktivität Bildschirm-Scraping (Screen Scraping) eingefügt. Achten Sie darauf, diese hinter die vorherigen Aktivitäten Eingabe in (Type Into) zu stellen, und geben Sie eine neue Variable, zum Beispiel
TransactionValue, im Feld Text (Text) an. Dadurch wird die Transaktionsnummer für jedes Warteschlangenobjekt abgerufen, das die anfängliche Bedingung erfüllt. -
Fügen Sie eine Aktivität Transaktionsstatus festlegen (Set Transaction Status) hinter der Aktivität Bildschirm-Scraping (Screen Scraping) hinzu.
-
Achten Sie darauf, dass im Abschnitt Eigenschaften (Properties) das Feld Status (Status) auf Erfolgreich (Successful) und der Fehlertyp (ErrorType) auf Anwendung (Application) gesetzt ist. So wird der Transktionsstatus auf Erfolgreich (Successful) gesetzt, wenn der Wertesatz erfolgreich in die Anwendung aufgenommen wurde, oder als Anwendungsausnahme beschriftet.
-
Definieren Sie im Fenster Ausgabe ein neues Argument, und fügen Sie die zuvor erstellte Variable
TransactionValue(Schritt 25) als Wert hinzu. -
Fügen Sie die Variable
TransItemin das Feld Transaktionselement (TransactionItem) ein. -
Fügen Sie eine Klicken- (Click)Aktivität zur Sequence-Aktivität hinter den Aktivitäten Eingeben (Type Into) hinzu.
-
Klicken Sie auf Auf dem Bildschirm anzeigen (Indicate on screen) und wählen Sie die Schaltfläche Akzeptieren (Accept) der UIDemo-Bedienoberfläche aus. Stellen Sie sicher, dass die Option Typ simulieren (Simulate Type) ausgewählt ist.
-
Die Try Catch-Aktivität sollte wie auf dem folgenden Screenshot aussehen.
-
Gehen Sie zurück zum Flowchart, und verbinden Sie die vorherige Sequence-Aktivität (Schritt 21) mit der Aktivität Should Stop (Schritt 6), um eine Schleife zu erstellen und die nächste Transaktion in der Warteschlange zu bearbeiten.
-
Das Flowchart sollte wie auf dem folgenden Screenshot aussehen.
-
Klicken Sie auf Design (Design) > Ausführen (Run), um den Prozess auszuführen.
-
After the execution has ended, you may navigate to https://platform.uipath.com and display the processed transactions with the corresponding processing details:
-
Erfolgreiche Transaktion
-
Fehlgeschlagene Transaktion