SharePoint-Listenabfrage
Dieser Konfliktlöser ermöglicht es Ihnen, eine SharePoint-Liste zu verwenden, um Workflowteilnehmern unter Verwendung von einer Vielzahl an Parametern und/oder eines logischen Ausdrucks Aufgaben zuzuweisen.
Dies kann nützlich in Szenarien sein, in denen das Weiterleiten davon abhängt, welche Werte von einem Benutzer in einem Formular ausgewählt werden. Sie können zum Beispiel ein Formular auf Grundlage der in einem oder mehreren Feldern ausgewählten Werte zur Genehmigung weiterleiten, wie Produktionsanlage und Lagerort, wenn ein Formular einen Anlagen- und Lager-Feldwert besitzt.
SharePoint-Listenabfrage-Parameter
Argument | Beschreibung | Erforderlich? |
allow select | Ein Ja/Nein-Wert, der anzeigt, ob es dem Benutzer gestattet ist, den Workflowteilnehmer zu wählen, wenn die Abfrage nichts ausgibt. Auf „Ja“ festgelegt ermöglicht es dieser Wert dem Formularbenutzer, mit der Pool-Steuerung im Element Prozesssteuerung zu interagieren und mögliche Teilnehmer auszuwählen oder ihre Auswahl aufzuheben. Wenn auf „Nein“ festgelegt, wird die Pool-Steuerung nicht angezeigt und der Formularbenutzer kann die Teilnehmer nicht ändern. | |
column | Name der abzufragenden Spalte. | Ja |
display | Ein Ja/Nein-Wert, der anzeigt, ob der ausgewählte Workflowteilnehmer angezeigt werden soll oder nicht. | Ja |
list | Name der abzufragenden Liste. | Ja |
poolcolumn | Name der abzufragenden Spalte. | |
poollist | Name der abzufragenden Liste. | |
poolquery | Die auszuführende Abfrage. | |
poolsite | SharePoint-Website mit der Liste, die Sie abfragen. | |
query | Die auszuführende Abfrage. | Ja |
runat | Ein Start/Ende-Wert, der anzeigt, wann die Abfrage ausgeführt wird. | |
site | SharePoint-Website mit der Liste, die Sie abfragen. | Ja |
Hinweis: Die Pool-Optionen (poolcolumn, poollist, poolquery, poolsite) ermöglichen es dem Benutzer, die Teilnehmer interaktiv aus den von der Abfrage ausgegebenen Ergebnissen auszuwählen. Der Teilnehmer-Konfliktlöser kann in Verbindung mit der Option „Pool-Abfrage erneut ausführen“ in der benutzerdefinierten Steuerung des Workflowteilnehmers ausgeführt werden, um es Ihnen zu ermöglichen, die Pool-Abfrage auszuführen, wenn sich der Wert in einem Formularfeld ändert.
Beispiel
poolsite= http://localhost/grant, poolcolumn=people, poolquery= [division]==@[/my:myFields/my:SPDiv], poollist=Divisions, allowselect=false
Erforderliche Argumente
Die unten aufgeführten Parameter sind mindestens für den Konfliktlöser „SharePoint-Listenabfrage“ erforderlich.
Site
Geben Sie die URL zur SharePoint-Website mit der Liste der genehmigenden Personen ein.
Beispiel: Wenn sich Ihre Seite unter „http://mysite/myforms/lists/approvers“ befindet, dann geben Sie „http://mysite/myforms“ ein.
Tipp: Sie können die URL auch aus Ihrem Browser kopieren, indem Sie zur Website gehen und alles ab dem letzten Schrägstrich – einschließlich des Schrägstrichs – löschen (normalerweise „/default.aspx oder /home.aspx“).
Display
„Display“ muss in Verbindung mit dem Element Prozesssteuerung verwendet werden. Wenn auf „Ja“ festgelegt, wird der zur Abfrage passende Teilnehmer in der Prozesssteuerung angezeigt.
List
Geben Sie den Namen der Liste ein, in der sich Ihre genehmigende Personen befinden.
Beispiel: Wenn Ihre Listen-URL „http://mysite/myforms/lists/approvers“ lautet, dann ist der Wert für die Liste approvers.
Column
Dieses Argument zeigt an, welche Spalte in Ihrer SharePoint-Liste die Benutzernamen für die genehmigenden Personen beinhaltet. Geben Sie den Spaltennamen ein, wie er in der Liste im Browser angezeigt wird.
Im unten stehenden Beispiel würde der Spaltenname die Spalte Benutzername der genehmigenden Person sein, da sich in Ihr die Benutzernamen befinden.
Query
Das Argument „Query“ ist ein Ausdruck, der genehmigende Personen herausfiltert, die Sie vergleichen möchten. Durch das Verwenden des Ausdruckgenerators können Sie Felder einfügen, Werte hochstufen und/oder logische Operatoren verwenden.
Wenn Sie zum Beispiel eine SharePoint-Liste mit den genehmigenden Personen für Lagerbereiche in Anlagen haben, kann diese folgendermaßen aussehen:
Anlage | Anlagennamen | Lagerort | Genehmigende Person | Benutzername der genehmigenden Person |
3105 | Chicago | CH01 | Gerald Kauf | nwh\gkauf |
3105 | Chicago | CH02 | Adeline Bhatt | nwh\abhatt |
3101 | Des Moines | DM03 | Dan Smithson | nwh\dsmithson |
Abfragebeispiele
Statische Abfrage
Sie können eine statische Abfrage erstellen (in der die Werte sich niemals ändern), die immer Des Moines ausgibt, indem Sie Folgendes eingeben:
[Anlagenname] == "Des Moines"
Die [ ]-Klammern umschließen den SharePoint-Zielspaltennamen. Dieses Aussage gibt dem Konfliktlöser die Anweisung, alle Übereinstimmungen zu finden und zuzuordnen, in denen der Anlagenname „Des Moines“ entspricht.
Was wäre, wenn Sie jemanden auf Grundlage mehrerer Werte zum Ziel machen wollen, wie Adeline oben? Sie könnten zum Beispiel diese Anweisung verwenden:
[Anlagenname] == "Chicago" && [Lagerort] == "CH02"
Das doppelte Und-Zeichen ist das logische UND, was bedeutet, dass beide Seiten des Ausdrucks übereinstimmen und wahr sein müssen.
Dynamische Abfrage
Abfragen können auch dynamische Werte aus dem Formular verwenden. Anstatt zum Beispiel aus einer langen Liste mit genehmigenden Personen auszuwählen, können Sie ein Formular haben, in dem Sie nur den Lagerort und die Produktionsanlage eingeben müssen.
Der Abfrageausdruck dafür würde folgendermaßen lauten:
([Anlagenname] == @[/my:myFields/my:plant]) && ([Lagerort] == @[/my:myFields/my:storage_location])
Diese Abfrage vergleicht die SharePoint-Spalte Anlagenname mit dem Wert des Felds „plant“ im Formular. Sie vergleicht ebenfalls die SharePoint-Spalte Lagerort mit dem Feld "storage_location“ im Formular. In diesem Beispiel können Sie ein Formular ausfüllen und die Anlage zu 3105 und den Lagerort zu CH01 festlegen. Anschließend wird das Formular automatisch zu Gerald Kauf weitergeleitet.
Wichtige Hinweise:
- Verwenden Sie das @-Symbol vor dem XPath für Felder, wenn Sie Abfrageanweisungen erstellen, die einen Formularfeldwert benötigen. Das @-Symbol bedeutet, dass der Wert aufgelöst werden sollte, nachdem das Formular ausgeführt wurde, nicht davor.
- Schließen Sie jede Anweisung in Klammern ein, wenn Sie mehrere Bedingungen in einer logischen Anweisung vergleichen müssen (wie in dem oben stehenden Beispiel). Dies teilt der Engine mit, die Bedingungen in Klammern zuerst zu evaluieren und die Anweisungsergebnisse mit dem Rest zu vergleichen.
Pool-Argumente
Pool-Argumente ermöglichen es Ihnen, dem Formularbenutzer übereinstimmende Teilnehmer aus dem Konfliktlöser anzuzeigen, der dann aus einer Liste auswählen kann.
Durch das Verwenden dieser Argumente wird eine spezielle Steuerung im Element Prozesssteuerung erstellt, das mögliche Übereinstimmungen auf der linken und Aufgabenempfänger auf der rechten Seite anzeigt.
Für diese Argumente muss sich das Element „Prozesssteuerung“ im Formular befinden. Wenn Pool-Argumente verwendet werden, sollten die äquivalenten nicht-Pool-Argumente gelöscht sein.
POOLSITE, POOLLIST, POOLCOLUMN, POOLQUERY
Diese vier Argumente sind für die unter Erforderliche Argumente beschriebenen nicht-Pool-Argumente identisch. Verwenden Sie dieselbe Syntax und dieselben Werte.