Definiera ett arbetsflödesuppslag

Uppslag gör det möjligt att visa dynamiska data i ditt arbetsflöde. När ett arbetsflöde körs kan uppslag i det arbetsflödet hämta data från olika datakällor, t.ex. listor, bibliotek och arbetsflödesdata. Uppslag kan också skapa en anpassad slutanvändarupplevelse för de personer som använder webbplatsen.

Den här artikeln innehåller en del konceptuell information om uppslag och förklarar hur du kan definiera arbetsflödesuppslag. Här hittar du också hitta några tips om att arbeta med uppslag och säkerställa unika uppslag.

I den här artikeln

Om databindning och uppslag

Om att använda uppslag för att skapa en anpassad slutanvändarupplevelse

Varför är ID:n användbara?

Hur fungerar uppslag?

Söka efter ett värde i det aktuella objektet

Söka efter ett värde i arbetsflödesdata

Söka efter ett värde i en lista eller ett bibliotek genom att ange ett fält och ett värde som ett filtervillkor

Tips för att säkerställa unika uppslagsvärden

Saker du bör veta om uppslag

Om databindning och sökningar

Det som gör arbetsflödesuppslag möjliga är databindning, en funktion i Microsoft ASP.NET-teknik som används i Office SharePoint Designer 2007. Databindning gör det möjligt att länka data mellan olika datakällor i en databas. I Office SharePoint Designer 2007 kan du använda databindning i arbetsflöden för att hämta data från datakällor, t.ex. listor, bibliotek och arbetsflödesdata som variabler och initieringsparametrar. Arbetsflödesuppslag hämtar data från en datakälla under körningen av ett arbetsflöde och kan använda de data som hämtas för att utföra någon annan arbetsflödesåtgärd. Sökningar skapar anslutningen mellan datakällan och arbetsflödet.

Du kan infoga en sökning i aktuellt objekt, arbetsflödesdata och andra SharePoint-listor och SharePoint-bibliotek.

Du kan infoga en sökning för att...

Beskrivning

Aktuellt objekt

Refererar till det objekt som startade den aktuella förekomsten av arbetsflödet. Med det här alternativet kan du välja ett värde från det objekt som arbetsflödet körs på för närvarande.

Arbetsflödesdata

Refererar till en arbetsflödesvariabel som är en del av den aktuella förekomsten av arbetsflödet. Med det här alternativet kan du använda arbetsflödesvariabler och initieringsparametrar i det aktuella arbetsflödet.

Andra listor och bibliotek

Du kan också hämta data från andra listor och bibliotek på den aktuella SharePoint-webbplatsen.

Överst på sidan

Om att använda sökningar för att skapa en anpassad slutanvändarupplevelse

Uppslag kan också skapa en anpassad slutanvändarupplevelse för webbplatsanvändare. Anta att du är en innehållsförfattare som skickar dokument till biblioteket med delade dokument på gruppwebbplatsen. Du vill använda ett arbetsflöde för att skicka ett automatiskt e-postmeddelande och meddela rätt granskare varje gång ett dokument laddas upp. Du kan skapa en anpassad slutanvändarupplevelse genom att lägga till uppslag till e-postmeddelandet i arbetsflödet. Det innebär att när ett dokument laddas upp skickar arbetsflödet automatiskt ett e-postmeddelande med namnet på dokumentet till rätt granskare.

I följande bild har några av de områden i e-postmeddelandet där uppslag kan användas markerats.

E-postmeddelande som belyser potentiella områden för infogande av sökningar

När de markerade områdena har ersatts med uppslag ser e-postmeddelandet ut så här.

E-postmeddelande med uppslag

Lägg märke till hur uppslagsposterna visas i meddelandets brödtext. När du har definierat uppslaget visas det i formatet [%datakälla:fältnamn%] på platsen där du angav uppslaget. Om du har definierat ett uppslag där datakällan är Delade dokument och fältet där du vill hämta värdet är Granskarens namn visas uppslagsposten visas som [%Delat dokument:Granskarens namn%].

