2016-07-25 30 views
0

Ist es möglich, ein Wörterbuch zu erstellen und dann eine tatsächliche Aktion (z. B. Feldwert festlegen) für jedes Element in diesem Wörterbuch auszuführen?Workflow für SharePoint 2013 Aktualisierung aller Elemente im Wörterbuch

Das Ziel - ich eine Liste haben kann „Testliste“ sagen (der Einfachheit halber sagt sie es 4 Spalten) und ich bin mit dem Workflow auf Artikel 1

Example "test List"

Nun, wenn Kostenfeld aktualisiert auf Artikel-ID 1, ändern sich die Suchkosten für Artikel ID 3 & 5, aber die berechneten Felder in 3 & 5 werden nicht aktualisiert, bis die Artikel in irgendeiner Weise geändert werden.

Lösung bisher - Also was ich getan habe, ist eine String-Variable erstellen "Domäne/Site/_api/Web/Listen ('Testliste')/Elemente? $ Filter = Nachschlagen auf ID eq '([% CurrentItem : ID)‘

meinen Aufruf an„Domain/site/_api/web/Listen (erstellen 'Testliste'?)/item $ filter = Lookup auf ID eq '1'

, die, wenn ich zähle gibt 2 Artikel zurück. Ich baue das Wörterbuch mit diesen 2 Artikeln

Das Problem - Jetzt habe ich viele Beiträge gesehen, wie Sie das Wörterbuch durchlaufen können, um die Werte daraus zu erhalten, und dann in einer Variablen protokollieren, die Sie dann verwenden können um in den Verlauf zu loggen oder eine E-Mail zu senden. Ich möchte jedoch etwas mit diesen Elementen im Wörterbuch tun, wie zum Beispiel eine fünfte Spalte "say date modified" auf heute setzen, um das berechnete Feld zu aktualisieren.

einmal mein Wörterbuch aufgebaut ist, ist es möglich, zum Beispiel Schleife mein Wörterbuch Artikel zählen (die in diesem Fall 2 gleich wird, dies habe ich bereits erreicht)


erste Schleife Get nächste ID aus Wörterbuch> (3) Update Spalte 5 mit dem heutigen Datum (nur zum Beispiel muss nicht ein Datum sein, nur etwas zu machen, aktualisieren), in dem Artikel mit ID (3)

zweiter Schleife Bekomme ne xt-ID aus Wörterbuch> (5) Update Spalte 5 mit dem heutigen Datum in dem Artikel mit ID (5)


Ich habe auch gedacht, über das Tun dies durch Update Element in der Schleife oder Wenn Lookup-ID = CurrentItem : ID, aber ich bin dort auf Probleme gestoßen. Ich habe eine andere Frage mit "IF" und "Update Item" aufgeworfen, da es wirklich eine andere Frage ist, und es wäre nützlich zu erfahren, ob eine der Methoden möglich ist und wie man jede Methode separat durchführt. Also, wenn Sie das mit update lösen konnte oder wenn Sie bitte meine Frage unter

https://sharepoint.stackexchange.com/questions/187618/sharepoint-2013-workflow-update-all-items-with-value-using-if-or-update

Vielen Dank im fortgeschrittenen

Antwort

0

So endete finde ich meine eigene Frage oben zu beantworten. so ist es nur höflich Ich füge meine Antwort hier hinzu (so einfach, wenn ich wieder lese, was ich hier geschrieben habe)

Also zuerst, was Sie tun möchten, ist eine Schleife mit Aufruf http Web-Services erstellen, können Sie viele Beispiele finden, wie um dies zu tun.auf drei Säulen wie http://weblogs.asp.net/ricardoperes/looping-through-list-items-in-sharepoint-2013

so in meiner Liste läßt

ID anschauen - LookupID - aktualisiert (im Bild unten, das Feld "Text3" ist meine aktualisierte Spalte)

jetzt in dem ersten In diesem Schritt möchten Sie beim Erstellen Ihrer URL-Variablen einen Filter hinzufügen, der die ID des Elements übernimmt, das den Workflow ausführt, und nur Elemente mit dieser ID in der Spalte LookupID findet. Beispiel unter

https: // domain/site/_api/web/lists/getbytitle ('TESTLIST')/items? $ filter = LOOKUPID eq '[% Aktueller Artikel: ID%]' (entfernen Sie den Abstand zwischen https und //)

die Anweisungen vom oben genannten Standort folgen dann bis zu dem Abschnitt, wo Sie

innerhalb der Schleife „Get Fields“

my workflow

ich stecken geblieben war, weil ich nicht finden konnte, ein Befehl, der auf die Elemente im Wörterbuch einwirkt, aber dann wurde mir klar, dass ich eine Variable erstellen kann, die die ID jedes Elements enthält (die sich jedes Mal ändert, wenn das Element eine Schleife ausführt) Der Workflow durchläuft und unmittelbar danach kann ich dann eine Aktualisierungsaktion erstellen, um nach der ID-Variablen in meiner Liste zu suchen und ein Feld zu aktualisieren.

Wie Sie sehen können, habe ich zwei Update-Felder (die zweite setzt Text3 auf das zweite Update, zu Testzwecken) aber ich behielt es, da ich nicht sicher war, ob das Update mein Element tatsächlich aktualisieren würde, wenn es das bereits enthielt Wert.

Ein großes Dankeschön an alle Fragen und Antworten zum Stapelwechsel, die mich auf dem Weg zu dieser Lösung geführt haben.