Mein vorheriger
Artikel wurde hauptsächlich für Projektmanager und RPA-Manager geschrieben. Ich möchte diesen Artikel zunächst an Programmierer und diejenigen richten, die sich mit Robotik auseinandersetzen müssen.
Die ersten Prozesse, die ein neu erstellter RPA-Programmierer erstellen muss, kosten normalerweise eine Reihe von Standardblöcken, die im Lieferumfang der Plattform enthalten sind. Aber was ist, wenn sie fehlen? Fast jede moderne RPA-Plattform kann auf die eine oder andere Weise erweitert werden, sei es durch Aufrufen einer DLL-Methode in AA, von Groovy-Code in WF oder von Code Stage in BP.
Dieser Artikel handelt jedoch von einer Plattform, mit der ich gut vertraut bin (UiPath). Wenn Sie also andere Geschmäcker und Farben von Robotern bevorzugen, sollten Sie sich nicht im Voraus beleidigen lassen.

Obwohl einige Dinge in dem Artikel ziemlich banal sind und Sie sie lernen können, indem Sie die entsprechenden Kurse belegen, die Dokumentation lesen oder das Forum studieren, scheint es mir, dass viele es nützlich finden, sie an einem Ort zu sehen, als Artikel in russischer Sprache. Wenn Sie Ergänzungen oder Kommentare haben, werde ich versuchen, den Artikel so zu finalisieren, dass er so nützlich und relevant wie möglich ist.
Die Möglichkeiten, die Funktionalität des Artikels zu erweitern, reichen von den einfachsten (vorgefertigter Download) bis zu den schwierigsten (eigene schreiben).
App Store

Seit Ende 2018 hat UiPath so etwas wie einen „App Store“ namens
Go . Entwickler aus der ganzen Welt, einschließlich der Mitarbeiter des Unternehmens, teilen nützliche (oder nicht so) Benutzeraktionen, Codeteile, Vorlagen für Anwendungen und andere nützliche Entwicklungen, die das Leben erheblich vereinfachen.
Es gibt viel von allem, zum Beispiel
einen hervorragenden Konnektor für Salesforce, der den Löwenanteil der Arbeit übernimmt, oder einen von Abbyy für Abby Flexicapture geschriebenen Konnektor.
Dies ist nun die Methode zur Erweiterung der vom Hersteller selbst empfohlenen Funktionalität. Darüber hinaus hat dort bereits die Migration von Erweiterungen begonnen, die früher im offiziellen NuGet-Repository (Galerie) gespeichert waren.
Haben Sie sich den PackageManager angesehen?

Ein bisschen mehr Hardcore, aber für den Durchschnittsbenutzer immer noch recht zugänglich, ist die Verwendung der Paketmanager-Funktionalität.
Es wurde über
NuGet implementiert, was bedeutet, dass uns nicht nur "öffentliche" Repositorys verwenden, sondern auch niemand uns stört, eigene Repositories zu erstellen und diese innerhalb des Unternehmens zu verwenden, um Aktionen und Bibliotheken unseres eigenen Designs zu verteilen.
Wir
suchen im Paketmanager nach dem
UiPath- Schlüsselwort und erhalten eine große Anzahl verschiedener Aktionen, die unsere Funktionen erheblich verbessern, ohne dass wir uns darum bemühen müssen.
Daher werden jetzt recht offizielle Plattformkomponenten verteilt, einschließlich des Web Activities Pack (für die Arbeit mit
SOAP
und
REST
API), Word (basierend auf
Xceed DocX
) oder Zip (raten Sie, mit was Sie arbeiten).
Repositories, in denen die wichtigsten "Goodies" sind:
Über Code aufrufen
Der einfachste und schnellste Weg, um Ihrem Prozess Funktionen hinzuzufügen, wenn nicht genügend vorgefertigte „Blöcke“ vorhanden sind und Sie diese nicht finden konnten.
Sie können einen kleinen Code in
VB.Net
und in die
InvokeCode
Aktion
InvokeCode
. So können Sie beispielsweise mit kniffligen API-Aufrufen für Rest arbeiten, wenn der Standard-
UiPath.Web.Activities.HttpClient
nicht ausreicht, oder externe Bibliotheken wie
Xceed DocX
oder
PdfSharp
.
Lassen Sie sich von dieser und anderen ähnlichen Methoden nicht InvokeCode
wenn Sie mehr als 10 Codezeilen in InvokeCode
. Obwohl Intellisense und Validierung dort funktionieren, werden Ihre Kollegen Ihnen nicht dafür danken, dass Sie solche „Programme“ unterstützen. Nehmen Sie sie zu einer Benutzeraktion oder einem externen Programm heraus, da es dafür genügend Methoden gibt.
Ähnliches gibt es immer noch die
Invoke Method
, mit der Sie im Prinzip die Methode jeder Klasse aufrufen können, die dem Projekt über Abhängigkeiten hinzugefügt wird.
Hier wird es beispielsweise zum Entpacken des Archivs verwendet

Über <alles andere> aufrufen
Neben dem "nativen"
VB.NET
können Sie mit UiPath viele andere Programmiermethoden verwenden, die "für jeden Geschmack und für alle Bedürfnisse" lauten.
Powershell