Obs!: Uppslagsposten visar inte hakparenteserna [ ] och procenttecknet % på raderna Till:, Kopia: och Ärende: i e-postmeddelandet.

När ett dokument laddas upp till biblioteket med delade dokument får granskaren automatiskt ett e-postmeddelande med namnet på det dokument som laddades upp. När arbetsflödet körs hämtar uppslagen data från olika datakällor och det är dessa data som visas i e-postmeddelandet.

E-postmeddelande som belyser potentiella områden för infogande av sökningar

Överst på sidan

Varför är ID:n användbara?

Tänk på en SharePoint-lista eller ett SharePoint-bibliotek som en tabell. Varje tabell består av rader och kolumner.

Om ett arbetsflödesuppslag ska kunna hämta ett specifikt värde från en lista måste du ange fältet (d.v.s. kolumnen) och objektet (d.v.s. raden).

Ett arbetsflödesuppslag kan hämta ett värde från valfri lista eller bibliotek på den aktuella webbplatsen men det behöver den här informationen varje gång: vilket fält (kolumn) och vilket objekt (rad).

Listan Uppgifter

Om du är bekant med relationsdatabaser, t.ex. Office Access 2007 eller Microsoft SQL Server, kan det vara nyttigt att tänka på varje lista och bibliotek på en webbplats som en separat tabell i en databas.

Varje lista och bibliotek har en ID-kolumn som fungerar som primärnyckeln. I en databas är primärnyckeln ett fält (eller en uppsättning fält) i en tabell som tillhandahåller en unik identifierare för varje rad.

ID-kolumnen uppfyller alla villkor för en bra primärnyckel eftersom det:

  • Identifierar varje rad unikt.

  • Aldrig är tomt eller null.

  • Aldrig ändras:

Du kan se ID-kolumnen genom att lägga till den i valfri vy i en lista eller ett bibliotek.

ID-kolumn som visas i olika SharePoint-listor

Eftersom ID:t är primärnyckeln för en lista eller ett bibliotek är det särskilt användbart i arbetsflödesuppslag för identifiering av ett visst objekt (eller rad), såsom visas i senare exempel.

Överst på sidan

Hur fungerar uppslag?

Som tidigare nämnts i föregående avsnitt, om du är bekant med relationsdatabaser kan det vara nyttigt att tänka på varje lista och bibliotek på en webbplats som en separat tabell i en databas.

Faktum är att data i listor och bibliotek lagras i tabeller i SQL Server. (Även om det inte är tekniskt sant att varje lista och bibliotek motsvarar en separat tabell i databasen är den här tankemodellen användbar när det gäller arbetsflödesuppslag.)

Om du är bekant med relationsdatabaser är definition av ett uppslag väldigt likt körning av frågor på en databas. Anta t.ex. att du har följande uppslag.

Ett exempel på uppslag

Det här uppslaget går ut på att hämta de värden i fältet Status i listan Tasks där uppgiftsobjektets ID matchar det ID som är lagrat i variabeln Task item ID för den här förekomsten av arbetsflödet.

Du kan läsa föregående uppslag som följande SQL-fråga. SQL-frågor använder nyckelordet SELECT till att hämta data från en viss tabell, eller i det här fallet, en viss lista eller ett visst bibliotek.

Exempel 1: Likhet mellan en sökning och en SQL-fråga

— ELLER —

Exempel 2: Likheten mellan en sökning och en SQL-fråga

Överst på sidan

Slå upp ett värde i det aktuella objektet

Den mest grundläggande typen av uppslag är den där du slår upp värdet i ett visst fält i det aktuella objektet.

Leta reda på aktuellt objekt

Det här uppslaget går ut på att hämta värdet från fältet Name i det aktuella objektet. Det här uppslaget är lätt att göra eftersom du bara behöver ange fältet (kolumnen). Objektet (raden) är alltid det aktuella objektet. Det finns alltså bara en rad att välja på. Av den anledningen kallas den här typen av uppslag för "platta" uppslag.

