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.




Mail versenden Workflow 2013 funktioniert nicht

Unbeantwortet Dieser Beitrag hat 14 Antworten

Ohne Rang
28 Beiträge
Hutch erstellt 2 Apr. 2014 14:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo zusammen,

ich habe einen ganz einfachen workflow erstellt wo eine Mail versendet werden soll mit dem Inhalt der Spalte "Thema" im Betreff. Mit einem Wokflow 2010 funktioniert das ohne Probleme, ich möchte aber gerne 2013 nutzen. Hier einmal die Begründung warum, damit es besser nachvollzogen werden kann:

Ziel ist es für jedes Element der Liste das Feld "Status" zu prüfen und eine weitere Bedingung. Wenn die zutreffen soll eine Mail an den jeweiligen Ansprechpartner im Element mit diversen Inhalten versendet werden. Das ganze soll wöchentlich geschehen, also eine Art Reporting.

Kann mir jemand sagen, woran es liegen könnte das die Mails nicht gesendet werden? Ist mein Vorhaben so mit dem Workflow umsetzbar? Ich weiß bisher auch nicht wie ich die ganze Liste durchsuchen lassen kann, die Idee war, dass einmal der Workflow manuell gestartet wird, die ganze Liste nach den Bedingungen geprüft wird und die Mails versendet werden, dann 7 Tage gewartet wird und das ganze startet von vorne.

Vielen Dank für die Hilfe und beste Grüße

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Apr. 2014 15:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Funktionieren denn 2013er-Workflows generell? Kannst Du einen simplen Workflow mit "Log to history" korrekt ausführen? Ich vermute, daß das Problem gar nicht die Mail ist, sondern die neue Workflowengine.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
28 Beiträge
Hutch Als Antwort am 2 Apr. 2014 15:39
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, Aufgaben zuweisen funktioniert beispielsweise, auch die Log to History Funktion habe ich eben noch einmal getestet - funktioniert auch. Noch andere Ideen woran es liegen könnte?

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 2 Apr. 2014 16:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn auch eine ganz einfache, statische Mail (fester Empfänger, keine Nachschlage-Funktionen) nicht funktioniert, dann muß es ein Berechtigungsproblem beim Exchange sein. Man muß also beim exchange suchen, warum er die Mail nicht verschickt.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
28 Beiträge
Hutch Als Antwort am 2 Apr. 2014 18:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ok danke, wir werden das mal prüfen. Ist denn mein Vorhaben grundsätzlich so realisierbar wie ich es geschildert habe?

Ohne Rang
23 Beiträge
DSbit Als Antwort am 2 Apr. 2014 21:48
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Hutch,

ich hätte jetzt gesagt, dass man hier besser mit EventHandler arbeitet, aber grundsätzlich lässt sich deine Idee umsetzen. Ändert sich etwas an einem Element (Eintrag) und wird der Status auf X gesetzt, dann wird eine entsprechende E-Mail verschickt. Manuelle Lösungen haben aus meiner Erfahrung wenig Akzeptanz. Dazu kommt auch noch, dass der Workflow durchläuft und bei allen Einträgen, wo der Status X ist, wird eine E-Mail verschickt. Wenn ich nun der Ansprechpartner bin, dann möchte ich ja über eine Änderung informiert werden und nicht darüber, dass der Status noch immer X ist. Also soll immer eine E-Mail verschickt werden, wenn der Status sich ändert. 

Wenn es sich nicht gerade um viele Einträge handelt, dann kannst du bzw. die Anwender auch die "Alert Me" Funktion nutzen.

Bei dem E-Mail-Versand scheitert es oft daran, dass der SharePoint Server nicht auf dem Exchange-Server (Connector zum Versenden) berechtigt ist. Ich bin mir nicht sicher, ob ich es richtig verstehe - es hat auf dem gleichen Server mit Workflow 2010 funktioniert oder sprichst du jetzt von einem anderen Server (SP 2013)? SP2010 Workflows werden nämlich auch auf SP2013 unterstützt.

BG DS

Ohne Rang
28 Beiträge
Hutch Als Antwort am 3 Apr. 2014 13:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo DS,

danke für deine Antwort.

Zu dem Server: Wir nutzen einen SP 2013 Server, dort sind Workflow 2010 und 2013 installiert. Also alles auf einem Server.

Bei uns sind die Anforderungen tatsächlich so:

Die Liste enthällt ca 200 Elemente.

Dort gibt es diverse Spalten, unter anderem Status, Wiedervorlage und ASP.

Nun benötige ich einen Workflow, der ALLE Elemente der Liste prüft ob Status = 1 und Wiedervorlage in den nächsten 14 Tagen ist. Trifft beides zu, soll eine Mail an den ASP gesendet werden. Dieser Workflow soll tatsächlich nur einmal die Woche ausgeführt werden. Meine Idee war, diesen einmal manuell zu starten und dann in einer Endlosschleife immer 7 Tage warten zu lassen und dann wieder die Prüfung durchführen. Eine direkte Information ob sich was ändert wird nicht benötigt. Ist das so machbar?

