FAQ
Viele Fragen und Tipps anderer Entwickler können Sie auch in unserem Forum auf https://forum.accantum.de nachlesen.
Entwicklung
- Wann verwenden ich eine CodeActivity und wann eine NativeActivity?
Eine NativeActivity benötigen Sie, wenn Ihre Aktivität Variablen oder weitere Aktivitäten enthalten soll (Beispiel If, ForEach, SELECT-Abfrage). Weitere Informationen finden Sie hier: https://docs.microsoft.com/en-us/dotnet/framework/windows-workflow-foundation/designing-and-implementing-custom-activities - Wie prüfe, ob der Mandant das Verzeichnis verwenden darf?
Verwenden Sie dazu die Methode "IsInTenantFolder" des Interface "IWmsApiExtension" aus der WmsActivityContracts.dll.
Anforderungen an die Aktivität
- Wie lege ich Icons für meine Aktivität fest?
Fügen Sie Ihrer Aktivität das ToolboxIconAttribute oder das ToolboxBitmapAttribute hinzu. Details finden Sie hier: Icons und Bilder zur Aktivität - Wie kann ich in dem Bereich meiner Aktivität Variablen anlegen? (wie bei einer Sequenz)
- In welcher Gruppe soll meine Aktivität angezeigt werden?
Die Gruppe, in der die Aktivität sich befinden soll, definieren Sie über das ActivityGroupAttribute. Gruppen der [accantum] WMS Aktivitäten können Sie verwenden, indem Sie auf die Resources der WmsActivityContracts.dll zugreifen
Fehlermeldungen der Workflow Engine
- InvalidOperationException: Das Argument des Typs 'System.String' kann nicht verwendet werden. Stellen Sie sicher, dass es für eine Aktivität deklariert ist.
Alle Argumente (In oder Out) einer Aktivität müssen in der CacheMetadata-Methode deklariert werden. In der Regel übernimmt das die Basisklasse (CodeActivity bzw. NativeActivity).
→ Stellen Sie sicher, dass Sie in der CacheMetadata-Methode Ihrer Aktivität die BasisKlasse aufrufen.
→ Sie verwenden eine Auflistung an Argumente (z.B. List<InArgument> oder Dicitonary<string, OutArgument>) oder einen komplexen Typ mit weiteren Argumenten? Dann müssen Sie die Argumente selbst deklarieren.