- Versionshinweise
- Erste Schritte
- Einstellung und Konfiguration (Setup and Configuration)
- Automationsprojekte
- Über die Veröffentlichung von Automatisierungsprojekten
- Entwerfen von Automatisierungen
- Verwalten von Aktivitätspaketen
- Konfigurieren von Aktivitätsprojekteinstellungen
- Signieren von Paketen
- Governance
- Importieren von Entitäten
- Moderne Designumgebung
- Verknüpfen eines Projekts mit einer Idee im Automation Hub
- Verwenden des Data Managers
- Abhängigkeiten
- Workflow-Typen
- Kontrollfluss
- Dateivergleich
- Beste Praktiken für die Automatisierung (Automation Best Practices)
- Integration der Quellenkontrolle
- Informationen zur Versionskontrolle
- Verwalten von Projekten mit TFS
- Verwalten von Projekten mit SVN
- Workflow Diff
- Debugging
- Protokollierung
- 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-NMG-017 – Der Klassenname stimmt mit dem Standard-Namespace überein
- ST-DBP-002 – Hohe Anzahl von Argumenten
- ST-DBP-003 – Leerer Catch-Block
- ST-DBP-007 – Mehrere Flussdiagrammebenen
- ST-DPB-010 – Mehrere Instanzen von [Workflow] oder [Testfall]
- ST-DBP-020 – Nicht definierte Ausgabeeigenschaften
- ST-DBP-021 – Hartcodiertes Timeout
- 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
- ST-USG-028 – Aufruf von Dateivorlagen einschränken
- ST-USG-032 – Erforderliche Tags
- ST-USG-034 – Automation Hub-URL
- Variablen
- Verwalten von Variablen
- Das Variablen-Panel
- Proprietäre UiPath-Variablen
- Argumente
- Importierte Namespaces
- Codierte Automatisierungen
- Einleitung
- Registrieren von benutzerdefinierten Diensten
- „Vor“- und „Nach“-Kontexte
- Generieren von Code
- Generieren eines codierten Testfalls aus manuellen Testfällen
- Triggerbasierte Attended-Automatisierung
- Aufzeichnung
- UI-Elemente
- Selektoren
- Objekt-Repository
- Data-Scraping
- Bild- und Textautomatisierung
- Automatisierung von Citrix-Technologien
- RDP-Automatisierung
- VMware Horizon-Automatisierung
- Salesforce-Automatisierung
- SAP-Automation
- macOS UI-Automatisierung
- Das Tool ScreenScrapeJavaSupport
- Das WebDriver-Protokoll
- Erweiterungen
- Über Erweiterungen
- SetupExtensions-Tool
- „UiPathRemoteRuntime.exe“ wird nicht in der Remotesitzung ausgeführt.
- UiPath Remote Runtime blockiert das Schließen der Citrix-Sitzung
- UiPath Remote Runtime verursacht Speicherverlust
- UiPath.UIAutomation.Activities-Pakete und UiPath Remote Runtime-Versionen stimmen nicht überein
- Die erforderliche UiPath-Erweiterung ist auf der Remotemaschine nicht installiert
- Einstellungen für die Bildschirmauflösung
- Chrome-Gruppenrichtlinien
- Kommunikation mit Browser nicht möglich
- Die Chrome-Erweiterung wird automatisch entfernt
- Möglicherweise ist die Erweiterung beschädigt
- Überprüfen Sie, ob die Erweiterung für Chrome installiert und aktiviert ist
- Überprüfen Sie, ob ChromeNativeMessaging.exe ausgeführt wird
- Überprüfen der korrekten Definition der ComSpec-Variablen
- Aktivieren Sie den Zugriff auf Datei-URLs und den Inkognito-Modus
- Mehrere Browser-Profile
- Group Policy conflict
- Spezifische bekannte Probleme für MV3-Erweiterungen
- Liste der Erweiterungen für Chrome
- Chrome-Erweiterung für Mac
- Edge-Gruppenrichtlinien
- Kommunikation mit Browser nicht möglich
- Die Edge-Erweiterung wird automatisch entfernt
- Möglicherweise ist die Erweiterung beschädigt
- Überprüfen, ob die Erweiterung für Microsoft Edge installiert und aktiviert ist
- Überprüfen Sie, ob ChromeNativeMessaging.exe ausgeführt wird
- Überprüfen der korrekten Definition der ComSpec-Variablen
- Aktivieren des Zugriffs auf Datei-URLs und den InPrivate-Modus
- Mehrere Browser-Profile
- Group Policy conflict
- Spezifische bekannte Probleme für MV3-Erweiterungen
- Liste der Erweiterungen für Edge
- Erweiterung für Safari
- Erweiterung für VMware Horizon
- Erweiterung für Amazon WorkSpaces
- SAP Solution Manager-Plugin
- Excel-Add-in
- Test Suite – Studio
- Fehlersuche und ‑behebung
- Informationen zur Fehlerbehebung
- Microsoft App-V – Unterstützung und Einschränkungen
- Fehlerbehebung bei Internet Explorer x64
- Probleme in Microsoft Office
- Erkennen von UI-Elementen in PDF mit Zugriffsoptionen.
- Reparieren der Active Accessibility-Unterstützung
- Die Validierung großer Windows-Legacy-Projekte dauert länger als erwartet
Proprietäre UiPath-Variablen
Die GenericValue-Variable ist ein 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.
Name/Syntax |
Beschreibung |
---|---|
CompareTo
| |
Enthält
|
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
[SentenceVariable].Contains("term") lauten, wobei [SentenceVariable] die GenericValue-Variable ist, die den Satz enthält, und "term" das Wort, nach dem gesucht werden soll.
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
Equals
| |
GetHashCode
| |
GetType
| |
GetTypeCode
| |
IndexOf
|
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
[SentenceVariable].IndexOf("locate") sein, wobei [SentenceVariable] die GenericValue-Variable ist, die den Satz enthält, und "locate" der Begriff ist, nach dem gesucht werden soll.
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
Länge
|
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
[WordVariable].Length lauten, wobei [WordVariable] die GenericValue-Variable ist, die das Wort enthält.
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
Ersetzen (Replace)
|
Wird verwendet, um Daten in einer String-Variable zu ersetzen. Wenn Sie beispielsweise einen lokalen Dateipfad
C:\ExampleFolder\Main.xaml in den entsprechenden Serverdateipfad C:/ExampleFolder/Main.xaml ändern möchten, sollte der Ausdruck [PathVariable].Replace("\","/") lauten, wobei [PathVariable] die GenericValue-Variable mit dem Dateipfad ist, "\" das zu ersetzende Zeichen und "/" das stattdessen zu verwendende Zeichen.
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
Teilen
|
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
[DateVariable].Split(".".ToCharArray)(2) lauten, wobei [DateVariable] die GenericValue-Variable ist, die das Datum enthält, "." das Zeichen, das als Trennzeichen verwendet wird, .ToCharArray eine Methode, die einen Array mit den durch das Trennzeichen begrenzten Elementen erstellt und (2) der Index des Elements, das zurückgegeben werden soll, in unserem Fall das Jahr.
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
Substring
|
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
[SentenceVariable].Substring(10,3) sein, wobei [SentenceVariable] die GenericValue-Variable ist, die den Satz enthält, 10 der Index des ersten zurückzugebenden Zeichens und 3 die Länge der Teilzeichenfolge ab dem ersten Zeichen ist. In diesem Beispiel wäre die resultierende Teilzeichenfolge „100“.
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
ToBoolean
| |
ToByte
| |
ToChar
| |
ToDecimal
| |
ToDouble
| |
ToInt
|
Wird verwendet, um einen angegebenen Wert in einen Integer-Wert zu konvertieren, der einen Nullwert zulässt. Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Boolean verwenden, werden die Werte „True“ und „False“ in 1 bzw. 0 konvertiert.
|
ToInt16
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Boolean verwenden, werden die Werte „True“ und „False“ in 1 bzw. 0 konvertiert.
|
ToInt32
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Boolean verwenden, werden die Werte „True“ und „False“ in 1 bzw. 0 konvertiert.
|
ToInt64
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Boolean verwenden, werden die Werte „True“ und „False“ in 1 bzw. 0 konvertiert.
|
ToLower
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
ToLowerInvariant
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
ToSByte
| |
ToSingle
| |
In Zeichenfolge umwandeln
| |
ToType
| |
ToUInt16
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Boolean verwenden, werden die Werte „True“ und „False“ in 1 bzw. 0 konvertiert.
|
ToUInt32
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Boolean verwenden, werden die Werte „True“ und „False“ in 1 bzw. 0 konvertiert.
|
ToUInt64
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Boolean verwenden, werden die Werte „True“ und „False“ in 1 bzw. 0 konvertiert.
|
ToUpper
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
ToUpperInvariant
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
Trim
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
TrimEnd
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
TrimStart
|
Hinweis: Wenn Sie diese Methode mit einer GenericValue-Variable vom Datentyp Int, Float oder Boolean verwenden, werden die Daten automatisch in einen String konvertiert, der entsprechend behandelt wird.
|
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.
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
,Str
undResult
. -
Geben Sie den Wert 12 für die Variable
Int
in der Spalte Standard (Default) ein und für die VariableStr
den 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
Result
im Panel Eigenschaften (Properties) in das Feld An (To) ein. - Geben Sie
Int
+Str
in 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).
-
Doppelklicken Sie auf die Aktivitätskarte und geben Sie im Text-Feld die Variable
Result
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.
-
Gehen Sie zur zuvor hinzugefügten Zuweisen (Assign)-Aktivität zurück und ändern Sie das Feld Wert (Value) in
Str
+Int
, um die Reihenfolge der Variablen umzukehren. 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 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.
Wir empfehlen Ihnen, die Seite Über Warteschlangen und Transaktionen (About Queues and Transactions) zu lesen, die eine Übersicht der Warteschlangen und Transaktionen enthält, bevor Sie mit der Variablen Warteschlangenobjekt 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.
Name/Syntax |
Beschreibung |
---|---|
Equals
| |
GetHashCode
| |
GetType
| |
In Zeichenfolge umwandeln
|
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
1bf829e1-cd6b-4275-a364-19db3cfe09c7 .
|
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. |
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
.xlsx
enthaltene Einträge verarbeitet. 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. Der Bericht enthält den Namen des Kunden, den Wert des auf uns bezogenen Schecks und zwei weitere Werte, etwa Einzahlung und Nicht auf uns bezogener Scheck. Wir erstellen einen Workflow, bei dem in der Warteschlangenobjekt-Variablen jeweils die Daten jedes Kunden gespeichert sind. Jeder von der Variablen Warteschlangenobjekt gelesene Eintrag wird in einem Warteschlangenobjekt gespeichert und in Orchestrator zur angegebenen Warteschlange hinzugefügt. Als Ergebnis dieses Prozesses entsteht eine Warteschlange, welche die speziellen Informationen jedes Kunden enthält. Bevor wir mit dem eigentlichen Workflow fortfahren, sollten Sie sich den Kundenbericht hier ansehen. Wir arbeiten mit dem Arbeitsblatt „Juliberichte“.
Ohne weitere Umstände:
- Erstellen Sie eine neue Sequence.
- Fügen Sie eine Excel Process Scope-Aktivität in die Sequence ein.
- Fügen Sie eine Use Excel File-Aktivität hinzu und definieren Sie den Speicherort der Arbeitsmappe im Feld Excel-Datei der Aktivität.
- Fügen Sie eine Read Range-Aktivität hinzu, um den gewünschten Wertebereich aus dem Bericht zu lesen und in einer Datentabelle-Variablen zu speichern.
- Wählen Sie auf der rechten Seite des Felds Bereich die Option Plus > Excel > In Excel angeben aus und wählen Sie einen Zellbereich aus (z. B. A1:D51).
-
Drücken Sie Strg + K im Feld Speichern unter, um eine neue Datentabelle-Variable zu erstellen, die den zuvor gelesenen Datenbereich speichert. Nennen Sie sie
dt_DataTable1
oder so ähnlich. Im Variablen-Bereich sollte die neu erstellte Variable auch wie folgt angezeigt werden:
-
Fügen Sie als Nächstes eine For Each Row in Data Table-Aktivität zum Designer-Bereich hinzu und füllen Sie die leeren Felder mit „row“ bzw. dem Namen der Datentabelle-Variablen,
dt_DataTable1
, aus. Diese Aktivität führt die darin definierte Aktion für jede Zeile in der Datentabelle aus. Die Sequence sollte jetzt wie im folgenden Screenshot aussehen:
- Fügen Sie eine Add Queue Item-Aktivität in die For Each Row in Data Table-Aktivität ein. Dadurch wird für jede Zeile in der Tabelle ein Element zu einer Warteschlange (in den folgenden Schritten 8 und 12 definiert) hinzugefügt.
- Geben Sie im Feld Warteschlangenname den Namen der Warteschlange ein, in der Ihre Elemente gespeichert werden sollen, z. B.
ReportQueue
. -
Klicken Sie auf das Feld unter Elementinformationen, um das Wörterbuchgenerator-Fenster zu öffnen. Erstellen Sie 4 Argumente, die jeweils einer Spalte aus dem Bericht entsprechen. Definieren Sie sie wie folgt:
Name
, behält die Standardwerte für Richtung (Direction) und Typ (Typ), wobei Wert (Value) aufrow(0).ToString
festgelegt 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).ToString
festgelegt 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 (Cash In).OnUsCheck
, behält die Standardwerte für Richtung (Direction) und Typ (Typ), wobei Wert (Value) aufrow(2).ToString
festgelegt 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 (On-Us Check).NotOnUsCheck
, behält die Standardwerte für Richtung (Direction) und Typ (Typ), wobei Wert (Value) aufrow(3).ToString
festgelegt 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 (Not On-Us Check).
-
Das Wörterbuchgenerator-Fenster sollte wie auf dem folgenden Screenshot aussehen:
- Verbinden Sie den Studio-Roboter mit Orchestrator. Die Vorgehensweise ist hier beschrieben.
- Navigieren Sie zu https://cloud.uipath.com, melden Sie sich mit Ihren Anmeldeinformationen an und anschließend erstellen Sie eine Warteschlange, „ReportQueue“, um die Elemente zu speichern. Stellen Sie sicher, dass Sie hier den gleichen Namen wie zuvor in Schritt 8 verwenden.
- 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: TBerücksichtigen Sie, dass Warteschlangenobjekte nach Bearbeitung zu Transaktionen werden und als solche zu behandeln sind. - Navigieren Sie wieder zu https://cloud.uipath.com und zeigen Sie die Transaktionen an.
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.
- Fügen Sie eine Use Application/Browser-Aktivität hinzu, um die Dummy-Drittanbieteranwendung zu öffnen. Verbinden Sie sie mit dem Startknoten.
- Geben Sie die erforderlichen Details (Anzeigename, Dateipfad, Selektor) im Eigenschaften-Bereich ein und konfigurieren Sie die Aktivität, um sich mit den entsprechenden Anmeldeinformationen anzumelden. Verwenden Sie
admin
für das Feld Benutzername undpassword
für das Feld Kennwort. - Tragen Sie in das Feld Dateipfad den Pfad der Anwendung ein.
- Definieren Sie im Feld Selektor (Selector) mit dem Selektor Editor einen Selektor für UIDemo.
- Fügen Sie eine Sollte anhalten (Should Stop)-Aktivität in das Panel Designer (Designer) ein und verbinden Sie diese mit der Aktivität Anwendung öffnen (Open Application).
-
Fügen Sie eine Ablaufentscheidung (Flow Decision)-Aktivität in das Panel Designer (Designer) ein und verbinden Sie diese mit der Aktivität Sollte anhalten (Should Stop). Diese beiden letzten Aktivitäten prüfen, ob Sie den Job angehalten haben, während er noch ausgeführt wurde. Dies gibt Ihnen die Möglichkeit, den Workflow weiter zu konfigurieren, um verschiedene Sicherheitsroutinen auszuführen, nachdem das Anhalten ausgelöst wurde. Nachfolgend sehen Sie ein Beispiel für solch eine Routine:
- Fügen Sie eine Log Message-Aktivität hinzu, und verbinden Sie diese mit der Verzweigung 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 Close Application-Aktivität hinzu, und verbinden Sie diese mit der zuvor hinzugefügten Aktivität Log Message.
- Geben Sie im Panel Eigenschaften (Properties) im Feld Anzeigename (DisplayName) hinter Anwendung schließen (Close Application)
UIDemo.exe UIDemo
ein.
- Fügen Sie eine Get Transaction Item-Aktivität zur Verzweigung 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 QueueItem-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 Nothing
in 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) < 5000
ein, wobei:cint
eine Variable des Typs String in eine vom Typ „Integer“ konvertiert.TransItem
Ist 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..ToString
den Inhalt der Warteschlangenobjekt-Variablen in eine Variable vom Typ „String“ konvertiert.-
< 5000
ist 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
TransItem
in das Feld Transaktionselement (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 eine Sequence-Aktivität zum Panel Designer, und verbinden Sie diese mit der Verzweigung True der vorherigen Ablaufentscheidung (Schritt 13). Fügen Sie in der Sequence eine Try Catch-Aktivität hinzu, und konfigurieren Sie diese so, dass potenzielle Fehler beim Bearbeiten der Elemente korrekt als Anwendungsfehler gekennzeichnet werden.
- Öffnen Sie die UIDemo-Anwendung und melden Sie sich mit dem Benutzernamen
admin
und dem Passwortpassword
an. -
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:
- Fügen Sie in der vorherigen Try Catch-Aktivität eine Use Application/Browser-Aktivität hinzu, um die Anwendung zu öffnen.
- Fügen Sie eine Type Into-Aktivität hinzu.
- Klicken Sie auf Auf Bildschirm anzeigen und wählen Sie das leere Feld, das „Cash In“ entspricht, in der UIDemo-Benutzeroberfläche aus.
- Geben Sie im Feld Dies eingeben
transItem.SpecificContent("CashIn").ToString
ein. Jeder Begriff im Ausdruck wird oben erläutert (Schritt 15). Dieser Ausdruck wandelt den Wert in jeder „QueueItem“-Variablen in eine String-Variable um.
- Fügen Sie eine Get Text-Aktivität nach den vorherigen Type Into-Aktivitäten hinzu und wählen Sie „Ziel auf Bildschirm anzeigen“ aus dem Optionsmenü aus.
- Zeigen Sie auf die Transaktionsnummer in der UIDemo-Anwendung und klicken Sie auf Bestätigen.
- Legen Sie das Feld Text auf eine neue Variable fest, z. B.
TransNumber
. Dadurch wird die Transaktionsnummer für jedes Warteschlangenelement abgerufen, das die ursprüngliche Bedingung erfüllt. - Fügen Sie eine Set transaction status-Aktivität hinter der Get Text-Aktivität hinzu.
- Stellen Sie sicher, dass das Status-Feld auf Erfolgreich und Fehlertyp auf Anwendung festgelegt ist. Wenn der Wertesatz erfolgreich in die Anwendung eingeführt wird, wird der Status der Transaktion auf Erfolgreich festgelegt oder als Anwendungsausnahme bezeichnet.
- Definieren Sie im Fenster Ausgabe ein neues Argument, und fügen Sie die zuvor erstellte Variable
TransNumber
(Schritt 25) als Wert hinzu. - Fügen Sie die Variable
TransItem
in das Feld Transaktionselement (TransactionItem) ein. - Fügen Sie eine Click-Aktivität nach der Set transaction status-Aktivität hinzu.
- Klicken Sie auf Ziel auf Bildschirm anzeigen und wählen Sie die Schaltfläche Akzeptieren in der UIDemo-Benutzeroberfläche aus.
-
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.
- Nach dem Abschluss der Ausführung können Sie zu https://cloud.uipath.com navigieren und die verarbeiteten Transaktionen anzeigen, mit den entsprechenden Verarbeitungsdetails:
-
Erfolgreiche Transaktion
-
Fehlgeschlagene Transaktion