Freitag, 5. Dezember 2014

InfoPath/Nintex Workflow - Delegieren von Workflowaufgaben

Nicht selten kommt es vor, dass mit Hilfe eines Formulars Daten erfasst werden und nach Absenden des Formulars ein Nintex Workflow startet. Dieser Workflow könnte zum Beispiel die Genehmigung oder Prüfung eines Antrages darstellen. Angenommen Sie haben ein recht komplexes InfoPath Formular mit mehreren Ansichten auf denen Daten eingegeben werden müssen sowie eine Ansicht für den Prüfer des Formulars.

Im Formular wählt der Antragsteller einen Zuständigkeitsbereich aus, der für die Prüfung notwendig ist. Das Formular wird ausgefüllt, abgesendet und der Bearbeiter erhält die Benachrichtigung über eine neue Aufgabe. Er öffnet das Formular und stellt fest, dass die Bearbeitung in einen anderen Zuständigkeitsbereich fällt. Aus Sicht des Prüfers wäre es praktisch in der Prüfer-Ansicht eine andere Person oder Gruppe anzugeben und die Aufgabe zu delegieren.
 
Zur Delegierung der Workflowaufgabe wird der Nintex Workflow Webservice und die zwei Methoden „GetRunningWorkflowTasksForCurrentUser" und „DelegateTask" verwendet. Erstere wird dazu genutzt, um die entsprechende Workflowaufgabe auf dem aktuellen Dokument nachzuschlagen. Mit der „DelegateTaks" Methode wird die Aufgabe letztendlich delegiert. Beide Datenverbindungen sollen nicht beim Öffnen des Formulars automatisch abgefragt werden. Für die Aufgabendelegierung wird das Formular wie folgt aufgebaut:

 

Das Feld „File URL" (Textfeld) dient zur Angabe der URL zum Dokument, auf der der Workflow und die Workflowaufgabe liegen. In einem praktischen Anwendungsszenario kann die File URL automatisch ermittelt werden. Im Feld „Delegate to User" wird der User angegeben, dem die Task neu zugewiesen werden soll.
 
Als erstes wird die Datenverbindung zum Auslesen der aktuellen Aufgaben ID angelegt. Der Nintex Workflow Webservice kann wie folgt aufgerufen werden:

http://<sitename>/_vti_bin/nintexworkflow/workflow.asmx

Wir verwenden hier die Methode „GetRunningWorkflowTasksForCurrentUser".

Am „Query Task ID" Button erstellen wir eine Regel, die als erste Aktion die File URL aus dem Textfeld im Formular in das Query Feld „fileURL" der eben angelegten Datenverbindung schreibt. Mit der zweiten Aktion dieser Regel wird die Datenverbindung abgefragt.

 

Ein Klick auf den "Query Task ID" Button fragt, bei eingegebener File URL, alle benötigten Informationen zur Nintex Workflow Aufgabe zum dazugehörigen Element ab. Als nächstes kann die eigentliche Delegation der Aufgabe eingerichtet werden. Dazu wird zunächst die Datenverbindung benötigt, die den Nintex Workflow Webservice aufruft und diesmal die Methode „DelegateTask" verwendet.

Am „Delegate User" Button wird eine Regel angelegt, die zunächst alle benötigten Query Felder der Delegate Task Datenverbindung füllt und anschließend die Datenverbindung abfragt.


 

Der Wert für die „spTaskId" erhalten wir aus der „GetRunningWorkflowTasksForCurrentUser" Datenverbindung. Den „taskListName" und den Kommentar setzen wir in diesem Beispiel auf einen fixen Wert. Die Person, an die die Aufgabe delegiert werden soll, wird über ein Personen oder Gruppenfeld im Formular festgelegt. Mit der Checkbox „sendNotification" kann festgelegt werden, ob der neue Bearbeiter der Aufgabe eine E-Mail Benachrichtigung erhalten soll. Nach dem Setzen der Felder wird letztendlich die Datenverbindung abgefragt und die Aufgabe entsprechend delegiert.
 
Das Formular ist nun fertig eingerichtet. Im Feld File URL tragen wir einen Link zu einem Dokument mit einem laufenden Workflow inklusive einer Workflowaufgabe, die mir zugewiesen ist, ein. Mit Hilfe des „Query Task ID" Buttons erhalten wir die entsprechende Task ID der Aufgabe. Im Feld „Delegate to User" legen wir fest, wem die Aufgabe zugewiesen werden soll. Die Checkbox steuert den Versand einer E-Mail Benachrichtigung zur Delegation der Aufgabe.

Keine Kommentare:

Kommentar veröffentlichen