Aufgabe starten
WMS 2020 (1.1.0)
Inhalt
- 1 Eigenschaften
- 2 Abbrechen einer Aufgabe
- 3 FAQ und Beispiele
- 3.1 Variable erstellen
- 3.2 Wie kann ich eine Aufgabe automatisch für den Benutzer starten, der den Workflow gestartet hat?
- 3.3 Wie kann ich Aufgaben gleichzeitig starten und warten bis die erste abgeschlossen ist?
- 3.4 Wie erhalte ich die Aufgaben ID? Sobald die Aufgabe gestartet ist, pausiert sich ja der Workflow.
- 4 Verwandte Themen
Diese Aktivität startet eine ausgewählte Aufgabe für eine Gruppe oder einen Benutzer und setzt dabei die für die Aufgabe nötigen Felder und Dokumente. Wird die Aktivität z.B. aufgrund eines Fehlers in der Workflow-Definition abgebrochen, wird auch die dazugehörige Aufgabe abgebrochen.
Eigenschaften
Eingabe
Name | Beschreibung | Datentyp | Erforderlich / Versionshinweis |
---|---|---|---|
Aufgabendefinition | Die zu startende Aufgaben-Definition. | ||
Version | Die Version der ausgewählten Aufgaben-Definition. | Auswahlliste | |
Benutzer/Gruppe | Der Benutzer oder die Gruppe, für die die Aufgabe sichtbar sein soll. Angegeben werden muss der eindeutige Identifier (Guid) der jeweiligen Gruppe/ des jeweiligen Benutzers. | ||
Wiedervorlagedatum | Datum, ab dem die Aufgabe in einer Ansicht angezeigt wird (voraussgesetzt, der Filter ist gesetzt) | Nullable<DateTime> | ab WMS 2020 (1.1.1) |
Nur lesend | Legt fest, ob die Aufgabe nur gelesen werden kann. Es können keine Änderungen an der Aufgabe vorgenommen werden. | Bool | |
Kann abgebrochen werden | Legt fest, ob die Aufgabe durch den Benutzer abgebrochen werden kann (siehe "Abbrechen einer Aufgabe"). | Bool | |
Dokumentenmappe | Eine Mappe, um Dokumente in der Aufgabe hinzuzufügen, zu entfernen und zu bearbeiten. Mit "wmsDocFolder.GetDocuments()" können Sie die Dokumente der Mappe ermitteln (“wmsDocFolder” ist die Variable für die Dokumentmappe, welche z.B. mit der Aktivität “Dokumentmappe erstellen” angelegt werden kann). | ab WMS 2020 (1.1.0) | |
Felder | Felder, die der Aufgabe hinterlegt werden. Als Ausgabe erhalten Sie die zugeordneten Felder mit Wert nach der Bearbeitung. | ||
Kommentare | Kommentare, welche der Aufgabe übergeben werden können (z.B. aus einer vorhergehenden Aufgabe) | List<WmsTaskComment> | ab WMS 2020 (1.1.1) |
Ausgabe
Name | Beschreibung | Datentyp | Erforderlich |
---|---|---|---|
Felder | Die zugeordneten Felder mit Wert nach der Bearbeitung. | ||
Schaltfläche | Die Schaltfläche, mit der der Benutzer die Aufgabe bestätigt hat. | Guid | |
Bearbeiter | Der Benutzer, der die Aufgabe bestätigt hat. | Guid | |
Aufgaben ID | ID der gestarteten Aufgabe (kann in der Aktivität Aufgabe beenden verwendet werden). | Integer | |
Kommentare | Liste mit Kommentaren, welche der Aufgabe übergeben bzw. neu hinzugefügt wurden | List<WmsTaskComment> | ab WMS 2020 (1.1.1) |
Abbrechen einer Aufgabe
Abbruch durch den Benutzer
Falls im Workflow das Kennzeichen "Kann abgebrochen werden" gesetzt wurde, kann die Aufgabe im WMS-Portal durch den Benutzer abgebrochen werden. Bestätigen Sie hierfür die dazugehörige Schaltfläche in der geöffneten Aufgabe im Portal.
Schaltfläche “Aufgabe abbrechen“ im Portal
Ist das Kennzeichen "Kann abgebrochen werden" nicht gesetzt, ist diese Schaltfläche im WMS-Portal nicht sichtbar.
Wird eine Aufgabe durch einen Benutzer abgebrochen, erzeugt die Aktivität eine Exception. Um den Workflow dennoch fortzusetzen, müssen Sie die "Aufgabe starten" Aktivität in eine "TryCatch" Aktivität legen. Fangen Sie zur weiteren Ausführung des Workflows die "WmsTaskCancelledException" ab.
Abbrechen einer Aufgabe
Warnung: Falls eine Aufgabe abgebrochen wird, die nicht die "WmsTaskCancelledException" abfängt, führt dies zu einem Fehler im Workflow und folglich zum Abbruch des gesamten Workflows.
Abbruch durch die Aktivität selbst
Bei Fehlern: Wird die Aktivität aufgrund eines Fehlers in der Workflow-Definition durch das System abgebrochen, so wird auch die gestartete Aufgabe als abgebrochen markiert.
In einer Pick-Aktivität: Schließt ein anderer Branch der Pick-Aktivität vor dieser Aktivität ab, wird sowohl die Aktivität als auch Aufgabe abgebrochen.
Abbruch durch die Aktivität Aufgabe beenden
Die Aktivität Aufgabe abbrechen kann jede Aufgabe abbrechen, unabhängig davon, ob das Kennzeichen "Kann abgebrochen werden" gesetzt ist. Dazu benötigt die Aktivität die Id der gestarteten Aufgabe.
FAQ und Beispiele
Variable erstellen
WMS 1.1.4 Mit dem “+” neben den Eingabe Feldern können Sie eine Variable erstellen.
Tragen Sie dazu einen Variablennamen ein (achten Sie darauf, dass er keine ungültigen Zeichen enthält und noch nicht vergeben ist. Klicken Sie dann das +, um die Variable automatisch mit dem passenden Typ zu erstellen.
Wie kann ich eine Aufgabe automatisch für den Benutzer starten, der den Workflow gestartet hat?
→ Verwenden Sie im Ausdruckseditor das System-Argument "SYS_StartedByUserId", um auf die ID des Benutzer zuzugreifen, der den Workflow gestartet hat.
Beachten Sie, dass des Argument "SYS_StartedByUserId" leer (Guid.Empty) ist, wenn der Workflow durch einen Ausführungsplan gestartet wurde! Die Verwendung würde zu einem Fehler bei Start der Aufgabe führen.
Wie kann ich Aufgaben gleichzeitig starten und warten bis die erste abgeschlossen ist?
→ Verwenden Sie eine Pick-Aktivität und fügen Sie zwei Branches (dt. Zweige) mit jeweils einer "Aufgabe starten"-Aktivität ein. Sobald eine Aufgabe abgeschlossen ist, wird die jeweils andere abgebrochen. (Beispiel siehe rechts)
→ Wenn die Anzahl der zu startenden Aufgaben dynamisch ist (z.B. für bestimmte Gruppen) können Sie das Paralleles ForEach verwenden. Sobald die erste Aufgabe abgeschlossen setzen Sie "CompletitionCondition", um alle anderen ausstehenden Aufgaben zu beenden.
Wie erhalte ich die Aufgaben ID? Sobald die Aufgabe gestartet ist, pausiert sich ja der Workflow.
→ Um an die ID der Aufgabe zu gelangen (während die Aufgabe noch läuft), ist eine parallele Verarbeitung notwendig. Die "Aufgabe starten"-Aktivität setzt die "Aufgaben ID" bevor sich die Workflow Instanz pausiert. In einem Parallelzweig kann deshalb die ID über eine Variable ermittelt werden. (Beispiel siehe rechts)