SharePointCommunity
Die deutschsprachige Community für SharePoint, Microsoft 365, Teams, Yammer und mit Azure

Sponsored by

Willkommen im Forum Archiv.
Einträge sind hier nicht mehr möglich, aber der Bestand von 12 Jahren SharePoint-Wissen ist hier recherchierbar.




Wie nachträglich Prüfer/Personen in ein Workflow hinzufügen?

Unbeantwortet Dieser Beitrag hat 6 Antworten

Ohne Rang
101 Beiträge
Summerle00 erstellt 21 Apr. 2017 22:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo,

folgendes Szenario ist vorhanden.

Ein 2013 Workflow (mit SPD erstellt) kann mit der Eingabe von bis zu 10 Prüfern gestartet werden. Sobald einer der Prüfer ablehnt (es können auch mehrere ablehnen) bekommt der Initiator die Aufgabe zugewiesen seine erstelle Anfrage zu bestätigen, worauf der Prüfer, welche abgelehnt hatte noch einmal die Aufgabe bekommt zu genehmigen. Diese Schleife im Workflow läuft solange, bis alle vorhandenen Prüfer genehmigt haben. Erst dann ist der Workflow beendet oder wenn der Initiator die Anfrage abbricht.

Jetzt soll es aber möglich sein, dass noch Prüfer im Nachhinein hinzugefügt werden, woraufhin auch diese genehmigen und der Schleife sein sollen.

Meine Nachforschungen ergaben, dass man ein laufendes WF nicht verändern kann. Wie könnte ich also die Anforderung umsetzen? Eventuell geht es nur durch Programmierung?

Vielen Dank schon im Voraus 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 24 Apr. 2017 08:32
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich sehe da eigentlich nur eine Möglichkeit: die Prüfer werden nicht beim Workflowstart angegeben, sondern aus einer Liste gelesen. Man kann diese Liste auch weiter verfeinern, so daß nicht alle Anfragen mit denselben Prüfern laufen. Z.B. könnte man bei der Anfrage eine Kostenstelle angeben und der Workflow schaut dann in der Liste, welche Prüfer für diese Kostenstelle zuständig sind. Das geht auch mit mehreren Feldern. Der Workflow muß dann nur bei jedem Schleifendurchlauf erneut in die Liste schauen und bekommt so auch Änderungen mit.

Geht das bei Euch oder müssen die Prüfer zwingend beim Start angegeben werden? Dazu wüßte ich keine Lösung - auch nicht mit Programmierung.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 31 Mai 2017 19:59
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Andi,

ich habe versucht Deinen Vorschlag umzusetzen.

Mein WF sieht grob so aus:

1.Alle Prüfer werden aus der Liste ausgelesen (10 Stück) und in Variablen gespeichert.

2.Wenn das Feld für Prüfer1 nicht leer ist, bekommt Prüfer1 eine Aufgabe zugewiesen (das geht durch alle 10 Prüfer)

3.In einer Schleife werden die Ergebnisse überprüft

 

Die Prüfer werden angegeben, sobald der WF gestartet wird (es würde aber auch vorher gehen). Das Problem ist, dass wenn die Aufgabenprozesse für die bereits eingetragenen Prüfer gestartet werden verharrt der WF, bis alle Aufgaben getätigt worden sind. Wenn alle bestätigt haben. ist der WF abgeschlossen. Ich habe zwischen dem Schritt 2 und 3 im WF eine Bedingung eingebaut, die überprüft ob das aktuelle Element einen anderen Wert hat als die Variablen aus Schritt 1 und habe während der WF noch lief im Quickedit bei Prüfer3 einen Namen hinzugefügt, wobei das Feld vorher leer war. In meiner Bedingung wird erkannt, dass das aktuelle Element einen anderen Wert hat als die Variable aus 1, aber mein eingefügtes Aufgabenprozess wird nicht ausgeführt. 

Ich muss die IF-Bedingung und die dazugehörige Aufgabe für den neuen Prüfer so einbinden, dass sie innerhalb der Aufgaben von Punkt 2 erfasst wird und hierzu habe ich keine Idee. Wie kann ich das machen, dass der WF verharrt, bis die Aufgaben aus 2. alle abgelaufen sind?

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Juni 2017 11:52
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Tut mir leid, aber ich steh komplett auf dem Schlauch :-(

Evtl. finde ich später mehr Zeit und skizziere Dir, wie ich es versuchen würde.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 1 Juni 2017 15:19
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich bin etwas weiter gekommen.

Nachdem alle Prüfer einen Aufgabenprozess zugewiesen bekommen und Ihre Aufgabe erledigt haben springe ich zu einem neuen Schritt, der überprüft, ob in den Feldern neue Prüfer hinzugekommen sind. Falls ja springe ich wieder hoch in die Phase, wo die Aufgaben zugewiesen werden und teile dem neuen eine neue Aufgabe zu.

Das Problem an meiner Lösung ist jedoch, dass der neue Prüfer erst dann eine Aufgabe zugewiesen bekommt, wenn alle vorherigen Prüfer Ihre Aufgabe erledigt haben. Gibt es hier eine Möglichkeit nicht erst dann weiter zum nächsten Schritt zu gehen, wenn alle fertig sind?

Kann man z.B. abfragen, ob alle Aufgabenprozesse erledigt sind? Dann könnte ich eine While schleife bauen, die während auf die Ergebnisse wartet immer wieder nach neuen Prüfern sucht.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 1 Juni 2017 15:23
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Summerle00"]Das Problem an meiner Lösung ist jedoch, dass der neue Prüfer erst dann eine Aufgabe zugewiesen bekommt, wenn alle vorherigen Prüfer Ihre Aufgabe erledigt haben[/quote]

Dieses Dilemma kann man mit einem Workflow nicht lösen. Ich glaube, ich habe es schon weiter oben erwähnt, aber es klingt, als ob hier eine komplett selbst entwickelte App die richtige Lösung wäre. War das auch das Projekt, bei dem alle zwar sofort ihre Aufgaben sehen sollen, diese aber nur sequentiell abarbeiten dürfen? Dann erst recht.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
101 Beiträge
Summerle00 Als Antwort am 1 Juni 2017 16:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ne, die Aufgaben müssen nicht sequentiell abgearbeitet werden. Danke Dir trotzdem.