Wenn
VB.NET
nicht ausreicht,
VB.NET
andere Programmiersprachen. Bei Office-Anwendungen ist es beispielsweise für einen erfahrenen Administrator praktisch,
Powershell
zu bearbeiten und die Aktion "
Invoke Power Shell
Powershell
verwenden.
In demselben Outlook können Sie beispielsweise endlos Tasten drücken, um das zu tun, was einige Befehle mit PS tun.
Ein solches Skript gibt beispielsweise den letzten Buchstaben in einem beliebigen Ordner zurück Add-type -assembly "Microsoft.Office.Interop.Outlook" | out-null $olFolders = "Microsoft.Office.Interop.Outlook.olDefaultFolders" -as [type] $outlook = new-object -comobject outlook.application $namespace = $outlook.GetNameSpace("MAPI") $inbox = $namespace.getDefaultFolder($olFolders::olFolderInbox) $folder = $inbox.Folders.Item(“ ”) ($folder.Items.Restrict('[UnRead] = True') | Select-Object -Last 1)
COM-Objekte
In modernen Systemen ist die Notwendigkeit dafür natürlich nicht so groß, aber mit Hilfe der
Invoke COM Method
Sie auf die in einigen DLLs verborgene Funktionalität zurückgreifen.
Vba
Wenn Sie mit Excel arbeiten, können Sie ein VBA-Skript darauf "festlegen", indem Sie Invoke VBA ausführen. Das Skript sollte sich in einer separaten Datei befinden (dies ist praktisch, da Office-Dateien mit Makros jetzt nicht sehr geschätzt werden). Dies ist praktisch für diejenigen, die gut in VBA programmieren können und etablierte Bibliotheken nicht aufgeben möchten.
Python
Eine große Hilfe für die Arbeit mit ML und allen Arten von Berechnungen ist die Möglichkeit, Python-Skripte in den Prozess einzubetten. Um mit ihnen arbeiten zu können, müssen Sie mehrere zusätzliche Gesten ausführen. Erstens sind diese Aktionen jetzt in einer coolen, aber nicht offiziell unterstützten Reihe von
Community-Aktivitäten auf GitHub dargestellt. Zweitens müssen Sie Python und sicherlich Version 3.6 installieren und immer im Stammverzeichnis von Laufwerk C.
Übrigens gibt es in denselben Community-Aktivitäten Kryptografie, FTP und einige andere potenziell nützliche Dinge.
Die Dokumentation und der (veraltete) Beispielcode können hier
heruntergeladen werden . Wenn jemand Hilfe bei der Integration von UiPath und Python benötigt - schreiben Sie, werde ich versuchen, dies genauer zu beschreiben.
Java
Ungefähr das Gleiche: Das Paket wird unabhängig von Community-Aktivitäten zusammengestellt. Unterstützte JAR-Dateien, die mit JDK 1.5 und höher kompiliert wurden. Der Pfad zu Java muss in
PATH
.
Die UiPath-Website enthält eine
Dokumentation zur Verwendung und
einen Beispielprozess mit Java .
Durch Benutzeraktionen
Leider kann nicht jeder den Application Store oder die Pakete anderer verwenden. Beispielsweise darf der Sicherheitsdienst beispielsweise häufig keine Roboterteile verwenden, die nicht vom Anbieter oder innerhalb des Unternehmens geschrieben wurden. Dann müssen Sie die Ärmel hochkrempeln.
Die UiPath-Plattform wird mit der
Microsoft Workflow Foundation erstellt . Für uns bedeutet dies, dass Sie jederzeit Ihre eigene Aktion (Aktivität) schreiben und dem Prozess hinzufügen können. Wenn eine aktive Verwendung durch Geschäftsbenutzer erwartet wird, kann die Aktion mithilfe des Formular-Designers in eine schöne benutzerdefinierte Benutzeroberfläche umgewandelt werden. Wenn Sie sie schneller benötigen, reicht ein einfaches Rechteck aus, das über Eigenschaften konfiguriert werden kann.
Glücklicherweise ist der Prozess des Erstellens einer Aktion
dokumentiert , obwohl nicht sehr detailliert, aber Sie können immer die umfangreiche [MS-Dokumentation] (https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/) von verwenden Aktionen und Artikel darüber im Internet schreiben.
Ein Beispiel für die einfachste Aktion in C # using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Activities; using System.ComponentModel; namespace ClassMathCustomActivity { public class SimpleFormula : CodeActivity { [Category("Input")] [RequiredArgument] public InArgument<double> FirstNumber { get; set; } [Category("Input")] public InArgument<double> SecondNumber { get; set; } [Category("Output")] public OutArgument<double> ResultNumber { get; set; } protected override void Execute(CodeActivityContext context) { var firstNumber = FirstNumber.Get(context); var secondNumber = SecondNumber.Get(context); var result = System.Math.Pow(firstNumber + secondNumber, 2); ResultNumber.Set(context, result); } } }
Die erstellte Aktion muss mit dem
NuGet-Paket-Explorer in
.nupkg
werden. Anschließend sollte das erstellte Paket zu Studio hinzugefügt werden.
Es ist besser, die erste Aktion nicht von vorne zu beginnen, sondern die zuvor erwähnten
Community-Aktivitäten zu nutzen , bei denen es viele vorgefertigte Aktionen unterschiedlicher Komplexität gibt.
Abschließend
Wie Sie sehen, gibt es mehr als genug Optionen zum Erweitern der Funktionalität, vom einfachsten InvokeCode bis zum Schreiben Ihrer eigenen Aktion. Dies bedeutet, dass es unabhängig von Ihrer Aufgabe immer die Möglichkeit gibt, diese schnell zu lösen, oft ohne ein Fahrrad zu erfinden :)
Ich hoffe, dieser Artikel ist hilfreich für Sie, wenn Sie coole Roboterprozesse erstellen. Ich würde mich freuen, wenn Sie uns mitteilen, wie wichtig diese Informationen für Sie waren und was Sie sonst noch wissen möchten.