Een zoekactie voor een werkstroom definiëren

Met zoekopdrachten kunt u in uw werkstroom dynamische gegevens weergeven. Als een werkstroom wordt uitgevoerd, kunnen de zoekacties in die werkstroom gegevens ophalen uit verschillende gegevensbronnen, zoals lijsten, bibliotheken en de werkstroomgegevens. Dankzij zoekacties kunnen personen de site ook op een aangepaste manier gebruiken.

In dit artikel vindt u conceptuele informatie over zoekacties en wordt uitgelegd hoe u zoekactie voor werkstromen kunt definiëren. U vindt er ook tips over het werken met zoekacties en het maken van unieke zoekacties.

In dit artikel

Gegevensbinding en zoekacties

Zoekacties gebruiken om een aangepaste gebruikersbeleving te verzorgen

Waarom zijn id's nuttig?

Hoe werkt een zoekactie?

Een waarde in het huidige item zoeken

Een waarde in de werkstroomgegevens zoeken

Een waarde in een lijst of bibliotheek zoeken door een veld en een waarde als een filtercriterium op te geven

Tips voor unieke opzoekwaarden

Wat u moet weten over zoekacties

Gegevensbinding en zoekacties

Zoekacties voor werkstromen zijn mogelijk dankzij gegevensbinding, een functie in de Microsoft ASP.NET-technologie waarvan in Office SharePoint Designer 2007 gebruik wordt gemaakt. Met gegevensbinding kunnen gegevens uit meerdere gegevensbronnen in een database worden gekoppeld. In Office SharePoint Designer 2007 kunt u aan de hand van gegevensbinding in werkstromen gegevens ophalen zoals lijsten, bibliotheken en werkstroomgegevens, bijvoorbeeld variabelen en startparameters. Zoekacties voor werkstromen halen gegevens op uit een gegevensbron terwijl de werkstroom wordt uitgevoerd. De opgehaalde gegevens kunnen deze gegevens gebruiken om een andere werkstroomactie uit te voeren. Zoekacties leggen de verbinding tussen de gegevensbron en de werkstroom.

U kunt een zoekactie invoegen voor een huidig item, werkstroomgegevens en andere SharePoint-lijsten en -bibliotheken.

U kunt een zoekactie invoegen voor...

Beschrijving

Huidige item

Verwijst naar het item waarmee het huidige exemplaar van de werkstroom is gestart. Als u deze optie kiest, kunt u een waarde selecteren in het item waarop de werkstroom wordt uitgevoerd.

Werkstroomgegevens

Verwijst naar een werkstroomvariabele die deel uitmaakt van het huidige exemplaar van de werkstroom. Als u deze optie kiest, kunt u werkstroomvariabelen en startparameters in de huidige werkstroom gebruiken.

Overige lijsten en bibliotheken

U kunt ook gegevens ophalen uit andere lijsten en bibliotheken in de huidige SharePoint-site.

Naar boven

Zoekacties gebruiken om een aangepaste gebruikersbeleving te verzorgen

Zoekacties bieden ook een aangepaste gebruikerservaring voor gebruikers van de site. Stel dat u een auteur van inhoud bent die documenten verstuurt naar de bibliotheek Gedeelde documenten op uw teamsite. U wilt dat een werkstroom een automatisch e-mailbericht verstuurt waardoor de desbetreffende revisor op de hoogte wordt gesteld als er een document wordt geüpload. Door zoekacties aan het e-mailbericht in de werkstroom toe te voegen, kunt u zorgen voor een aangepaste gebruikerservaring. Dit betekent dat wanneer een document wordt geüpload, de werkstroom automatisch een e-mailbericht naar de desbetreffende revisor verstuurt, waarbij de naam van het document in de hoofdtekst van de e-mail staat.

In de volgende afbeelding worden enkele voorbeelden gegeven van plaatsen in het e-mailbericht waar zoekacties kunnen worden gebruikt.

E-mailbericht waarin mogelijke gebieden voor het invoegen van zoekacties zijn gemarkeerd

Nadat u de gemarkeerde gebieden door zoekacties hebt vervangen, ziet het e-mailbericht er als volgt uit.

E-mailbericht met zoekacties

