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 erstellt doppelte Eiinträge

Geprüfte Antwort Dieser Beitrag hat 10 Antworten

Ohne Rang
133 Beiträge
Shay erstellt 27 Jan. 2014 15:02
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Hallo =)

Ich verzweifel gerade an einem Workflow der von Liste A nach Liste B das gerade erstellte Element anhand einer selbst erstellten ID in beiden Listen übertragen/updaten soll.
Workflow in Liste A:

Wenn ListeB:IDCalculation ungleich Aktuelles Element::IDCalculation
Element in ListeB erstellen (Ausgabe in Variable:erstellen)
Dann Den Workflow beenden und Anlegen Erfolgreich! protokollieren

So das ganze funktioniert, er legt dann auch in Liste B das Element an. Jedoch erstellt er auch gleichzeitig nochmal eine Kopie oder sowas ohne Inhalt in Liste A. So das ich von dem Element was ich in Liste A gerade angelegt habe, dann zwei habe, mein angelegtes und eine Kopie ohne Inhalt davon.
Ich weiß einfach nicht warum.

Der Inhalt des Workflows bezieht sich ja nur auf ListeB, und das funktioniert auch. 
Hat jemand eine Ahnung was ich das falsch mache?

 

Alle Antworten

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 27 Jan. 2014 16:51
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Wenn Dein Workflow nur aus den gezeigten drei Aktionen besteht, dann kann er das nicht sein. Gibt es vielleicht noch weitere Workflows? Oder EventReceiver? Und hast Du den Workflow auch neu veröffentlicht (nicht nur gespeichert)? Sonst könnte eine alte Version des Workflows laufen.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
133 Beiträge
Shay Als Antwort am 28 Jan. 2014 07:20
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich hatte davor noch einige Workflows, allerdings sind bei allen die Haken raus das sie beim erstellen und updaten eines Elementes nichts mehr tun.
Veröffentlicht habe ich das ganze. Am einfachsten wäre es wohl alles wegschmeißen und neu oder? 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 28 Jan. 2014 08:13
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

[quote user="Shay"] Am einfachsten wäre es wohl alles wegschmeißen und neu oder?[/quote]

Kann man versuchen. Ich glaube aber trotzdem nicht, daß es dieser Workflow ist und vermute eher irgendwelche Seiteneffekte von woanders.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
133 Beiträge
Shay Als Antwort am 28 Jan. 2014 10:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Also ich habe nochmal alle erstellten gelöscht und einen neuen angelegt, nun scheint es sich wieder normal zu Verhalten.
Allerdings habe ich noch ein Problem. Ich synchronisiere ja zwei Listen miteinander und leider läuft ein Workflow immer 1x zuviel obwohl ich Eine Wenn Bedingung drin habe die das eigentlich ausschließen sollte.

Die Listen heißen Master und Child.

Die Spalte IDCalculation ist ein berechneter Wert zwei angegebenen Spalten. Existiert in beiden Listen damit man diesen eindeutigen Wert miteinander vergleichen kann. Die Verzögerung mit dem warten habe ich drin, damit es beim updaten der Elemente keinen Loop gibt.

Workflow aus der Master Liste um das Element zur Child Liste zu kopieren:

 

Workflow aus der Child Liste zur Master Liste:

Eigentlich sollte es ja so sein, dass wenn ein Element zb in der Master erstellt wird, es zur Child übertragen wird. Funktioniert auch. In der Child Liste sollte der Workflow dann die IDs vergleichen und merken, das seine eigene ID ja genauso ist, wie die ID eines Elementes in der Master Liste und daher nur Updaten wenn die Geändertzeiten unterschiedlich sind.
Leider funktioniert das nicht, der Workflow springt immer in den oberen Teil zum neu Erstellen eines Element und ignoriert die Bedingung.
Oder fragt die Bedingung garnicht alle Elemente in der Liste ab ob so ein Wert schonmal vorhanden ist?
Wenn das so wäre, gibt es dann eine Möglichkeit das anders zu realisieren? 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 28 Jan. 2014 11:05
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Interessant wäre, was hinter dem ersten Vergleichswert der ersten Bedingung steckt, also hinter dem "Wenn child:IDCalculation ungleich ...". Wie greifst Du denn hier auf die Child-Liste zu?

Ich würde mir hier eine Variable machen und mit der Aktion "Variable festlegen" diese auf die ID eines Elements der Child-Liste setzen. Dabei gibst Du dann im Nachschlagedialog unten ein Suchkriterium an. Das setzt Du auf IDCalculation = Aktuelles Element:IDCalculation. Mit der Bedingung prüfst Du dann, ob in der Variablen ein Wert größer 0 (Null) ist. Falls ja, hast Du ein Element gefunden, falls nicht eben nicht.

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
133 Beiträge
Shay Als Antwort am 28 Jan. 2014 12:22
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Unter child:IDCalculation habe ich das hier:

Ich dachte ich greife automatisch auf die Liste zu wenn ich auswähle das er als Datenquelle child hat ^^.

Funktioniert das mit der Variable auch allgemein mit mehren Elementen in der Liste? Wenn ich nur prüfe obs nicht null ist kanns ja dann auch jeder X-beliebeige Datensatz sein, oder steig ich da gearde nur nicht hinter?

Schon Mal Danke für deine Mühe ^^

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 28 Jan. 2014 13:00
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Der Screenshot offenbart das Problem: das untere Feld "Wert" ist leer. Unten gibst Du die Bedingung an, die ein Element der Child-Liste erfüllen muß. In diesem Fall heißt das "gib mir ein Element aus der Child-Liste, bei dem das Feld IDCalculation leer ist". Klicke auf das Formelsymbol rechts neben dem Feld und wähle dann Aktuelles Element:IDCalculation.

Ich hoffe, ich konnte damit etwas Licht ins Dunkel bringen :-)

Viele Grüße
Andi
af @ evocom de
Blog
Ohne Rang
133 Beiträge
Shay Als Antwort am 29 Jan. 2014 07:40
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Huhu =)

Jetzt versteh ich das auch ;) und oh wunder es geht nun auch. Nach ein paar anderen Änderungen funktioniert nun meine "Synchronisation" wie gewünscht. 

Danke für deine Hilfe =)

Ohne Rang
133 Beiträge
Shay Als Antwort am 30 Jan. 2014 09:55
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Eine Frage hab ich noch:

Kann man im Workflow nicht Webseitenübergreifend die Listen für den Workflow auswählen?
Ich bekomme momentan nur die Listen angezeigt die sich in der Website befinden in welcher ich gerade den Workflow für meine eine Liste erstelle. 

Ohne Rang
19231 Beiträge
Andi Fandrich Als Antwort am 30 Jan. 2014 10:24
SchlechtSchlechtIn OrdnungIn OrdnungDurchschnittDurchschnittGutGutSehr gutSehr gut

Nein, das geht leider nicht. In 2013 kann man das mit Hilfe der neuen Aktion HTTP Request machen - allerdings nicht besonders intuitiv.

Viele Grüße
Andi
af @ evocom de
Blog