Ett uppslag till aktuellt objekt hämtar värdet för den kolumn du specificerar

Överst på sidan

Söka efter ett värde i arbetsflödesdata

Som tidigare nämnts i föregående avsnitt är ett uppslag av ett värde i det aktuella objektet alltid ett "platt" uppslag eftersom raden är alltid det aktuella objektet. Du behöver bara ange kolumn (eller fält).

Likaså är uppslag av arbetsflödesdata (d.v.s. data som lagras i arbetsflödesvariabler och initieringsparametrar) också platta eftersom varje variabel bara kan ha ett enskilt värde. Värdet som är lagrat i en variabel kan ändras från en arbetsflödesförekomst till en annan och värdet kan ändras någon gång under ett arbetsflöde, t.ex. om arbetsflödet använder åtgärden Ange arbetsflödesvariabel för att ange variabeln till ett annat värde. Variabeln innehåller dock alltid endast ett värde. Ett uppslag av arbetsflödesdata är därför alltid platt.

Slå upp en arbetsflödesvariabel med namnet Objekt-ID för uppgiften

Du kan tänka på arbetsflödesdata som att de finns på ett anteckningsblock med en rad platser där arbetsflödet skriver och lagrar data. Den här raden platser består av en enda "rad" eftersom varje plats (en variabel eller parameter) bara innehåller ett enskilt värde.

Variabler i ett arbetsflöde finns på en anteckningsblockliknande plats

När den här förekomsten av arbetsflödet slutförs raderas de värden som skrivits upp på anteckningsblocket och nästa förekomst av arbetsflödet cachelagrar sina egna värden.

Överst på sidan

Söka efter ett värde i en lista eller ett bibliotek genom att ange ett fält och ett värde som ett filtervillkor

Uppslagsdialogrutan expanderar när du vill slå upp ett värde i ett objekt genom att använda ett filtervillkor på listan där det aktuella objektet finns eller på en annan lista.

Sök efter ett värde i en annan lista

Varför expanderar den? I den övre halvan av dialogrutan anger du fältet (kolumnen) för det värde som du är intresserad av. Men eftersom du vill använda ett filtervillkor måste du ange objektet (raden) för det värde som du är intresserad av. Du identifierar en unik rad genom att välja ett fält vars värden kan användas som filtervillkor för att filtrera listan till en enda rad. I här exemplet måste uppslaget veta vilket objekt (vilken rad) du vill hämta värdet från. Du anger kolumnen i den övre halvan av dialogrutan. Nu behöver du en rad.

Aktivitetsstatus markerad

Överst på sidan

Använda ett statiskt värde som filtervillkor

Den mer grundläggande, och vanligtvis mindre användbara, typen av uppslag är den där du anger ett statiskt värde (en s.k. literal) för att hitta objektet eller raden som du är intresserad av. Det här uppslaget t.ex. kommer att gå till listan Tasks och hämta värdet i fältet Recommendation från det första uppgiftsobjektet där fältet Recommendation är lika med "Reject".

Exempel på en sökning som hämtar ett statiskt värde

När du klickar på OK, visas följande varning.

Dialogrutan Varning indikerar att värden som hämtats i sökningen inte är unika

Vad innebär detta? Många objekt i listan Tasks kan ha ett Recommendation-fält som är lika med "Reject", såsom visas i följande bild, och uppslaget hittar därför många objekt som uppfyller villkoren. I det här fallet hämtar uppslaget bara värdet i fältet Recommendation från det första objektet i listan Tasks där Recommendation = Reject, såsom visas här.

Lista som markerar det första värdet som hämtas vid sökningen

Det finns vissa situationer där du behöver den här typen av sökning, särskilt när du arbetar med anpassade listor. Låt oss tydliggöra det här med ett exempel. Anta att du har en anpassad lista över regionschefer för varje geografisk region, såsom visas här.

