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 Action ohne Rückgabe-Wert

Unbeantwortet Dieser Beitrag hat 6 Antworten

Ohne Rang
496 Beiträge
Derby erstellt 11 Mai 2015 13:37
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ich hab hier ein 2013er Foundation. Es gibt eine Bibliothek mit Contenttype und entsprechendem Template (Excel --> xlsm)

Per Website Workflow wird ein neues Dokument aus diesem Content-type erstellt. Funktioniert alles, außer das die Workflow-Action "then Create item in this List (Output to Variable:create)" keinen Rückgabewert bekommt. in der Variable:create müste die ID des erzeugten Elements stehen, ist aber leer.

Hat jemand eine ID woran das liegen kann?


Derby

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 11 Mai 2015 13:49
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Bist Du denn sicher, daß überhaupt ein neues Element erzeugt wird?

Bei Word habe ich die Erfahrung gemacht, daß es nur funktioniert, wenn aus einer docx-Vorlage ein docx-Dokument erzeugt wird. Also ohne dotx oder sowas.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
496 Beiträge
Derby Als Antwort am 11 Mai 2015 14:53
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Ja das Element wird erstellt, (es ist keine richtige Excel-Vorlage, sondern das Template ist ein Excel mit Makro (xlsm), aber die ID wird nicht zurückgegeben.

Nach ein paar Test ist es wohl ein Timing Problem, das heißt die Workflow Action wird eher abgeschlossen als das Element erstellt wird. Wenn ich eine Pause einfüge, kann ich über weitere Abfragen die ID bekommen, mache ich diese Abfrage ohne Pause, bekomme ich einen Fehler (da das Element dann ebenfalls noch nicht da ist) --> Was ich im Log gefunden habe ist diese Meldung-->

System.ArgumentException: Item does not exist. It may have been deleted by another user.

 

 "Can't find WorkflowServiceProxy or its service application proxy type name is null"

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 11 Mai 2015 15:10
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also normalerweise ist das kein Problem, d.h. die Workflowaktion kümmert sich selbst um das korrekte "Timing". Gibt es in der Bibliothek vielleicht Pflichtfelder, die nicht ausgefüllt werden? Oder muß das Dokument explizit eingecheckt oder veröffentlicht werden? Ist die Inhaltsgenehmigung aktiv?

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
496 Beiträge
Derby Als Antwort am 13 Mai 2015 14:26
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein nichts davon ist aktiviert, nur die normale Versionierung. Es scheint sich tatsächlich um ein Problem  --> Conenttype + Office-Datei als Vorlage zu handeln. Das erstellen der Datei aus der Vorlage im Contenttype scheint schlicht zu lange für den Workflow zu dauern. Habe das gleiche Prozedere auf einer anderen Farm erstellt mit dem gleichen Ergebnis. Die Datei wird korrekt erstellt, aber es gibt keine ID als Rückgabewert und das Auslesen der ID über eine weitere Workflowaction bricht mit dem Fehler ab, Element existiert nicht. Nur mit einer Pause funktioniert es.

Vielleicht kann das mal einer bei sich testen.

Derby

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 13 Mai 2015 14:41
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich habe einige Workflows mit dieser Funktionalität zum Teil seit Jahren im produktiven Einsatz und zumindest damit noch nie Probleme gehabt.

Wenn es bei Dir mit einer Pause funktioniert, dann lasse die Pause drin und fertig. Pausen in Workflows sind nicht ungewöhnlich und manchmal auch notwendig...

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
496 Beiträge
Derby Als Antwort am 13 Mai 2015 15:28
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

An der Stelle ist die Pause extrem ungünstig. Der Worklfow ist ein Websiteworkflow welcher durch einen Link gestartet wird. Im Startdialog sind noch ein paar Felder auszufüllen als Startparameter. Mit der Pause des Workflows, die ja 5-10 min dauern kann je nachdem wie der TimerJob grade läuft, bleibt das Fenster solange offen. Das ist da nicht wirklich sinnvoll. Ich hab das jetzt so gelöst das Änderungen vorher in variablen erfolgen welche dann beim Anlegen der Datei genutzt werden.


Derby