14. Oktober 2016 · von Joerg Sager

Erklärt: Erinnerungsworkflow für SharePoint Task-Listen

Vergessen ist menschlich. Deshalb ist es eine gute und sinnvolle Unterstützung, wenn man eine Erinnerung für Aufgaben verschickt. Doch wie geht das mit SharePoint Boardmitteln eigentlich genau?
In dieser „Step-by-Step“-Anleitung zeige ich Ihnen, wie Sie einen vereinfachten SharePoint Workflow zum Verschicken von Erinnerungen erstellen.

In diesem Beispiel nutzen wir die SharePoint 2010 Workflow Engine. Als Ausgangsbasis verwenden wir eine Standard SharePoint Aufgaben-Liste namens Wichtige Aufgaben. Um den Workflow zu erstellen, drücken wir im SharePoint Designer in der linken Navigation auf Listen und Bibliotheken und wählen die Aufgaben-Liste aus.

Im Abschnitt Workflows klicken wir auf neu, um einen SharePoint Workflow zu erstellen. Bitte wählen Sie als Plattformtyp: SharePoint 2010 Workflow.

SharePoint Workflow erstellen | Gate4
SharePoint Workflow erstellen

Anmerkung:

Selbstverständlich funktioniert es auch mit SharePoint 2013 Workflow, allerdings könnten die Aktionen unterschiedlich heißen. Aus Erfahrung sind viele interessierte Besucher mit der SharePoint Foundation Version unterwegs und diese verfügen ausschließlich über die SharePoint 2010 Workflows. Daher machen wir die meisten Beispiele für die SharePoint 2010 Workflow Plattform, damit alle etwas davon haben. Vielen Dank für Ihr Verständnis.

In diesem Beispiel möchte ich zwei Tage vor dem Fälligkeitsdatum eine Information verschicken, wenn die Aufgabe noch nicht abgeschlossen wurde.
Hierzu prüfe ich beim Start des Workflows, ob die Differenz kleiner 2 Tage zum heutigen Datum ist und größer als Heute, damit, falls Aufgaben in die Vergangenheit gesetzt werden, keine Erinnerungen verschickt werden.

Um zu prüfen, ob das Fälligkeitsdatum kleiner ist als das heutige Datum, klicke ich im Menüband auf die Schaltfläche Bedingungen und füge die Bedingung Wenn das aktuelle Elementfeld gleich Wert ist ein. Bei der ersten Textmarke Wert wähle ich die Spalte Fälligkeitsdatum aus. Die Textmarke entspricht ändere ich auf größer als ab. Als letztes wähle ich bei der letzten Textmarke Wert das Aktuelle Datum aus, indem ich auf „…“ klicke, nachdem ich den erschienenen Dialog mit dem OK-Button bestätigt habe.

Überprüfung des Fälligkeitsdatum in einem SharePoint Workflow.

Um zu prüfen, ob mindestens 2 Tage Differenz zwischen Heute und dem Fälligkeitsdatum liegen, muss ich mir eine Hilfsvariable zum Überprüfen erzeugen. Erst danach kann ich eine Bedingung einfügen. Hierfür klicke ich im Menüband auf die Schaltfläche Aktion und wähle die Aktion unter der Kategorie Kernaktionen -> Zeit zum Datum hinzufügen.

Ich verändere:

  1. die erste Textmarke 0 zu 2
  2. die zweite Textmarke Minuten zu Tage
  3. die dritte Textmarke Datum zu [Heute], indem ich erneut auf „…“ klicke und zuvor den Dialog mit OK bestätige

Nun klicke ich auf die Schaltfläche Bedingung und füge erneut die Bedingung Wenn das aktuelle Elementfeld gleich Wert ist ein.
Bei der ersten Textmarke wähle ich Fälligkeitsdatum aus und die Textmarke entspricht wird zu größer als verändert. Auf die letzte Textmarke Wert klicken wir und wählen statt den „…“-Button den daneben liegenden Button fx.

In dem erscheinenden Dialog wählen wir die folgende Konfiguration:
Gate4 - Nachschlagen Dialog SharePoint Designer

Datenquelle: Workflowvariablen und – parameter
Quellenfeld: Variable: Datum

Der Workflow sollte jetzt wie folgt aussehen:

SharePoint Workflow - Zwischenergebnis Gate4 SharePoint Erinnerungsworkflow
Gate4 – SharePoint Erinnerungsworkflow – Zwischenergebnis

Emailkonfiguration im SharePoint Erinnerungsworkflow

