Was tun, wenn nicht genügend Würfel vorhanden sind, um einen Roboter zu bauen?

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


Hit-Lösungen auf UiPath Go!

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?


UiPath PackageManager

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

Methodenbeispiel aufrufen

Ü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


Powershell Excel

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.

Source: https://habr.com/ru/post/de443904/


All Articles