U ziet hoe de zoekacties in de hoofdtekst van het e-mailbericht worden weergegeven. Nadat u de zoekactie hebt gedefinieerd, wordt deze weergegeven in de notatie [%Gegevensbron:Veldnaam%] op de plaats waar u de zoekactie hebt ingevoerd. Dus als u een zoekactie hebt gedefinieerd waarin de gegevensbron Gedeelde documenten is en het veld waaruit u de waarde wilt ophalen Naam revisor is, dan wordt de vermelding van de zoekactie weergegeven als [%Gedeelde documenten:Naam revisor%].

Opmerking : In de vermelding van de zoekactie worden de vierkante haken ([ ]) en het percentagepictogram (%) in de regels Aan:, CC: en Onderwerp van het e-mailbericht niet weergegeven.

Als een document wordt geüpload naar de bibliotheek Gedeelde documenten, dan ontvangt de revisor een geautomatiseerd e-mailbericht met de naam van het geüploade document. Wanneer de werkstroom wordt uitgevoerd, halen de zoekopdrachten de gegevens uit de verschillende gegevensbronnen op en worden deze gegevens weergegeven in het e-mailbericht.

E-mailbericht waarin mogelijke gebieden voor het invoegen van zoekacties zijn gemarkeerd

Naar boven

Waarom zijn id's nuttig?

U kunt een SharePoint-lijst of -bibliotheek beschouwen als een tabel. Elke tabel bestaat uit rijen en kolommen.

U wilt dat een zoekactie voor een werkstroom een bepaalde waarde uit een lijst ophaalt. Daarvoor dient u het veld (dus de kolom) en het item (dus de rij) op te geven.

Een zoekactie voor een werkstroom kan een waarde ophalen uit een lijst of bibliotheek in de huidige site, maar de volgende gegevens zijn elke keer nodig: welk veld (kolom) en welk item (rij).

Takenlijst

Als u bekend bent met relationele databases, zoals Office Access 2007 of Microsoft SQL Server, kan het handig zijn elke lijst en elke bibliotheek van een site als een afzonderlijke tabel in een database te beschouwen.

Elke lijst en elke bibliotheek heeft een id-kolom die als de primaire sleutel fungeert. In een database is een primaire sleutel een veld (of reeks velden) in een tabel die voor elke rij een unieke identificatie vormen.

De id-kolom voldoet aan alle criteria voor een goede primaire sleutel vanwege de volgende redenen:

  • Elke rij wordt uniek door een id-kolom gedefinieerd.

  • Een id-kolom is nooit leeg of null.

  • Een id-kolom wordt nooit gewijzigd.

U kunt de id-kolom zichtbaar maken door deze toe te voegen aan een weergave van een lijst of bibliotheek.

Kolom Id in verschillende SharePoint-lijsten

Omdat de id de primaire sleutel voor een lijst of bibliotheek is, is dit vooral handig in zoekacties voor werkstromen bij het identificeren van een specifiek item (of specifieke rij), zoals in de voorbeelden verderop in dit artikel wordt getoond.

Naar boven

Hoe werkt een zoekactie?

Als u, zoals al vermeld in de vorige sectie, bekend bent met relationele databases, kan het handig zijn elke lijst en elke bibliotheek van een site als een afzonderlijke tabel in een database te beschouwen.

De gegevens in lijsten en bibliotheken worden in feite opgeslagen in tabellen in SQL Server. (Hoewel het technisch gezien niet klopt dat elke lijst en elke bibliotheek overeenkomen met een afzonderlijke tabel in de database, is dit mentale plaatje erg handig wanneer het om zoekacties voor werkstromen gaat.)

Als u bekend bent met relationele databases, lijkt het definiëren van een zoekactie veel op het uitvoeren van een query voor een database. Stel dat u de volgende zoekactie hebt:

Een voorbeeldzoekopdracht

De zoekactie vermeldt het volgende: selecteer in Takenlijst de waarde in het veld Status waarbij de Id van de taak overeenkomt met de id die is opgeslagen in de variabele Taakitem-id voor dit exemplaar van de werkstroom.

U kunt de voorgaande zoekactie lezen als de onderstaande SQL-query. SQL-query's maken gebruik van het sleutelwoord SELECT om gegevens op te halen uit een bepaalde tabel of, in dit geval, een specifieke lijst of bibliotheek.

Voorbeeld 1: Overeenkomsten met een opzoekactie voor een SQL-query

of

Voorbeeld 2: Overeenkomsten met een opzoekactie voor een SQL-query

Naar boven

Een waarde in het huidige item zoeken

Het meest elementaire type zoekactie is dat waarbij de waarde van een veld in het huidige item wordt gezocht.

Opzoeken tot aan huidige item

