Benutzer mit den meisten Antworten
Workflow-Bedingung wird ignoriert

Frage
-
Zu einer Dokumentenbibliothek soll eine Liste erstellt werden, in die alle Stammdaten der Dokumente in der Bibliothek übernommen werden. Die Dokumente sind aber jeweils in verschiedenen Sprachen vorhanden, sodass mehrere Dokumente oft weitestgehend gleiche Stammdaten haben. Damit sich die Einträge in der Liste nicht doppeln, habe ich einen SP 2013-Workflow in SPD 2013 erstellt, der dieses Problem für mich lösen soll.
Der Workflow startet beim Hochladen oder Bearbeiten eines Dokuments in der Bibliothek. Im Workflow gibt es eine Variable "Durchlauf" und eine Variable "Probe", beide vom Typ Integer. "Durchlauf" wird zu Beginn auf den Wert 1, "Probe" auf den Wert 100000 festgelegt. Eine Schleife soll so lange laufen, bis "Durchlauf" größer 2000 ist. (2000 ist hierbei die ungefähre Anzahl der sich in der Liste befindlichen Elemente.)
In der Schleife wird zunächst geprüft, ob es das Listenelement mit der ID vom Wert wie "Durchlauf" einige Stammdaten mit dem eben hochgeladenen bzw. bearbeiteten Dokument in der Bibliothek gemein hat. Wenn dies der Fall ist, also bereits ein Eintrag für das eben hochgeladene bzw. bearbeitete Dokument in der Liste besteht, wird dieser aktualisiert und dabei um einige Daten ergänzt. Dann wird die Variable "Probe" auf den Wert von "Durchlauf" gesetzt und dieser Wert wird mit einer Anmerkung im Workflowverlauf protokolliert. Dann wird die Variable "Durchlauf" auf 2000 gesetzt. Eine Alternative besteht nicht.
Nach der Bedingung, aber noch in der Schleife wird der aktuelle Wert von "Durchlauf" mit einer Anmerkung im Workflowverlauf protokolliert und dann um 1 erhöht.
Nachdem die Schleife vollständig durchlaufen wurde, wird geprüft, ob die Variable "Probe" noch den Wert 100000 hat. Wenn ja, wird ein Element in der Liste mit den Stammdaten des eben hochgeladenen bzw. bearbeiteten Dokuments in der Bibliothek erstellt und eine entsprechende Anmerkung im Workflowverlauf protokolliert. Danach endet der Workflow.
Der SPD sagt mir, dass der Workflow keine Fehler enthält. Die Workflowverlaufsliste gibt mir zu verstehen, dass die Schleife 2000x durchlaufen wird und danach wird wie im Workflow angegeben ein Listenelement erstellt. Soweit so gut. Wenn aber schon ein entsprechendes Element vorhanden ist, wird das in der schleifeninternen Bedingung nicht erfasst, sie wird einfach übersprungen, die Schleife bis zum Ende durchlaufen und ein neues Element erstellt. Kann mir jemand sagen, warum diese Bedingung übergangen wird?
Vielen Dank.
Antworten
-
Problem gelöst. Ich hatte zu Testzwecken einen kleineren Schleifenumfang gewählt und dabei vergessen, dass die Element-IDs nicht bei 1, sondern bei 500 anfangen, weil ich eine ältere Liste geleert und neu verwendet habe. Mein Workflow funktioniert also perfekt.
- Als Antwort markiert Myrcella Freitag, 10. Oktober 2014 06:44
Alle Antworten
-
Hallo Myrcella,
Ich habe keine große Erfahrung mit SharePoint Designer aber ich kenne ein gutes Blog da können Sie vielleicht auch hilfreiche Information finden, sehen Sie bitte die folgenden Links.
SharePoint 2013 Workflows. Part 1/3
SharePoint 2013 Workflows. Part 2/3
Custom ASP.NET SharePoint 2013 task form FAQ
Gruß
Teodora
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip „IT-Pros helfen IT-Pros“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.
- Bearbeitet Teodora MilushevaModerator Donnerstag, 9. Oktober 2014 07:53
-
Problem gelöst. Ich hatte zu Testzwecken einen kleineren Schleifenumfang gewählt und dabei vergessen, dass die Element-IDs nicht bei 1, sondern bei 500 anfangen, weil ich eine ältere Liste geleert und neu verwendet habe. Mein Workflow funktioniert also perfekt.
- Als Antwort markiert Myrcella Freitag, 10. Oktober 2014 06:44