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.




Workflow aus Visual Studio fehlerhaft

Geprüfte Antwort Dieser Beitrag hat 4 Antworten

Ohne Rang
152 Beiträge
Michael Hoffmann erstellt 9 Aug. 2011 10:43
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo Zusammen,
ich habe einen Workflow in Visual Studio geschrieben. Dieser soll einfach die Anzahl bestimmter Werte in einer Spalte zählen. Dazu habe ich eine For each Schleife gebaut die über jedes Listenelement iteriert. Das gelieferte Ergenis ist auch korrekt, nur leider führt SharePoint den Workflow viel zu oft aus. Der WF soll natürlich nur einmal ausgeführt werden, sobald ein Element geändert oder hinzugefügt wird. Stattdessen läuft der WF mehrfach pro Element.
Kurze Zusammenfassung von meinen Workflow:
1. onWorkflowAktivated ohne Method Invoked
2. CodeActivity mit Foreach Schleife die Kein Element verändert, sondern nur Zählt und etwas in eine LogHistory gibt.
3. Der WF wird ausgeführt wenn ein Element bearbeitet oder erstellt wird.

Kann mir jemand helfen?

Danke und Gruß
Michael

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Aug. 2011 12:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Michael Hoffmann"]Der WF soll natürlich nur einmal ausgeführt werden, sobald ein Element geändert oder hinzugefügt wird. Stattdessen läuft der WF mehrfach pro Element[/quote]

Der Workflow kann zu einem Zeitpunkt immer nur einmal pro Element laufen. Aber wenn er bei Änderungen automatisch startet und schnell wieder beendet ist, dann startet er bei jeder Änderung immer wieder neu.

Entweder Du läßt den Workflow nur bei Neuanlage starten (und evtl. warten, bis er etwas zu tun hat), oder Du mußt Dir selbst irgendwo merken, daß er bereits gelaufen ist. Wenn Du dann beim Start feststellst, daß es ein wiederholter Lauf ist, kannst Du ihn ohne Aktion gleich wieder beenden.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
152 Beiträge
Michael Hoffmann Als Antwort am 9 Aug. 2011 14:14
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Andi Fandrich"]Der Workflow kann zu einem Zeitpunkt immer nur einmal pro Element laufen. Aber wenn er bei Änderungen automatisch startet und schnell wieder beendet ist, dann startet er bei jeder Änderung immer wieder neu.[/quote]

Ich verstehe nur nicht wieso er für jedes Element neue startet. Ich bearbeite kein Element in meinem Workflow. Sollte er da nicht nur einmal starten.

[quote user="Andi Fandrich"]Entweder Du läßt den Workflow nur bei Neuanlage starten (und evtl. warten, bis er etwas zu tun hat),[/quote]

Geht nicht. Der Workflow soll bei jeder Änderung durch einen Nutzer starten und die neue Anzahl an Werten zählen.

[quote user="Andi Fandrich"]oder Du mußt Dir selbst irgendwo merken, daß er bereits gelaufen ist. Wenn Du dann beim Start feststellst, daß es ein wiederholter Lauf ist, kannst Du ihn ohne Aktion gleich wieder beenden.[/quote]

Wüsste nicht wie. Es soll ja jedes Element einmal Ablaufen, nur nicht den Worklfow erneut starten. Wenn ich jetzt eine Spalte einbaue und die auf false setze wenn der Workflow drübergelaufen ist, zählt er beim nächsten Durchlauf diese nicht mehr mit, bzw. wenn ich diese Spalte ändere löst sie den Workflow nicht mehr aus.....

Ich verstehe immernoch nicht wieso der Workflow unkontrolliert mehrfach ausgelöst wird obwohl ich nur ein Element in der Liste ändere. 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 9 Aug. 2011 15:30
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also offenbar ändert der Workflow doch etwas an den anderen Elementen, sonst würde dort nicht auch der Workflow starten. Wie greifst Du denn auf die anderen Elemente zu? Rufst Du dort irgendwo ein SPListItem.Update() auf?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
152 Beiträge
Michael Hoffmann Als Antwort am 9 Aug. 2011 16:01
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Du hast recht. Da hatte sich tatsächlich noch ein SPListItem.Update(false) eingeschlichen.
Vielen Dank!!