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.




2 Workflows unabhängig voneinander automatisch starten

Geprüfte Antwort Dieser Beitrag hat 10 Antworten

Ohne Rang
17 Beiträge
winkler26 erstellt 12 Sept. 2013 15:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe folgendes Anliegen:
Ich habe quasi einen 3-Status Workflow in den Sharepoint Designer 2010 gebastelt. HIntergrund ist der, dass es mehrere Email-Empfänger bei Statusänderung geben soll und ich etwas flexibler bei der Email-Formatierung bin.
Das sieht folgendermaßen aus:

  • Workflow 1: Neuer Eintrag wird erstellt (Workflow automatisch starten, wenn neues Element... )
    Bedingung: Wenn Aktuelles Element: Status gleich Not startet bis Aktuelles Element: Erstellt anhalten, dann Email senden.
  • Workflow 2: Eintrag wird bearbeitet (Workflow automatisch starten, wenn Element geändert wird)
    Bedingung: Wenn Aktuelles Element: Status gleich Bearbeitung bis Aktuelles Element: Geändert anhalten, dann Email senden
  • Workflow 3: Aufgabe abgeschlossen (Workflow automatisch starten, wenn Element geändert... )
    Bedingung: Wenn Aktuelles Element: Status gleich Abgeschlossen bis Aktuelles Element: Aufgabe abgeschlossen am anhalten, dann Email senden.

Nun tritt natürlich durch die Workfloweinstellungen das Problem auf, dass bei Statusänderung auf "In Bearbeitung" jeweils die Emails mit "In Bearbeitung" UND "Abgeschlossen" versendet werden und der gleiche Fall natürlich auch bei Statusänderung auf "Abgeschlossen".

Kann ich irgendwelche Maßnahmen ergreifen, dass die diese Email wirklich nur ausschließlich bei dem entsprechenden Status versendet werden?
Kleine Einschränkung: Manuelles beenden des Workflows ist keine Option.

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Sept. 2013 16:07
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Dann stimmt aber etwas mit den Bedingungen nicht.

Ich verstehe allerdings überhaupt nicht, warum Du das nicht einfach alles in einen einzigen Workflow packst... Lasse den bei Neuanlage starten (und nur dann) und erledige die Aufgaben beim Start. Füge dann einen parallelen Block ein. In den packst Du zwei Workflowschritte, damit deren Inhalt jeweils sequentiell, aber die Schritte parallel abgearbeitet werden. In beide Zweige jeweils eine Aktion "Warten bis Status entspricht XY" und dann die Mail.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
winkler26 Als Antwort am 12 Sept. 2013 16:27
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hi,
danke für deine Antwort. Ich hatte vorher alles in einem Workflow, allerdings trat dort auch das Problem mit den Emails auf, nur noch verstärkt, dass die Email mit "Neuer Aufgabe" auch jedesmal bei Statusänderung versendet wurde. (Logisch, da ja Haken bei Workflow automatisch starten bei neu und bei geändert). Muss mir vieles durch ausprobieren beibringen, deshalb war mein nächster Schritt mit den 3 Workflows.

Deine Version kann ich mal ausprobieren, allerdings kommen da sicher noch Fragen auf, da mir einige Funktionen nicht bekannt sind. Ich versuche das mal nachzuvollziehen:
Ich soll die Workflows, wie oben beschrieben in einen einzigen packen. Erst wird geprüft, wenn Status "Nicht begonnen" dann anhalten und Email senden, anschließend kommt der nächste Workflow mit Status "In Bearbeitung" und so weiter.
Ich verstehe nur noch nicht ganz, wo ich dann den parallelen Block einfügen soll. Und wie kann ich die Aktion "Warten bis Status entspricht..." einstellen? An so eine Funktion hatte ich schon gedacht, aber keine passende Aktion gefunden.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 12 Sept. 2013 16:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn Du den Ablauf durch den Workflow festzurren kannst, so daß die einzelnen Status sicher in der richtigen Reihenfolge kommen, dann kannst Du es auch sequentiell abarbeiten. Also Status "Nicht begonnen" - Mail - Status "In Bearbeitung" - Mail - Status "Abgeschlossen" - Mail.

Das mit dem parallelen Block war für den Fall, daß Du die letzten beiden Schritte nicht unter Kontrolle hast. Dann kommen die beiden Prüfungen und die Mails jeweils in einen Zweick und werden parallel ausgeführt.

[quote user="winkler26"]Und wie kann ich die Aktion "Warten bis Status entspricht..." einstellen?[/quote]

Die Aktion heißt "Bis Feldänderung im aktuellen Element anhalten". Oder zumindest so ähnlich ;-)

[quote user="winkler26"]Muss mir vieles durch ausprobieren beibringen[/quote]

Da bist Du nicht der Einzige...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
winkler26 Als Antwort am 12 Sept. 2013 16:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ah, jetzt wirds klar, denke ich. Die Aktion heißt "Auf Feldänderung im aktuellen Element warten".
Muss das allerdings morgen ausprobieren. Feedback folgt dann.

Danke aber schonmal im voraus und schönen Feierabend. :-)

Ohne Rang
17 Beiträge
winkler26 Als Antwort am 13 Sept. 2013 11:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Moin,
so, ich habe ein wenig rumprobiert und nun eine Lösung erreicht. Die ist zwar etwas unsauber, aber es funktioniert. :)
Also mein Workflow sieht jetzt so aus:
- Start des Workflow nur bei einem neuen Eintrag.