BG

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 3 Apr. 2014 16:00
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja, das kann man mit einem Workflow problemlos so umsetzen. Aber eben nur mit einem 2013er...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
28 Beiträge
Hutch Als Antwort am 7 Mai 2014 11:38
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo nochmal,

die Mails funktionieren nun wieder - leider nur ohne Nachschlagefunktion, daran arbeiten wir derzeit noch.

Eine weitere Frage zu dem Workflow habe ich jedoch noch:

Wie kann ich durch alle Elemente der Liste iterieren? Die Bedingungen etc. sind ja kein Problem, jedoch wir immer nur das aktuelle Element geprüft, ich möchte jedoch ALLE Elemente der Liste auf Knopfdruck prüfen lassen und dann entsprechende Mails versenden.

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 7 Mai 2014 12:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

http://blogs.evocom.de/af/archive/2013/08/09/sharepoint-2013-workflows-teil-2-listenelemente-iterieren.aspx

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
28 Beiträge
Hutch Als Antwort am 7 Mai 2014 13:50
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke für den Link, habe das soweit mal nachgebaut. Es funktioniert auch, aber bei dem Mailversand in der Schleife (Dort soll ID und Titel ausgegeben werden) bekomme ich immer die gleiche Mail mit der ersten Position der Liste.

Die Schleife läuft aber genau 5 mal durch, also genau die Anzahl der Listenelemente. Soweit schonmal gut. Nun muss ich halt bei jedem Listenelemelt bestimmte Felder prüfen, dort hänge ich derzeit. Kannst du mir da nochmal weiterhelfen. Hier mein Workflow:

Stufe:Loop Items

Variable: REST-URL auf [%Workflowkontext: Aktuelle Website-U... festlegen

{...} -Wörterbuch erzeugen (Ausgabe in Variable: RequestHeaders )

HTTP-Webdienst [%Variable: REST-URL%] mit Anforderung aufrufen (ResponseContent in Variable: ResponseContent |ResponseHeaders in responseHeaders |ResponseStatusCode in Variable: responseCode )

d/results aus Variable: ResponseContent abrufen (Ausgabe in Variable: ResultItems )

Elemente in Variable: ResultItems zählen (Ausgabe in Variable: CountItem )

Variable: LoopCounter auf 0 festlegen

Variable: ItemSum auf 0,0 festlegen

Schleife: loop through all items

Der Inhalt dieser Schleife wird ausgeführt. Variable: CountItem mal

d/results([%Variable: LoopCounter%])/ID aus Variable: ResponseContent abrufen (Ausgabe in Variable: ListenID )

d/results([%Variable: LoopCounter%])/... aus Variable: ResponseContent abrufen (Ausgabe in Variable: TitelAusgabe )

Variable: LoopCounter plus 1 berechnen (Ausgabe in Variable: berechnen )

E-Mail an Hutch

Übergang in Phase

Gehe zu "Ende des Workflows"

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 7 Mai 2014 16:45
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich hab's jetzt nur kurz überflogen, aber

[quote user="Hutch"]Variable: LoopCounter plus 1 berechnen (Ausgabe in Variable: berechnen )[/quote]

hier sollte "Ausgabe in Variable LoopCounter" stehen, damit diese Variable auch hochgezählt wird. Sonst bleibt sie bei null und Du greifst immer auf das erste Element zu.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
28 Beiträge
Hutch Als Antwort am 22 Mai 2014 13:09
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Danke, das funktioniert soweit alles super. Nun habe ich das nächste Problem, er zählt nur 100 Elemente, in der Liste sind aber 500+. (Ich gebe die ItemCount Variable aus, dort immer nur 100)
Gibt es hier Beschränkungen in der Anzahl? Habe folgendes dazu gefunden:

Batchgröße des Workflowzeitgebers

100

Schwellenwert

Die Anzahl der Ereignisse, die bei jeder Ausführung des Workflow-Zeitgeberauftrags erfasst und an Workflows übermittelt werden. Dieser Wert kann mithilfe von Windows PowerShell konfiguriert werden. Um zusätzliche Ereignisse zu ermöglichen, können Sie zusätzliche Instanzen des SharePoint Foundation -Workflowtimerdiensts ausführen.

Kann es damit zusammenhängen?

 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 22 Mai 2014 13:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein, das liegt am REST-Service, der standardmäßig maximal 100 Elemente liefert. Man kann diesen Wert aber erhöhen, nur weiß ich nicht auswendig wie. Irgendwas mit RowLimit=500, aber das wirst Du Dir selbst ergoogeln müssen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
28 Beiträge
Hutch Als Antwort am 22 Mai 2014 14:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Super, danke dir für den Tipp mit dem REST-Service. So funktioniert es bei mir wie gewünscht: /_api/lists/GetByTitle('Workflow Test')/items?$top=500