Deze zoekactie zegt: selecteer in het huidige item de waarde in het veld Naam. Deze zoekactie is eenvoudig omdat u alleen het veld (de kolom) hoeft op te geven. Het item (de rij) is vastgelegd als het huidige item. Met andere woorden, er kan uit slechts één rij worden gekozen. Daarom wordt dit type zoekactie soms een 'platte' zoekactie genoemd.

Met een opzoekactie voor het huidige item wordt de waarde opgehaald van de kolom die u opgeeft

Naar boven

Een waarde in de werkstroomgegevens zoeken

Zoals in de vorige sectie vermeld, is een zoekactie voor een waarde in het huidige item altijd een 'platte' zoekactie, omdat de rij is vastgelegd als het huidige item. U hoeft alleen nog maar de kolom (of het veld) op te geven.

Zo is een zoekactie voor de werkstroomgegevens (dat wil zeggen de gegevens die zijn opgeslagen in werkstroomvariabelen en startparameters) eveneens een platte zoekactie, omdat elke variabele slechts één waarde kan bevatten. De waarde die is opgeslagen in een variabele kan van de ene werkstroom naar de volgende worden gewijzigd. De waarde kan ook op een bepaald moment tijdens een werkstroom worden gewijzigd, bijvoorbeeld als de werkstroom gebruikmaakt van de actie Werkstroomvariabele instellen om de variabele op een andere waarde in te stellen. Maar de variabele bevat altijd slechts één waarde, dus een zoekactie voor de werkstroomgegevens is altijd plat.

Zoeken naar de werkstroomvariabele benoemde Taakitem-id

U kunt zich de werkstroomgegevens voorstellen als op een kladblok met een reeks locaties waar de werkstroom gegevens schrijft en opslaat. Deze reeks locaties bestaat uit één 'rij' omdat elke locatie (een variabele of parameter) slechts één waarde bevat.

Variabelen in een werkstroom bevinden zich in een Kladblok-achtige locatie

Als dit exemplaar van de werkstroom is voltooid, worden de waarden gewist die op het kladblok zijn geschreven en de waarden van het volgende exemplaar van de werkstroom worden in de cache opgeslagen.

Naar boven

Een waarde in een lijst of bibliotheek zoeken door een veld en een waarde als een filtercriterium op te geven

Als u een waarde wilt zoeken in een item door een filtercriterium toe te passen op de lijst waarin zich het huidige item bevindt (of op een andere lijst), dan wordt het dialoogvenster voor zoekacties uitgevouwen.

Een waarde in een andere lijst zoeken

Waarom wordt het uitgevouwen? In het bovenste gedeelte van het dialoogvenster wordt het veld (de kolom) opgegeven met de waarde die u zoekt. Omdat u echter een filtercriterium wilt toepassen, dient u ook het item (de rij) van de gezochte waarde op te geven. U identificeert een unieke rij door een veld te kiezen waarvan de waarden kunnen worden gebruikt als filtercriterium voor het filteren van de lijst tot op één rij. Voor de zoekactie hieronder dient u op te geven uit welk item (rij) u de waarde wilt hebben. In het bovenste gedeelte van het dialoogvenster wordt de kolom opgegeven. U hebt nog een rij nodig.

Taakstatus gemarkeerd

Naar boven

Een statische waarde als filtercriterium gebruiken

Een eenvoudiger (en gewoonlijk minder bruikbaar) type zoekactie is er een waarbij u een statische variabele (ook wel letterlijke waarde genoemd) invoert om het item of de rij te vinden waarnaar u op zoek bent. De onderstaande zoekactie gaat naar de takenlijst en selecteert de waarde in het veld Aanbeveling uit het eerste taakitem waar het veld Aanbeveling gelijk is aan Negeren.

Voorbeeld van een zoekopdracht die een statische waarde ophaalt

Als u op OK klikt, ziet u de volgende waarschuwing:

Waarschuwingsdialoogvenster waarin wordt aangegeven dat de waarden die zijn opgehaald door de zoekactie, niet uniek zijn

Wat betekent dit? Voor veel items in de takenlijst kan het veld Aanbeveling gelijk zijn aan Negeren, zoals wordt weergegeven in de volgende afbeelding. De zoekactie vindt dus veel items die voldoen aan de criteria. In dit geval haalt de zoekactie de waarde op uit het veld Aanbeveling vanaf het eerste item in de takenlijst waar Aanbeveling = Negeren, zoals hier is weergegeven.