- Schritt 1: Prüfen Aktuelles Element: Status ist gleich "Nicht begonnen" - Bis Aktuelles Element: Erstellt anhalten - Schritt 1.1: Email senden
Anschließend folgt ein paralleler Block. Dieser verlangt ja mind. 2 Aktionen, also hab ich zweimal "Auf Status ist gleich in Bearbeitung warten" eingestellt. Dies ist der unsaubere Part an meinem Workflow.

- Schritt 2: Prüfen Aktuelles Element: Status ist gleich "In Bearbeitung" - Bis Aktuelles Element: Geändert anhalten - Schritt 2.1: Email senden
Es folgt ein 2. paralleler Block, der die 2 Aktionen "Auf Status ist gleich Abgeschlossen warten" beinhaltet.

- Schritt 3: Prüfen Aktuelles Element: Status ist gleich "Abgeschlossen" - Bis Aktuelles Element: Bericht erstellt am anhalten - Schritt 3.1: Email senden

Damit ist der Workflow abgeschlossen und die Email werden strikt nur bei Statusänderungen versendet. Wohlgemerkt mit dem Schönheitsfehler der doppelten Aktion in den parallelen Blocks. Vielleicht kann man das noch ausmerzen?

Ansonsten vielen Dank für die Hilfe und die Inspiration.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Sept. 2013 12:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Das mit dem parallelen Block hatte ich doch schon oben beschrieben: füge dort einfach zwei Workflowschritte ein. In diese kannst Du dann wiederum mehrere Aktionen einfügen. Die beiden Schritte werden dann parallel abgearbeitet, aber die Aktionen innerhalb eines Schrittes sequentiell.

Was ich nicht verstehe: warum hast Du ein "Warten bis Erstellt/Geändert"? Das Erstellt-Datum liegt immer in der Vergangenheit und das Geändert-Datum ist immer "jetzt", weil es ja die aktuelle Workflowaktion ausgelöst hat.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
winkler26 Als Antwort am 13 Sept. 2013 13:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hmm, so ganz verstehe ich deine Ausführung noch nicht. Ich hatte einen parallelen Block, allerdings hatte der nicht funktioniert, als ich zuerst auf "in Bearbeitung" warten und dann auf "abgeschlossen" warten eingestellt hatte. Deswegen jetzt erstmal die oben beschriebene Lösung.

Zu deiner anderen Frage: Warten bis Erstellt/Geändert" hatte ich nirgends beschrieben. Erstellt/Geändert sind die Zeitpunkte zu denen der aktuelle Workflowschritt angehalten werden soll. Gewartet soll lediglich auf die Statusänderungen (z.B. wenn "In Bearbeitung" oder "Abgeschlossen" eingestellt wird). Erstellt/geändert ist dazu da, dass der Workflow auch einen Zeitpunkt zum anhalten bzw. auslösen bekommt.

Ich habe hier mal einen Screenshot vom Workflow gemacht. Evtl. bringt der einiges näher und vielleicht kannst du bei Ideen konkreter darauf eingehen.

http://s1.directupload.net/images/130913/xs2z4qfj.jpg

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Sept. 2013 14:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

OK, weil ich ausnahmsweise grade mal Zeit habe ;-)

- Du prüfst zuerst, ob der Status gleich "Not started" ist. Falls ja "Warten auf Erstellt", was sinnfrei ist. Erstellt ist der Zeitpunkt, zu dem das aktuelle Element erzeugt wurde. Das Erzeugen hatte aber auch den Workflowstart zur Folge und deshalb lautet es also "Warten bis 8Jetzt9". Falls der Status nicht "Not started" ist, wird direkt mit der nächsten Aktion weitergemacht.

- E-Mail senden

- paralleler Block. Zweimal Warten bis Status gleich "Processing", was ebenfalls sinnfei ist. Einmal warten würde reichen. Wenn man einmal warten auf X und einmal warten auf Y einbauen würde, würde der Workflow erst weiterlaufen, wenn beide Status einmal erreicht worden wären.

Ich meinte aber, daß man in den parallelen Block zweit Workflowschritte einfügen kann. Das sind die Dinger, wie Du sie auch um die Mailaktion herum hast und in die man weitere Workflowaktionen einfügen kann.

Ich hoffe, ich konnte es jetzt etwas besser rüberbringen :-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
17 Beiträge
winkler26 Als Antwort am 13 Sept. 2013 14:42
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, konntest du. :-)
Habs umgebaut, getested und es funktioniert. Hier einmal der jetzige Aufbau:
http://s7.directupload.net/images/130913/g23qti9n.jpg

Jetzt, wo ich es sehe, wirkt es auch für mich logisch. :-)

Auf jeden Fall nochmals tausend Dank für deine Hilfe!! :-)

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Sept. 2013 14:54
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Auf dem Screenshot sieht es aus, also b die erste Bedingung aber noch leer wäre. Falls das Absicht ist, kannst Du sie auch ganz weglassen. Falls der Rest nur ausgeführt werden soll, wenn die Bedingung stimmt, solltest Du ihn nach oben schieben. Dorthin wo jetzt "Beginnen Sie mir der Eingabe..." steht.

Viele Grüße
Andi
af @ evocom de
Blog