Anpassad lista med regionala chefer

Anta nu att din grupp finns i regionen Northeast och att det därför är den enda region du bryr dig om. Du har ett arbetsflöde kopplat till en annan lista (inte Regional Managers) och du vill att arbetsflödet ska slå upp den högsta chefen för regionen Northeast från listan Regional Managers. Genom att lagra personer i en anpassad lista och låta arbetsflödet slå upp dessa data gör du det möjligt för arbetsflödet att alltid hämta de senaste data dynamiskt. Du behöver dessutom inte öppna och ändra arbetsflödet varje gång det börjar en ny chef i din region. Ditt uppslag för det här skulle se ut ungefär så här.

Hitta en icke-unikt värde i en anpassad lista

Följande varning visas när du klickar på OK.

Dialogrutan Varning indikerar att värden som hämtats i sökningen inte är unika

Du får den här varningen eftersom det är möjligt att det finns fler än ett objekt i den här listan där värdet för regionen är Northeast. Till skillnad från ID:t (tidigare definierat som primärnyckel) är värdet Northeast inte nödvändigtvis unikt eftersom du kan lägga till många objekt med det här värdet i listan. Men eftersom du äger listan Regional Managers kan du tryggt bortse från den här varningen eftersom du vet att det endast finns ett objekt vars värde för regionen är lika med Regional Managers och därför vet att ditt uppslag är unikt.

Med andra ord, fältet du använder för filtervillkoret fungerar som nyckel för den listan. När du använder ett ID-fält som nyckel är de värdena unika per definition. Men om du använder något annat fält som nyckel, som Region i det här exemplet, varnas du om att värdena i det fältet måste vara unika om fältet ska kunna vara en användbar nyckel och kunna identifiera ett objekt unikt.

Ett annat vanligt scenario är att slå upp ett värde i ett visst objekt. Det beskrivs i nästa avsnitt.

Överst på sidan

Använda en arbetsflödesvariabel som filtervillkor

Den allra vanligaste typen av uppslag är den där arbetsflödet skapar ett objekt, t.ex. genom att använda åtgärden Samla in data från en användare till att skapa ett uppgiftsobjekt eller genom att använda åtgärden Skapa listobjekt till att skapa ett objekt i något lista eller något bibliotek i den aktuella webbplatsen.

När arbetsflödet skapar ett objekt lagras ID:t för det nya objektet i en variabel.

skapa listobjektsåtgärd i arbetsflödesdesigner

ID:t för ett objekt är ett heltal som alltid är unikt i den listan eller det biblioteket. ID:t fungerar ungefär som en nyckel i en databastabell.

Eftersom ID:t alltid är unikt och eftersom ID:t är lagrat i en dynamisk variabel är användning av ID:t det bästa och vanligaste sättet att se till att du använder ett unikt värde för att identifiera just det objekt du vill ha. Anta t.ex. att åtgärden Samla in data från en användare skapar en uppgift vars ID lagras i en variabel med namnet Task item ID. Du kan använda den variabeln för att säkerställa ett unikt uppslag, såsom visas här.

Slå upp en variabel

När du klickar på OK visas inte varningen om att säkerställa unika uppslag eftersom du använder ID:t för att hitta objektet (eller raden) som du är intresserad av och ID:n alltid är unika.

Slå upp variabeln Objekt-ID för uppgiften

Det här uppslaget går ut på att hämta de värden i fältet Recommendation i listan Tasks där uppgiftsobjektets ID matchar det ID som är lagrat i variabeln för den här förekomsten av arbetsflödet. Med andra ord, du anger kolumnen i den övre halvan av dialogrutan som vanligt. I den nedre halvan av dialogrutan identifierar du en unik rad. I det här exemplet har den här förekomsten av arbetsflödet skapat en uppgift vars uppgiftsliste-ID är 5. Eftersom 5 är det värde som är lagrat i variabeln Task item ID går uppslaget till rad nummer 5 i listan Tasks.

