Bearbeta arbetsköer
Bearbetning av arbetsköer avser hantering av en lista med arbetsobjekt som behöver slutföras i en viss ordning. Den här listan innehåller information om varje objekt, till exempel namn, prioritet, förfallodatum, status och det faktiska värde som ska bearbetas.
Sätt att bearbeta arbetsköer:
Datorflödesbaserad bearbetning i Power Automate dator (PAD).
Använda Dataverse utvecklarfunktioner (endast för avancerade integrationsscenarier):
Läs mer om Dataverse förkod verktyget: Dataverse dokumentation för utvecklare.
Bearbetning av genomgångar
Här är tre olika bearbetningsscenarier som visar upp några av de tillgängliga bearbetningsalternativen.
Flödesbaserad arbetsköbearbetning i Power Automate dator (PAD)
Exempel på bearbeta arbetsköobjekt och uppdatera
Det första steget mot att använda arbetsköåtgärder i Power Automate dator är att skapa en arbetskö i den miljö där du arbetar och läsa in vissa köobjekt med data som ska förbrukas nedströms. Köobjekt kan laddas in i en arbetskö genom ett datorflöde, molnflöde eller i massåtgärd enligt beskrivningenhär som fyller i köobjekten. I det här exemplet har vissa köobjekt lagts till manuellt i en arbetskö för att förklara hur åtgärder i Power Automate dator kan användas.
Arbetsköobjekten har skapats och värdefältet innehåller text i JSON-format som ska användas nedströms i datorflöde.
Exempelflödet som vi använder för att demonstrera användning av arbetsköåtgärder imiterar en process som skulle förbruka ett arbetsköobjekt från molnet, bearbeta de data som ingår i värdefältet och konvertera det till ett anpassat objekt som ska bearbetas nedströms. Observera att det inte är obligatoriskt att använda JSON eller anpassade objekt som värden för arbetsköobjekten, men det kan vara en användbar metod för att ordna värden som har flera egenskaper och följa ett visst schema.
Åtgärden Process arbetsköobjekt används för att ange vilken arbetskö som ska använda objekt från och bearbeta i datorflöde. Åtgärden kan konfigureras för att välja en arbetskö från en lista med hjälp av listrutans pil, skicka en variabel som innehåller könamnet. När åtgärden körs fungerar den genom att det första (äldsta) objektet från arbetskön förs in i ditt flöde som innehåller statusen köad. När köobjektet börjar bearbetas i ditt flöde ändras dess status automatiskt till bearbetning.
En brytpunkt (röd prick) anges genom att klicka bredvid åtgärd 3 i flödet och sedan gå igenom PAD-konsolen. När processen pausas vid brytpunkten, kan variabeln WorkQueueItem kan öppnas genom att dubbelklicka på det ifyllda värdet under Flödesvariabler och detta visar alla egenskaper som är associerade med arbetsköobjektet som bearbetas.
I åtgärd 2 av flödet konverterade jag det returnerade JSON-värdet, som i det här fallet nås via %WorkQueueItem.Value% till ett anpassat objekt. Anledningen till detta är att det underlättar parsning av JSON och använder JSON-egenskaperna nedströms i ditt flöde. I detta hypotetiska fall skulle informationen användas för att göra inlägg i Fabrikam finansportal.
{ "InvoiceId": "I-1006", "InvoiceDate": "06/04/2023", "AccountName": "Fabrikam", "ContactEmail": "invoicing@fabrikam.com", "Amount": 1253.78, "Status": "Paid", "WorkQueueKey": "Vendor Invoices", "ComponentState": 0, "OverwriteTime": "1900-01-01T00:00:00" }
Låt oss till exempel säga att det fanns ett krav på att ange faktura-ID i ett fält i ett finanssystem som en del av en process där du automatiserar användargränssnittet för en webb- eller datorapp – du kan kalla det värdet med %JsonAsCustomObject.InvoiceId% för att fylla i ett textfält och trycka på en knapp.
Det här exemplet innehåller några villkorliga uttalanden när det har slutfört bearbetningen av stegen och använder data från det anpassade objektet i underflödet Fabrikam datainmatning. Om processen körs från början till slut utan att stöta på några indatasystemrelaterade undantag kommer åtgärden Uppdatera arbetsköobjekt används för att ändra status för arbetsköobjektet till Bearbetad och fältet bearbetningsresultat kan användas för att infoga vissa valfria anteckningar. Om fältet förfaller lämnas tomt behåller det nya köobjektet värdet Objekt förfaller efter definierat i arbetsköegenskaperna.
Alternativ för undantagshantering kan konfigureras genom att klicka på vid fel i konfigurationsfönstret för åtgärden uppdatering av arbetsköobjekt. Tre alternativ är tillgängliga för anpassning under fliken Avancerat. Arbetsköobjektet hittades inte kan uppstå om arbetsköobjektet tas bort från kön, antingen manuellt eller genom en annan systematisk process, innan den avslutar bearbetningen i PAD. Arbetsköobjekt har parkerats kan inträffa om en automatiserad process, eller någon ändrar statusen för arbetsköobjektet som bearbetas till parkerad i flödesportalen medan köobjektet bearbetas. Det gick inte att uppdatera arbetsköobjektet kan inträffa om köobjektet inte längre finns i kön eller har placerats i statusen parkerad. Ovanstående exempel är fall som kan hända – lär dig mer om hur du hanterar fel i datorflöden här.
Om något problem fastställdes under bearbetningen av data från arbetsköobjektet till datainmatningssystemet, kan objektet alternativt tilldelas statusen generiskt undantag, IT-undantag eller affärsundantag. Undantagsstatus kan användas när, eller om, ditt automatiserade användningsfall uppfyller tillämpliga villkor.
Anta att scenario 2 uppfylls när ett köobjekt bearbetas. I det här fallet markeras köobjektet som generiskt undantag i den ursprungliga kön. Beroende på scenariot kan du välja att ändra statusen för köobjekt som inte kunde bearbetas korrekt som ett av de alternativa statusalternativen. Därefter kan du bestämma om åtgärder krävs av någon person eller skapa en efterföljande process med den logik som krävs för att hantera varje undantagsstatus.
Mönster för automatiskt återförsök
Åtgärden Bearbeta arbetsköobjekt i Power Automate Desktop innehåller ett avancerat alternativ för att konfigurera eller åsidosätta en mekanism för automatiskt återförsök. Med den här funktionen kan du ange det maximala antalet automatiska återförsök per arbetsköobjekt, vilket är användbart för att hantera IT-undantag som tillfälliga nätverksfel eller tillfällig otillgänglighet i systemet. Det gör det möjligt för datorn att behålla objektet och utföra kontrollerade återförsök utan att köa om objektet, vilket säkerställer en effektivare och mer motståndskraftig bearbetning av arbetskön.
Du kan ange och centralt styra det maximala antalet nya försök för arbetsköposten i Dataverse. Det här standardvärdet gäller för alla datorflöden som bearbetar den här arbetskön via åtgärden Bearbeta arbetsköposter.
Om du vill åsidosätta standardinställningen på könivå i flödet navigerar du till avsnittet Avancerat i åtgärden Bearbeta arbetsköobjekt och växlar alternativet Åsidosätt konfiguration av arbetskö för automatiskt nytt försök. Med den här inställningen kan du justera maxantalet återförsök till ett högre eller lägre värde, eller till och med inaktivera återförsöksmekanismen genom att ange maxantalet till 0.
När du använder åtgärden Uppdatera arbetsköobjekt med statusen inställd på IT exception
och ett maximalt antal automatiska återförsök som är större än 0, skickar systemet inte omedelbart uppdateringen till arbetsköorkestreraren. I stället försöker den utföra åtgärden igen tills den når det angivna maximala antalet återförsök. Det enda värde som uppdateras i arbetsköobjektet är retrycount
. Det här värdet ökar från det andra uppdateringsförsöket och framåt tills det maximala antalet automatiska återförsök har nåtts. Dessutom ökar en lokal arbetsköobjektvariabel CurrentRetryCount
med varje nytt försök. Med den här variabeln kan du implementera anpassad logik baserat på dess värde om det behövs.
Flödet kommer inte att begära ett nytt objekt när det går tillbaka till toppen av åtgärden Bearbeta arbetsköobjekt om följande villkor är uppfyllda:
- Det maximala antalet återförsök har inte nåtts.
- Inga andra uppdateringar sker förutom IT-undantag.
När det maximala antalet återförsök har nåtts skickar uppdateringsåtgärden uppdateringen till orkestreraren, ändrar objektets status till IT-undantag och inkluderar eventuella angivna bearbetningsanteckningar.
Lägga till och köa arbetsköobjekt Exempel från PAD
Med Lägg till arbetsköobjekt kan användare av datorflöde fylla i arbetsköobjekt som har ställts in i flödesportalen. Det går att skapa batchobjekt med hjälp av åtgärden Lägg till arbetsköobjekt .
I det här exemplet släpps en Excel-fil i .csv till en katalog varje dag och varje rad måste läggas till i en arbetskö.
De första åtgärderna i denna exempelprocess kartlägger en mapp där den dagliga filen Contoso Invoices.csv släpps – när processen körs börjar den med att läsa datatabellen från CSV-filen. Variabeln CSVTable innehåller data som har importerats och som kommer att bearbetas till nya köobjekt.
Med åtgärd 3 och 4 genererar vi den tid då vi väljer att de nya köobjekten ska förfalla efter att ha lagts till i en arbetskö. Åtgärd 3 samlar in aktuella systemdata och tid och i det här exemplet läggs 7 dagar till med åtgärden %Add to datetime%. Utdata lagras i en variabel med namnet ExpiryDatetime som används i åtgärden Lägg till arbetsköobjekt.
Åtgärd 5 introducerar loopen För varje som används för att upprepa genom varje rad med data i den importerade CSVTable – denna åtgärd återger en datarad för det aktuella objektet som behandlas.
Alla de föregående åtgärderna i det här exemplet på skrivbordsflödet är nu införlivade i att ställa in värdena för åtgärden Lägg till arbetsköobjekt.
Parametern arbetskö parameter är inställd på den kö som vi vill lägga till nya arbetsköobjekt i – i det här fallet Demo PAD-kö valdes genom att välja den i listrutan.
Parametern Prioritet lämnas som standard Normal, men alternativ för Låg och Hög är också valfria. Arbetsköobjekt med högre prioritet bearbetas först, sedan normala och sist när de blandats i samma arbetskö.
Parametern Namn har satts med ett statiskt prefix tillsammans med variabelvärdet CurrentItem['ID'] – som innehåller värdet från ID cell i dataraden som bearbetas. Det är valfritt men kan vara användbart beroende på hur du använder ärendet.
Med värdena från dataraden i variabeln CurrentItem parametern Indata angavs i JSON-format. Observera att varje rubriknamn har lagts till variabeln currentitem med notation ['namn på huvud']
Fältet Förfallna fylls i med variabeln datetime som vi lade till 7 dagar på i föregående steg. När det lämnas tomt kommer arbetsköobjektet som läggs till innehålla värdet Objekt förfaller efter som angetts för arbetskön.
Bearbetningsanteckningar är valfria och används efter behov.
När processen körs skapar varje datarad i den importerade CSV ett arbetsköobjekt som har status i kö vilket innebär att det är tillgängligt för bearbetning.
Det finns bara några olika sätt att använda åtgärder i arbetsköer i PAD. Ta dig tid att utforska och hitta rätt sätt att införliva arbetsköer i dina Power Automate-flöden!
Exempel på ställa objekt i kö med fördröjning
Åtgärden Ställ objekt i kö med fördröjning gör det möjligt för användare av datorflöden att köa objekt och ställa in en fördröjningsperiod då objektet kan släppas igen för bearbetning.
I det här exemplet finns en arbetskö som är laddad med objekt som är inställda på att förfalla inom 24 timmar, men de kan inte bearbetas i tid eftersom IT-systemet utför visst löpande underhåll och objekten måste hämtas på nytt. Underhållet kommer att slutföras över en natt, så vi fortsätter att skjuta upp varje köobjekt med 24 timmar och sedan ställa in dem till förfallna 24 timmar efter lanseringsperioden.
De första tre åtgärderna i den här exempelprocessen är åtgärder för datumtid. Åtgärden Hämta aktuellt datum och tid samlar in systemets datum och tid när åtgärden körs. Nästa steg är att åtgärden Lägg till i datetime omfattar två krav. Först måste vi definiera fördröjningstiden genom att lägga till 24 timmar till aktuell datetime och sedan måste vi lägga till 48 timmar till aktuell datetime som ett förfall.
Nästa steg är att åtgärden Bearbeta arbetsköobjekt ska peka på den inlästa arbetskön och Ställ objekt i kö med fördröjning placeras inom loopen.
Värdena som genererats för fördröjningen och förfallotiden kan nu skickas till åtgärden Ställ objekt i kö med fördröjning. Fältet "arbetsköobjekt" fylls i av variabeln som skapas av loopen. Detta instruerar vilket köobjekt som ska skapas på nytt. Nästa steg är att fylla i värdena som har skapats med datetime-åtgärderna för fälten "fördröjning till" och "förfaller". "Fördröjning tills" är obligatoriskt, men du kan efter eget godtycke använda "förfaller" och "bearbetningsresultat".
Med den här enkla processen kan du ange alla tillgängliga objekt i en kö igen, skjuta upp dem en viss tid, med alternativ för att även ange ett förfallodatum och bearbeta resultat.
Molnflöde och anslutningsprogrambaserad bearbetning
Det enklaste sättet att inaktivera ett arbetsköobjekt och bearbeta det enligt följande:
Gå till Power Automate och logga in med dina autentiseringsuppgifter.
Välj i menyn till vänster Mina flöde.
Välj i verktygsfältet + Nytt flöde och välj Direkt molnflöde.
Ange ett Flödesnamn, till exempel Mitt första arbetsköflöde och välj sedan Manuellt utlösa ett flöde.
Välj Skapa.
När flödesdesignern har öppnats, välj + Nytt steg och väljer sedan Microsoft Dataverse anslutningsprogram.
Välj i listan över åtgärderUtföra en bunden åtgärd.
Parameter | Värde | Beskrivning |
---|---|---|
Tabellnamn | Arbetsköer | Namnet på arbetskötabellen. |
Åtgärdsnamn | Inaktivera kö | Åtgärden, som hämtar nästa tillgängliga objekt från kön. |
Rad-ID | [Arbetskö-ID] | Arbetskö-ID (GUID) för den kö som du vill inaktivera kön från. Du kan få det här värdet genom att navigera till sidan med arbetsköinformation i kön och öppna panelen Avancerad information. |
Kommentar
En bunden åtgärd är en Dataverse åtgärd som definieras i en specifik tabell (arbetsköer i vårt exempel) och kan endast utföras på poster i den tabellen. Bundna åtgärder används av plattformen för att utföra anpassad affärslogik eller -åtgärder för en viss post.
- Ditt flöde bör se ut som det här nu.
Välj Spara och sedan Testa ditt flöde.
I sidorutan för testning, välj Manuellt, Testa, Kör flöde och Klar.
Om flödet går bra bör du få ett liknande resultat (men med olika ID).
- Kopiera sedan hela JSON-innehållet från fältet brödtext och välj Redigera längst upp till höger i flödet.
Dricks
När du har inaktiverat ett arbetsköobjekt använder du JSON-innehållet i objektet som ett schemaexempel för parsning av objektets JSON-egenskaper. På så sätt kan du enkelt komma åt alla egenskapen för objektet som returneras av arbetsköns mäklare i efterföljande flödesåtgärder.
- Lägg till ett nytt steg genom att välja + Nytt steg och sök efter en åtgärd som heter Parsa JSON och markera den.
- Placera musen i fältet Innehåll och välj egenskapen brödtext från föregående åtgärd.
Välj sedan Generera från exempel och klistra in den tidigare kopierade JSON-strängen i dialogrutan och välj Klar.
Välj + Nytt steg och välj sedan the Microsoft Dataverse anslutningsprogrammet.
Från listan med åtgärder väljer du Uppdatera en rad.
I fältet Tabellnamn markerar du tabellen Arbetsköobjekt och placerar markören i fältet Rad-ID.
I listan Dynamiskt innehåll finns alla fält som är tillgängliga i tabellen arbetsköobjekt.
Välj Visa avancerade alternativ och ange sedan fälten RowID, Bearbetningsresultat, Status och Statusorsak till följande värden.
Fält | Värde | Details |
---|---|---|
Rad-ID | workqueueitemid | Det här värdet kan väljas i dialogrutan för dynamisk innehållslista. |
Bearbetar resultat | Objektet har bearbetats. | |
Status | Bearbetat | |
Status | Bearbetat |
Välj Spara och Testa flödet en gång till.
Om flödet går bra bör du få ett liknande resultat som följande.
Navigera nu till sidan med arbetsködetaljer och välj i avsnittet med listor för arbetsköobjekt Se alla.
Filtrera fältet Status så att det bara visar Bearbetar och Bearbetad objekt visas för att bekräfta att våra dekrypterings- och uppdateringsåtgärder har fungerar som de ska.
Stort tack! Du har just avslutat ditt första bearbetningsscenario med arbetsköer!
Molnflödesbaserad bearbetning med stöd för datorflöde
För det här scenariot utökar vi det föregående genom att lägga till ett bearbetningssteg för datorflöde också.
Gå tillbaka och redigera Mitt första arbetsköflöde.
Lägg till en ny åtgärd direkt efter åtgärden Parsa JSON och sök efter för Datorflöde anslutningsprogram Kör ett flöde byggt med Power Automate för dator.
I listan för datorflöde väljer du och redigerar ett befintligt datorflöde eller väljer + Skapa ett nytt datorflöde och följ instruktionerna på skärmen för att skapa datorflödet och starta Power Automate för dator. Om du är ny i datorflöden kan du läsa mer här.
När Power Automate för datordesigner öppnas skapas två variabler för indata kallas WorkQueueItemValue och WorkQueueItemName och sedan lägga till två variabler för utdata som kallas ProcessingNotes och ProcessingStatus som alla ska ha Text som datatyp.
Ange ett standardvärde för variabeln WorkQueueItem så att du senare kan testa skriptet lokalt. Om du har följtsjälvstudien för massimport bör du ha arbetsköobjekt i fakturakön Leverantör om har sina värden JSON-format. Här är ett exempel på ett av värdena som används.
{ "InvoiceId": "I-1006", "InvoiceDate": "06/04/2023", "AccountName": "Fabrikam", "ContactEmail": "invoicing@fabrikam.com", "Amount": 1253.78, "Status": "Paid", "WorkQueueKey": "Vendor Invoices", "ComponentState": 0, "OverwriteTime": "1900-01-01T00:00:00" }
Spara flödet.
I åtgärdsgruppen, öppna Variabler och dubbelklicka på åtgärden Konvertera JSON till anpassat objekt om du vill lägga till den i designobjektet, som öppnar egenskapsfönstret.
Markera variabelikonen i JSON-fältet och välj variabeln WorkQueueItemValue.
Byt namn på den producerade utdatavariabeln från JsonAsCustomObject till VendorInvoice och välj Spara.
Lägg sedan till en If-åtgärd från gruppen Villkorssatser och konfigurera dess egenskaper enligt följande:
First operand Operatör Second operand %VendorInvoice['Amount']% Mindre än (<) 5000 Välj Spara.
Lägg till ytterligare en åtgärd från gruppen Villkorssatser som kallas Else och lägg till den mellan åtgärden If och End.
Lägg till ytterligare två åtgärder från gruppen Variabler som kallas Ange variabel och lägg till dem i åtgärderna If och Else och ange variablerna ProcessingNotes och ProcessingStatus till följande värden:
Variabel Värde %ProcessingNotes% Fakturan har behandlats %ProcessingStatus% Bearbetat Kopiera de två åtgärderna Ange variabel och klistra in dem mellan åtgärden Else och End och ändra värdena så att de matchar dessa:
Variabel Värde %ProcessingNotes% Affärs undantag: Fakturabeloppet är större än 5 000 $, vilket kräver godkännande av chef. %ProcessingStatus% Undantag Ditt flöde bör se ut som det här nu.
Spara flödet och kör det för att bekräfta att flödeslogiken fungerar som förväntat.
Gå tillbaka och redigera Mitt första arbetsköflöde.
Välj det nyskapade (eller redigerade) datorflödet från listan och välj sedan Bevakad som dess Körläge.
Fyll i parametrarna Värde för arbetsköobjekt och Värde för arbetskönamn som visas här:
Lägg till en åtgärd för Villkor innan åtgärden Uppdatera en rad.
Placera musen i fältet Välj ett värde och välj dialogrutan Bearbetningsstatus från dialogrutan för dynamisk innehållslista.
Placera musen i det andra fältet Välj ett värde och ange Bearbetad som textvärde.
Dra sedan och släpp åtgärden Uppdatera en rad i avsnittet Om ja i villkorsåtgärden.
Öppna åtgärdsdetaljer Uppdatera en rad och ersätt värdena för att matcha följande:
I den röda rutan Om inte, lägg till en annan åtgärd för Uppdatera en rad och välj Arbetsköobjekt som Tabellnamn.
Välj sedan workqueueitemid som Rad-ID och öppna avsnittet Visa avancerade alternativ, välj Bearbetar anteckningar som värdet Bearbeta resultat.
Välj Fel som Status och GenericException för Statusorsak.
Välj Spara och Testa om du vill testa den övergripande automatiseringen och observera utdata från flödesåtgärden på datorer.
För att bekräfta att arbetsköobjektet har bearbetats kan du gå till sidan med arbetsködetaljer, välj Se alla i avsnittet arbetsköobjekt och filtrera objekten efter status bearbetad.
Bra gjort, du har just genomfört ett mer avancerat scenario som omfattade bearbetning av arbetsköer!