Lijst waarin de eerste waarde is gemarkeerd die wordt opgehaald door de zoekopdracht

Er zijn specifieke scenario's waar u dit type zoekactie nodig hebt, met name wanneer u met aangepaste lijsten werkt. Stelt u zich bijvoorbeeld een aangepaste lijst voor met de regiomanagers voor alle geografische regio's, zoals hieronder weergegeven.

Aangepaste lijst Regiomanagers

Stel nu dat uw team zich in de regio Noordoost bevindt. Dit is dus de regio waarin u bent geïnteresseerd. Er is een werkstroom gekoppeld aan een andere lijst (niet die met de regiomanagers) en u wilt dat de werkstroom de senior manager vindt van de regio Noordoost in de lijst Regiomanagers. Door de personen in een aangepaste lijst op te slaan en de werkstroom deze gegevens te laten opzoeken, kan de werkstroom altijd de meest recente gegevens op dynamische wijze ophalen. Bovendien hoeft u de werkstroom niet altijd te openen en te wijzigen als uw regio een andere manager krijgt toegewezen. Uw zoekactie voor dit doel kan er als volgt uitzien:

Zoeken naar een niet-unieke waarde in een aangepaste lijst

Als u op OK klikt, ziet u de volgende waarschuwing:

Waarschuwingsdialoogvenster waarin wordt aangegeven dat de waarden die zijn opgehaald door de zoekactie, niet uniek zijn

U krijgt deze waarschuwing omdat er zich mogelijk meerdere items in deze lijst bevinden waarbij de waarde van de regio gelijk is aan Noordoost. In tegenstelling tot de id (eerder gedefinieerd als een primaire sleutel), hoeft de waarde Noordoost niet per se uniek te zijn, omdat u talloze items met deze waarde aan de lijst kunt toevoegen. Omdat u echter eigenaar bent van de lijst Regiomanagers, kunt u deze waarschuwing gewoon negeren omdat u weet dat er slechts één item bestaat waarvan de waarde voor de regio gelijk is aan Noordoost, zodat u weet dat uw zoekactie uniek is.

Met andere woorden: het veld dat u voor de filtercriteria gebruikt, fungeert als de sleutel voor die lijst. Wanneer u een id-veld als de sleutel gebruikt, zijn deze waarden per definitie uniek. Maar als u een ander veld als sleutel gebruikt, zoals Regio in dit voorbeeld, dan wordt u gewaarschuwd dat de waarden in het veld uniek moeten zijn zodat dat veld een bruikbare sleutel kan zijn, en om een uniek item te identificeren.

Een ander algemeen scenario bestaat uit het opzoeken van een waarde in een bepaald item, zoals in de volgende sectie wordt beschreven.

Naar boven

Een werkstroomvariabele gebruiken als filtercriterium

De verreweg meest voorkomende zoekactie is die waarbij de werkstroom een item maakt, bijvoorbeeld door gebruik te maken van de actie Gegevens verzamelen van een gebruiker om een taakitem te maken of van de actie Lijstitem maken om een item te maken in een lijst of bibliotheek op de huidige site.

Wanneer de werkstroom een item maakt, wordt de id van het nieuwe item in een variabele opgeslagen.

actie lijstitem maken in werkstroomontwerper

De id van een item is een geheel getal dat altijd uniek is in die lijst of bibliotheek. De id werkt net als een sleutel in een database.

Omdat de id altijd uniek is en wordt opgeslagen in een dynamische variabele, is het gebruik van de id de beste en meest voorkomende manier om ervoor te zorgen dat u een unieke waarde gebruikt om het gewenste item exact te identificeren. Stel bijvoorbeeld dat de actie Gegevens verzamelen van een gebruiker een taak maakt waarvan de id wordt opgeslagen in een variabele met de naam Taakitem-id. U kunt die variabele gebruiken om voor een unieke zoekactie te zorgen, zoals hieronder weergegeven.

Verwijzing naar een variabele

Wanneer u op OK klikt, ziet u de waarschuwing in verband met unieke zoekacties niet omdat u de id gebruikt om het gewenste item (of de rij) te vinden en de id is altijd uniek.

Verwijzing naar de variabele taakitem-ID