Listan Uppgifter

Överst på sidan

Tips för att säkerställa unika uppslagsvärden

Här är några tips som hjälper dig att använda arbetsflödesuppslag:

  • Det garanterade sättet att säkerställa ett unikt uppslag är att använda ett listobjekt-ID för att söka efter objektet med det matchande ID:t. Om det finns variabler av datatypen Listobjekt-ID som redan är kopplade till det aktuella arbetsflödet kan du prova att använda dem i uppslaget. Du identifierar vilka variabler som är av datatypen Listobjekt-ID genom att klicka på knappen Variabler i Arbetsflödesdesignern. En lista över alla variabler som är kopplade till det aktuella arbetsflödet visas. Titta efter variabler av typen Listobjekt-ID.

  • Om du inte kan använda ID-fältet av någon anledning, eller om inget enstaka fält i en lista kan fungera som en nyckel till i listan, kan du försöka använda en sammanfogad sträng av listobjektvärden som kan fungera som en unik identifierare för listobjektet. Du kan använda den åtgärden Skapa dynamisk sträng i arbetsflödet för att skapa den här strängen och lagra den i en variabel. Du kan sedan använda den här variabeln i ett uppslag för att unikt identifiera ett objekt i en lista.

  • När du skapar listorna på din webbplats kan du skapa en hierarkisk eller 1:n-relation mellan relaterade data i olika listor genom att använda en uppslagskolumn i en lista till att peka på ID-fältet i en annan lista. Anta att du har en lista med klasser, Classes, och en med registreringar, Registrations, samt att det finns en 1:n-relation mellan en klass och de många registreringarna för den klassen. Du kan lägga till en kolumn i listan Registrations som är en uppslagskolumn till ID:t för relaterad klass i listan Courses. Om du sedan har ett arbetsflöde som körs på listan Registrations kan arbetsflödet alltid slå upp värden från det relaterade objektet i listan Classes: Det här uppslaget går ut på att hämta det värde i [valfritt fält] i listan Classes, där ID:t i listan Classes matchar ID:t för uppslagsfältet i det aktuella objektet. Du förenklar arbetsflödesuppslag genom att, där det är möjligt, skapa ID-relationer (i grunden primär- och sekundärnyckelrelationer) mellan listor. Använda ID:n är ett enkelt sätt att garantera en unik uppslagsmatchning.

Överst på sidan

Saker du bör veta om uppslag

Här är några saker du bör veta när du arbetar med uppslag:

  • Bifoga ditt arbetsflöde i den lista som är mest som en huvudlista och som har mer eller mindre alla data som kan användas i arbetsflödet. På så sätt kan du använda fler värden från det aktuella objektet i dina uppslag istället för att skapa komplexa uppslag för att hämta värden från andra listor.

  • Nät ett uppslag inte hittar matchande data returnerar det strängen ?????. Om du t.ex. definierar ett arbetsflödesuppslag för att välja värdet i fältet Title från listan Tasks där fältet Assigned To är lika med "John" och "John" inte har tilldelats en uppgift returnerar uppslaget ?????. Du löser det här problemet genom att öppna lämpligt uppslag och ändra filtervillkoren så att frågan returnerar ett matchande objekt.

  • När ett uppslag stöter på en variabel som inte har något värde returnerar det strängen ****. Du löser det här problemet genom att öppna arbetsflödet och kontrollera att variabeln har ett värde (eller har initierats).

  • Om du vill ta bort innehållet i dialogrutan Definiera arbetsflödesuppslag klickar du på knappen Rensa uppslag i den dialogrutan.

Överst på sidan

Utöka dina kunskaper
Utforska utbildning
Få nya funktioner först
Anslut till Office Insiders

Hade du nytta av den här informationen?

Tack för din feedback!

Tack för din feedback! Det låter som att det kan vara bra att koppla dig till en av våra Office-supportrepresentanter.

×