Da wir jetzt alle Bedingungen geprüft haben, können wir nun mit dem eigentlichen Versenden der Erinnerungen beginnen. Damit wir das Datum ermitteln können, um 2 Tage vor Fälligkeitsdatum eine Erinnerung zu verschicken, wählen wir erneut die Aktion Zeit zum Datum hinzufügen über die Schaltfläche Aktion im Menüband.

Ich verändere:

  1. die erste Textmarke 0 zu -2
  2. die zweite Textmarke Minuten zu Tage
  3. klicke auf die dritte Textmarke Datum und wähle den Button fx
  4. im erschienenen Dialog wähle ich als Datenquelle Aktuelles Element und als Quellenfeld Fälligkeitsdatum

Somit haben wir jetzt das Zieldatum ermittelt. Damit jetzt auch genau an diesem Tag eine Erinnerung verschickt wird, wählen wir als Aktion unter Kernaktionen -> Bis Datum anhalten. Die Textmarke diese Uhrzeit klicken wir an und klicken auf den fx-Button.

In dem erscheinenden Dialog wähle ich als Datenquelle Workflowvariablen und – parameter sowie bei dem Quellfeld die Variable: Datum1.
Nun wartet der Workflow bis zu dem errechneten Zeitpunkt (Fälligkeitsdatum -2 Tage).

Wenn nun der Workflow bis zu diesem Zeitpunkt gewartet hat, sollten wir vor dem Verschicken der Erinnerung prüfen, ob die Aufgabe schon abgeschlossen wurde. Dafür klicken wir auf die Bedingung-Schaltfläche und wählen die Bedingung Wenn das aktuelle Elementfeld gleich Wert ist. Als erste Textmarke wähle ich den Wert Abgeschlossen und die dritte Textmarke ändere ich auf Nein.

Wurde die Aufgabe noch nicht abgeschlossen, können wir die Email versenden. Dafür klicke ich auf die Schaltfläche Aktion und wähle die Aktion unter Kernaktionen -> Email versenden.

Klicken Sie nun auf die Textmarke diese Benutzer. In dem Dialog der erscheint können wir nun die Email konfigurieren.
Gate4 SharePoint Workflow - Email konfigurieren
Von oben nach unten klicken wir zuerst bei dem Feld An: auf das Adressbuch-Icon und doppelklicken im Dialog auf Workflow-Nachschlagevorgang für einen Benutzer…. Die Konfiguration des Nachschlagen für Personen oder Gruppe-Dialogs sieht wie folgt aus:

Datenquelle: Aktuelles Element
Quellenfeld: Zugewiesen an
Feld zurückgeben als: E-Mail-Adresse, durch Trennzeichen getrennt (Semikolon)

SharePoint Workflow - Betreff konfigurierenAls Nächstes kann der Betreff über den „…“-Button geändert werden. Hier füge ich mithilfe des Freitextes und dem Nachschlagevorgang hinzufügen oder ändern-Vorgang meinen Text ein.

Das gleiche Vorgehen wird angewendet, um den Nachrichtentext der Email zu erstellen. Hier kann ich auch über den Nachschlagevorgang hinzufügen oder ändern-Button Werte der aktuellen Aufgabe übernehmen wie zum Beispiel die Aufgabenbeschreibung oder den Aufgabentitel.

 

Nachdem ich die Email konfiguriert habe, sieht der SharePoint Workflow wie folgt aus:

SharePoint Erinnerungsworkflow

SharePoint Workflow bereitstellen

Um den Workflow nun „scharf zu schalten“, klicken wir im Menüband auf Workfloweinstellungen. SharePoint Workfloweinstellungen
Als nächstes setzen wir in dem Abschnitt Startoptionen das Häkchen bei dem Punkt Workflow automatisch starten, wenn ein Element erstellt wird.

Das Ergebnis sollte wie folgt aussehen:

SharePoint Workflow Startoptionen
SharePoint Workflow Startoptionen

 

Nachdem wir die Startoptionen angepasst haben, stellen wir den Workflow bereit. Dazu klicken wir im Menüband auf die Schaltfläche Veröffentlichen. Nun werden in dieser Aufgabenliste automatisch Erinnerungsemails verschickt.

Schlusswort

Ich hoffe, Ihnen hat diese Step-by-Step-Anleitung bzw. dieses kleine Training genau so Spaß gemacht wie mir beim Erstellen. Ich freue mich über Ihr Feedback und konstruktive Anregungen.



Diesen Blogeintrag bewerten:


Haben Sie Fragen zu diesem Artikel oder brauchen Sie Unterstützung?

Nehmen Sie mit uns Kontakt auf!

Wir unterstützen Sie gerne bei Ihren SharePoint-Vorhaben!


7 Kommentare zu “Erklärt: Erinnerungsworkflow für SharePoint Task-Listen”