De zoekactie vermeldt het volgende: selecteer in Takenlijst de waarde in het veld Aanbeveling waarbij de Id van de taak overeenkomt met de id die is opgeslagen in de variabele voor dit exemplaar van de werkstroom. Met andere woorden: in het bovenste gedeelte van het dialoogvenster wordt zoals gewoonlijk de kolom opgegeven. En in de onderste helft van het dialoogvenster wordt een unieke rij aangegeven. In dit voorbeeld heeft dit exemplaar van de werkstroom een taak gemaakt waarvan de takenlijst-id 5 is. De zoekactie gaat naar rijnummer 5 in de takenlijst omdat 5 de waarde is die in de variabele Taakitem-id is opgeslagen.

Takenlijst

Naar boven

Tips voor unieke opzoekwaarden

Hier volgen enkele tips voor het gebruik van zoekacties voor werkstromen:

  • De manier om een unieke zoekopdracht te garanderen, is door gebruik te maken van een lijstitem-id om het item met de overeenkomende id te vinden. Als er variabelen zijn van het gegevenstype Lijstitem-id die al zijn gekoppeld aan de huidige werkstroom, kunt u deze in de zoekactie gebruiken. Als u variabelen van het gegevenstype Lijstitem-id wilt identificeren, klikt u op de knop Variabelen in Workflow Designer. Er verschijnt een lijst met alle variabelen die zijn gekoppeld aan de huidige werkstroom. Controleer op variabelen van het type Lijstitem-id.

  • Als u het veld Id om een bepaalde reden niet kunt gebruiken of als er geen enkel veld in een lijst als een sleutel voor de lijst kan fungeren, kunt u een string van samengevoegde lijstitemwaarden gebruiken om het lijstitem uniek te maken. U kunt de actie Dynamische string samenstellen in uw werkstroom gebruiken om deze string te maken en de string in een variabele opslaan. U kunt vervolgens deze variabele in een zoekactie gebruiken om een uniek item in een lijst te identificeren.

  • Wanneer u de lijsten op uw site maakt, kunt u een hiërarchische of een-op-veel-relatie tussen gerelateerde gegevens in verschillende lijsten maken door een opzoekkolom in één lijst te laten verwijzen naar het veld Id van een andere lijst. Stel dat u een lijst Klassen en een lijst Registraties hebt en er bestaat een een-op-veel-relatie tussen één klasse en de vele registraties voor die klasse. U kunt een kolom toevoegen aan de lijst Registraties die een opzoekkolom is voor de id van de gerelateerde klasse in de lijst Cursussen. Als er een werkstroom wordt uitgevoerd voor de lijst Registraties, kan de werkstroom vervolgens altijd waarden opzoeken uit het gerelateerde item in de lijst Klassen: Deze zoekactie zegt bijvoorbeeld: selecteer uit de lijst Klassen de waarde van [een veld in de lijst], waarbij de id in de lijst Klassen overeenkomt met de id van het opzoekveld in het huidige item. Indien id-relaties (in feite primaire en externe-sleutelrelaties) tussen lijsten kunnen worden gemaakt, zijn zoekacties voor werkstromen eenvoudig, en door id's te gebruiken kan eenvoudig een unieke overeenkomst worden gevonden.

Naar boven

Wat u moet weten over zoekacties

Hier volgen enkele zaken die u moet weten wanneer u met zoekacties werkt:

  • Voeg uw werkstroom toe aan de lijst die waarschijnlijk een hoofdlijst is en die min of meer alle gegevens bevat die in de werkstroom kunnen worden gebruikt. Op deze manier kunt u veel meer waarden uit het huidige item in uw zoekacties gebruiken in plaats van dat u complexe zoekacties maakt om waarden uit andere lijsten op te halen.

  • Wanneer een zoekopdracht geen overeenkomende gegevens vindt, wordt de string ????? geretourneerd. Als u bijvoorbeeld een zoekactie voor een werkstroom definieert om de waarde van het veld Titel te selecteren in de lijst Taken, waarin het veld Toegewezen aan gelijk is aan Gerko, maar er geen taak aan Gerko is toegewezen, dan retourneert de zoekactie het resultaat ?????. U kunt dit oplossen door de juiste zoekactie openen en de filtercriteria te wijzigen zodat de query een overeenkomend item retourneert.

  • Als een zoekopdracht een variabele aantreft die geen gegevens bevat, wordt de string **** geretourneerd. U kut dit oplossen door de werkstroom te openen en te controleren of de variabele is ingesteld op een waarde (of is geïnitialiseerd).

  • U wist de inhoud van het dialoogvenster Zoekactie voor werkstroom definiëren door op de knop Zoekactie wissen in dat dialoogvenster te klikken.

Naar boven

Uw vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×