SharePointCommunity
Die deutschsprachige Community für SharePoint, Office 365 und mit Azure

Automatische Generierung fortlaufender Nummer in Abhängigkeit anderer Spalten

bewertet von 0 Usern
Dieser Beitrag hat 42 Antworten | 1 Follower

Top-500-Beitragsschreiber
Beiträge 41

Hallo Andi,

in deinem Blogeintrag Teil 1 setzt du den Filter auf die ID sprich ...$select=Id,Title,ParentId&$filter=Parent eq [%Aktuelles Element:ID%]...

den Zusatz Id brauchst du diesen nur weil du auch die Id filterst oder brauchst du diese immer? Auf mein Beispiel mit der Spalte 2 bezogen würde es doch so aussehen: ......$select=Id,Title,Spalte2&$filter=Spalte2 eq [%Aktuelles Element:Spalte2%]...

bin derzeit eben am versuchen, dass ich zumindest den Count dieser elemente hinbekomme und dann versuche ich im nächsten Schritt die Sortierung und dann die Bschränkung au 1 Element hinzubekommen, dass ich dann +1 rechnen kann.

Top-10-Beitragsschreiber
Männlich
Beiträge 18.312

Ja, Dein Abfragetext sieht gut aus. Du kannst das tatsächlich einfach im Browser testen.

Mit $select gibst Du an, welche Spalten Du geliefert haben möchtest. Die ID ist eigentlich immer sinnvoll, weil man nur damit ein Element eindeutig identifizieren kann. Alle Spalten, die als Filter verwendet werden, müssen auch bei $select angegeben werden.

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
Beiträge 41

hmmm komisch...

Habe den Workflow jetzt so aufgebaut wie in deinem Beispiel (außer der Spalte 2 natürlich angepasst auf meine liste), bekomme aber immer ItemCount = 0 zurück gemeldet.

der rest vom workflow ist so wie in deinem beispiel.

 

 

Top-10-Beitragsschreiber
Männlich
Beiträge 18.312

Wie gesagt, teste die Abfrage im Browser bis sie funktioniert und baue das dann in den Workflow. Ich kann hier aus der Ferne nur im Nebel stochern...

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
Beiträge 41

ok, habe die Abfrage im Browser soweit hinbekommen und es kommen auch daten zurück. Scheinbar muss ich aber ein Problem mit dem Filter [%Aktuelles Element:Spalte2%] im SD haben, da hier keine daten mehr zurückgemeldet werden. Wenn ich den Filter auf einen wert setze also nicht auf Spalte2, dann werden werte zurückgemeldet und die Zählung der Elemente erfolgt wie gewollt.

Gibt es Beschränkungen auf den Spaltentyp, welcher als Filter angewendet werden kann?

Top-10-Beitragsschreiber
Männlich
Beiträge 18.312

Lasse Dir die zusammengesetzte Abfrage vom Workflow einfach in die Verlaufsliste schreiben. Du siehst dann, was genau als Abfrage verwendet wird.

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
Beiträge 41

habe jetzt schon lange nach der Ursache gesucht aber komm einfach nicht drauf. Habe deine Testumgebung und meine Live Umgebung parallel am laufen mit 2 workflows. Der einzige Unterschied ist, dass ich auf Spalte2 den Verweis habe und nicht wie im Beispiel Parent bzw. ParentId.

Die History des Verlaufs meldet einen Fehler beim ResponseContent:

{"error":{"code":"-2146232832, Microsoft.SharePoint.SPException","message":{"lang":"en-US","value":"Column 'ORG' does not exist. It may have been deleted by another user."}}}

Der "Column 'ORG'" ist ein Wert, welcher in diesem speziellen Fall als Filter gelten sollte in Spalte2. Diesen Fehler verstehe ich nicht bzw. woher dieser resultiert.

Top-10-Beitragsschreiber
Männlich
Beiträge 18.312

Lasse Dir die zusammengebaute Abfrage VOR! der HttpRequest-Aktion in die History protokollieren. Das ist die einzige Möglichkeit herauszufinden, was da wirklich vor sich geht...

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
Beiträge 41

Befehl "Set Variable: REST-URL to...." wie in einem vorigan kommentar geschrieben.

Log: https://.../_api/lists/getbytitle('MeineListe')/items?$select=Id,Title,Spalte2&$filter=Spalte2 eq OPS

anstelle des "OPS" steht im Workflow [%Aktuelles Element:Spalte2%]