Vielen Dank für die Anleitung.

Ich verstehe folgendes nicht:

Wenn ich den Punkt „Workflow automatisch starten, wenn ein Element erstellt wird“ angeklickt habe und ich lade ein Dokument hoch (in dem Moment wird es ja erstellt) ist mein Feld „Fälligkeit“ ja noch leer. Dann wird ein leerer Wert in die Variable kopiert und das ist wahrscheinlich auch der Grund warum ich keine Mails bekomme.

Also habe ich gedacht, dass bei mir richtig wäre, wenn ich den Punkt „Workflow automatisch starten, wenn ein Element geändert wird“ anklicke.
Weil sobald ich in das Fälligkeit Feld ein Datum eintrage, dann wird das Dokument ja geändert und wenn dann der Workflow startet existiert auch ein Wert mit dem weiter gearbeitet werden kann. Leider bekomme ich über diesen Weg auch keine Mails.

Können Sie mir diesen Punkt vielleicht noch etwas erklären. Wie funktioniert hier die Logik.

PS: das Mailing an sich funktioniert ganz sicher. Ich habe für die gleiche Liste auch ein anderes Workflow und dieses funktioniert und verschickt auch Mails.

Vielen Dank!

Hallo Vasilis,

in diesem Beispiel ist von einer einfachen Aufgabenliste ausgegangen worden. Es gibt hier einen Unterschied bei dem Umgang mit Dokumenten.

Wenn man ein Dokument hochlädt, dann wird erst das Element erstellt und dann die anderen Informationen abgefragt und das Element noch einmal verändert.
Wenn man kein Dokument hochlädt, dann erstellt er das Element mit den eingegebenen Informationen.

Daher startet bei dir der Workflow schon in dem Moment, wenn du ein Dokument hochlädst. Die Startbedingung „Workflow automatisch starten, wenn ein Element erstellt wird“ ist für deinen Anwendungsfall daher denkbar ungünstig. Mit der SharePoint Workflow Engine in der Version 2013 kannst du „Auf Feldänderung im aktuellen Element warten“ nutzen, um den Workflow solange anzuhalten bis das Feld „Fälligkeitsdatum“ gefüllt wurde.

Mit der SharePoint Workflow Engine in der Version 2010 muss man etwas tricksen. Hier könntest du Entweder den Workflow auf gut Glück warten lassen mit der Aktion „Für Dauer anhalten“. Du könntest den Workflow also z.B. 15 Minuten warten lassen und hoffen, dass ein Fälligkeitsdatum ausgefüllt ist. Die schönere Variante ist, wenn du wie richtig erkannt, die Startoption umstellst auf „Workflow automatisch starten, wenn ein Element geändert wird“ und am Anfang eine Abbruchbedingung einbaust, ob das Fälligkeitsdatum gefüllt ist oder nicht. Wenn häufige Änderungen an dem Element erwartet werden, dann solltest du noch eine Hilfsspalte nutzen die besagt, ob eine E-Mail schon eingerichtet ist. Sollte man an diesem Element noch weitere 10 Änderungen vornehmen und das Fälligkeitsdatum ist gesetzt, dann würde er auch 10 E-Mails einrichten, da jedes Mal der Workflow startet.

Eine Email kommt nur, wenn folgende Bedingungen greifen:

      Fälligkeitsdatum ist größer als Heute
      Fälligkeitsdatum ist größer als Heute -2 Tage
      Aufgabe ist nicht abgeschlossen.

Unter Umständen wurde beim Test z.B. das heutige Datum gewählt, dann würde er keine E-Mail verschicken.

Viele Grüße
Jörg

Ich habe soeben herausgefunden, dass der Workflow anscheinend mit dem Wert des Datums nicht zurecht kommt?
Jedenfalls finde ich bei Workflow Status folgende Meldung
(wenn ich den Workflow fortsetze, dann bekomme ich meine Mail).

RequestorId: 8b491878-9736-ce7f-0000-000000000000. Details: An unhandled exception occurred during the execution of the workflow instance. Exception details: System.ArgumentOutOfRangeException: The added or subtracted value results in an un-representable DateTime. Parameter name: value at System.DateTime.AddTicks(Int64 value) at Microsoft.Activities.Expressions.AddToDate.Execute(CodeActivityContext context) at System.Activities.CodeActivity`1.InternalExecute(ActivityInstance instance, ActivityExecutor executor, BookmarkManager bookmarkManager) at System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem.ExecuteBody(ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) Exception from activity AddToDate Stufe 1 Sequence Flowchart Sequence Workflow Fälligkeit

Hallo Vasilis,

wenn du ein Dokument hoch lädst, dann hast du recht, dass erst das Element erstellt wird und dann wird man aufgefordert die anderen Felder wie Fälligkeitsdatum und Co. auszufüllen. Daher kommt höchstwahrscheinlich auch diese Fehlermeldung, da der Workflow versucht mit „Nichts“ zu arbeiten und zwei Tage darauf zu addieren. Man kann hier aus mehreren Lösungswegen wählen. Wenn du Möglichkeit hast die SharePoint Workflow Engine 2013 zu nutzen, dann wäre es der einfachste Weg. Da könntest du den Workflow starten sobald ein Element erstellt wird und dann mit der Aktion „Auf Feldänderung im aktuellen Element warten“ warten bis ein Fälligkeitsdatum gesetzt wird und dann erst weiterlaufen. (Weitere Informationen).

In der Version 2010 könntest du am Anfang des Workflow eine Abbruchbedingung einbauen. Du stellst die Workflow-Start Einstellung auf „Workflow automatisch starten, wenn ein Element geändert wird“ und prüfst am Anfang ab, ob das Fälligkeitsdatum gesetzt ist. Wenn nein, dann macht der Workflow nicht weiter. So sind Änderungen möglich und die Erinnerungsemail wird erst eingestellt, wenn ein Fälligskeitsdatum bestimmt wurde.

Kannst du bitte nochmal Prüfen, ob die Variablen „Datum“ und „Datum1“ auf den Typ Datum/Uhrzeit gesetzt ist.
Sollte der Fehler weiterhin kommen, könntest du mal in die Verlaufsliste die einzelnen Werte protokollieren. Also was steht in der Variable „Datum“ und „Datum1“ und was steht in Heute.

Ich hoffe ich konnte dir weiterhelfen.

Viele Grüße
Jörg

Hi Jörg,

perfekt. Vielen Dank für deine Mühe!
Du konntest mir aufjedenfall helfen. Sehr ausführlich beschrieben und schnell reagiert 🙂

ich werde deine Tipps direkt umsetzen und mich nochmal melden.

Viele Grüße
Vasilis

Mit der SharePoint Workflow Engine in der Version 2013 kannst du „Auf Feldänderung im aktuellen Element warten“ nutzen, um den Workflow solange anzuhalten bis das Feld „Fälligkeitsdatum“ gefüllt wurde.

Ich habe die Version 2013 und habe auch diese Funktion entdeckt.

Folgendes habe ich soeben gemacht.
Macht es Sinn?

Warten Sie, bis RE-Fälligkeit gleich Aktuelles Element:Geändert ist.

Ich finde nicht die Möglichkeit zu prüfen ob
RE-Fälligkeit == true;

Danke nochmal.

Hallo Vasilis,

ich habe folgenden Lösungsweg erarbeitet, um dein gewünschtes Ziel zu erreichen.

Bedauerlicherweise habe ich nur die englische Version installiert, aber ich denke, dass bei der kürze des Workflows das ok ist.
Workflow

Ein leeres Datum für den SharePoint sieht immer wie folgt aus 1/1/0001 12:00:00 AM. Um diese Aussage noch ein mal zu validieren, habe ich das leere Datum ausgeben lassen in der Workflow-Verlaufsliste.
Mit einer Schleife warte ich darauf, dass das Fälligkeitsdatum nicht mehr 1/1/0001 12:00:00 AM ist. Da man Text nicht mit einem Datum vergleichen kann innerhalb einer Schleife und man auch nicht das Datum 1/1/0001 auswählen kann, bediene ich mich dem Trick, dass ich beides in eine STRING-Variable schreibe.

Das heißt wie im Bild dargestellt schreibe ich vom Aktuellen Element die Spalte Fälligkeitsdatum (zurückgegeben als String) in eine Varaible.
Wichtig: Innerhalb der Schleife müssen wir unsere Hilfsvariable immer wieder neusetzen, damit es hier keine Endlosschleife wird.

Nach der Schleife mach ich noch eine Ausgabe um zu schauen, dass er dort erst ankommt nach dem das Fälligkeitsdatum gesetzt wurde.

Das Ergebnis dieses Workflows sieht so aus:
Workflow

Wie erwartet wartet der Workflow solange in der Schleife bis ein Fälligkeitsdatum gesetzt wurde und geht dann erst weiter.

Ich hoffe ich konnte dir hiermit helfen und verbleibe mit freundlichen Grüßen
Jörg

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Kontakt
Lassen Sie sich von uns beraten
Wir freuen uns über Ihr Interesse an unseren Leistungen. Hinterlassen Sie
uns Ihren Namen, Ihre Telefonnummer und E-Mail Adresse – wir melden
uns schnellstmöglich bei Ihnen.
Kontakt aufnehmen