nächster Schritt "then Build {...} Dictionary (Output to Variable:RequestHeaders)

Log: {"Accept":"application\/json;odata=verbose","Content-Type":"application\/json;odata=verbose"}

nächster Schritt "Call [%Varable: REST-URL%]......

Log wie im vorigen Bpost geschrieben.

 

Vielleicht hierzu noch ienmal zwei grundsatzfragen. Kann ich diesen Workflow auch anwenden, wenn ich nicht die Parent/Child Konfiguarion habe UND kann ich diesen Workflow auf jede beliebige Spalte (jeden beliebigen Typs/Inhalt) anwenden?

Top-10-Beitragsschreiber
Männlich
Beiträge 18.312

Christoph Moosbrugger:
Log: https://.../_api/lists/getbytitle('MeineListe')/items?$select=Id,Title,Spalte2&$filter=Spalte2 eq OPS

anstelle des "OPS" steht im Workflow [%Aktuelles Element:Spalte2%]

Wenn der Teil mit [%Aktuelles Element... korrekt ersetzt wurde, dann paßt das. Kommt das erwartete Ergebnis, wenn Du die URL aus dem Workflowverlauf in den Browser kopierst?

Christoph Moosbrugger:
Kann ich diesen Workflow auch anwenden, wenn ich nicht die Parent/Child Konfiguarion habe UND kann ich diesen Workflow auf jede beliebige Spalte (jeden beliebigen Typs/Inhalt) anwenden?

Das mit dem Parent/Child kommt häufig vor, ist aber nur ein willkürlich gewähltes Beispiel. Man kann per Workflow so ziemlich alles machen, was die REST-API hergibt. Also auch solche Sachen wie Listen oder ganze Websites anlegen. Es ist aber nicht immer ganz einfach, die korrekte Syntax zu finden und daher mein Hinweis auf Ausprobieren im Browser. Ich weiß auch nicht alles auswendig und mache es immer so...

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
Beiträge 41

ja, wenn ich den Link im Browser eingebe, kommt das richtige Ergebnis, sprich im Browser wurde der Teil zwischen [% ... %] mit meinem Wert "OPS" ersetzt.

Gerade deshalb verwundert mich der Fehler, dass er auf einmal ausspuckt, dass er die Spalte "OPS" nicht finden kann obwohl der Verweis ja auf Spalte2 geht und nicht auf deren Inhalt?

Top-10-Beitragsschreiber
Männlich
Beiträge 18.312

Dann wirst Du irgendwo einen Fehler im XPath haben. Beachte, daß XPath case-sensitive ist, d.h. es wird zwischen Groß- und Kleinschreibung unterschieden.

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
Beiträge 41

:( oh mann.

und der filter den ich setze geht auf den spalteninhalt und nicht die spalte selbst, oder? das will nicht in meinen kopf gehen, dass er dann sagt, dass die spalte nicht existiert.

Die Zeile sagt doch folgendes ... zeige mir aus der angebenen Liste die Attribute Id, Titel, Spalte2 aller Elemente aber Filter so, dass mir nur Elemente angezeigt werden bei der die Spalte2 einem bestimmten Wert (Aktuelles Element Spalte2) entspricht, richtig?

Top-10-Beitragsschreiber
Männlich
Beiträge 18.312

Ich habe Deine Aussage oben so v erstanden, daß zwar der HttpRequest funktioniert, aber es dann einen Fehler beim Zugriff auf die gelieferten Daten gibt. Kann mich natürlich auch täuschen...

Viele Grüße
Andi
af @ evocom de
Blog
Top-500-Beitragsschreiber
Beiträge 41

Morgen!

habe jetzt eine Nacht darüber geschlafen, den kompletten Workflow noch einmal neu geschrieben und zuerst einmal einfach gemacht. Zeige mir alle Items ohne filter und dann zähle wie viele es sind.

Klappt alles super. Habe dann auch noch gesagt, dass er mir auf die spalte Id nur den hächsten Wert angeben soll, klappt super.

Dann im nächsten Schritt wieder den Filter eingebaut und da kommt der haken wieder. warum auch immer gibt er aus, dass er die Spalte XXX nicht findet. Der Wert XXX ist in diesem fall der Inhalt des Elements.

&$filter=Spalte2 eq [%Aktuelles Element:Spalte2%] => so sieht der Filter im Workflow selbst aus.

Seite 2 von 3 (43 Elemente) < Zurück 1 2 3 Weiter > | RSS