Zpracování pracovních front
Zpracování pracovní fronty označuje správu seznamu pracovních položek, které je třeba dokončit v určitém pořadí. Tento seznam obsahuje informace o každé položce, jako je její název, priorita, datum vypršení platnosti, stav a skutečná hodnota ke zpracování.
Způsoby zpracování pracovních front:
Zpracování založené na desktopovém toku v aplikaci Power Automate pro desktopy (PAD).
Zpracování založené na cloudovém toku s podporou desktopového toku.
Použití funkcí Dataverse pro vývojáře (pouze pro pokročilé scénáře integrace):
Přečtěte si další informace o nástroji pro profesionální kódování Dataverse: Dokumentace pro vývojáře Dataverse.
Návody zpracování
Pro předvedení některých dostupných možností zpracování zde uvádíme tři různé scénáře zpracování.
Zpracování pracovních front založených na desktopových tocích v aplikaci Power Automate pro desktopy (PAD)
Příklady zpracování a aktualizace položek pracovní fronty
Prvním krokem k použití akcí pracovní fronty v aplikaci Power Automate pro desktopy je vytvoření pracovní fronty v prostředí, ve kterém pracujete, a načtení některých položek fronty s daty, která mají být spotřebována následně. Položky fronty lze do pracovní fronty načítat prostřednictvím desktopového toku, cloudového toku nebo hromadně, jak je popsáno zde, čímž se fronta naplní položkami. V tomto příkladu byly některé položky fronty přidány do pracovní fronty ručně, aby bylo vysvětleno, jak lze použít akce v aplikaci Power Automate pro desktopy.
Položky pracovní fronty byly vytvořeny a pole hodnoty obsahuje text ve formátu JSON, který bude použit následně v toku plochy.
Ukázkový tok, který použijeme k předvedení použití akce pracovní fronty, napodobuje proces, který spotřebuje položku pracovní fronty z cloudu, zpracuje data obsažená v poli hodnoty a převede je na vlastní objekt, který bude zpracován následně. Všimněte si, že není povinné používat JSON nebo vlastní objekty jako hodnoty pro položky pracovní fronty, ale může to být užitečný způsob pro uspořádání hodnot, které mají více vlastností a dodržují určité schéma.
Akce Zpracovat položky pracovní fronty slouží k určení, která pracovní fronta má spotřebovávat položky a zpracovávat je v desktopovému toku. Akci lze konfigurovat tak, aby vybrala pracovní frontu ze seznamu pomocí rozevírací šipky a předala proměnnou obsahující název fronty. Při spuštění této akce se do toku vloží první (nejstarší) položka z pracovní fronty, která má stav ve frontě. Jakmile se položka fronty začne ve vašem toku zpracovávat, její stav se automaticky změní na zpracování.
Zarážka (červená tečka) byla nastavena kliknutím vedle akce 3 v toku a poté spuštěna prostřednictvím konzoly PAD. Když se proces zastaví v místě zarážky, lze proměnnou WorkQueueItem otevřít dvojklikem na vyplněnou hodnotu v části Proměnné toku, kde se zobrazí všechny vlastnosti spojené se zpracovávanou položkou pracovní fronty.
V akci 2 toku jsem převedl vrácenou hodnotu JSON, která je v tomto případě přístupná prostřednictvím %WorkQueueItem.Value%, na vlastní objekt. Důvodem je to, že to pomáhá analyzovat JSON a používat vlastnosti JSON ve vašem toku. V tomto hypotetickém případě by se tyto informace použily k záznamům do finančního portálu společnosti Fabrikam.
{ "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" }
Řekněme například, že existuje požadavek na zadání ID faktury do pole finančního systému v rámci procesu automatizace uživatelského rozhraní webové nebo desktopové aplikace – tuto hodnotu můžete zavolat s využitím %JsonAsCustomObject.InvoiceId% pro vyplnění textového pole a stisknutí tlačítka.
Tento příklad obsahuje několik podmíněných příkazů, jakmile dokončí zpracování kroků a použije data z vlastního objektu v rámci podprocesu Fabrikam Data Entry. Pokud proces běží od začátku do konce, aniž by došlo k jakýmkoli výjimkám souvisejícím se vstupním systémem, akce Aktualizovat položku pracovní fronty se použije ke změně stavu položky pracovní fronty na Zpracováno a výsledek zpracování lze použít k zadání některých volitelných poznámek. Pokud pole Vypršení platnosti ponecháte prázdné, nová položka fronty si zachová hodnotu Položky vyprší za definovanou ve vlastnostech pracovní fronty.
Možnosti zpracování výjimek lze konfigurovat kliknutím na vlastnost on error v okně konfigurace akce Aktualizace položky pracovní fronty. Na kartě Rozšířené jsou k dispozici tři možnosti přizpůsobení. Položka pracovní fronty nebyla nalezena může nastat, pokud je položka pracovní fronty z fronty odstraněna, buď ručně, nebo jiným systematickým procesem, než se dokončí zpracování v PAD. Položka pracovní fronty pozastavena může nastat, pokud automatizovaný proces nebo uživatel změní stav zpracovávané položky fronty práce na pozastaveno v portálu toku, zatímco se položka fronty zpracovává. Selhání aktualizace položky pracovní fronty může nastat, pokud položka fronty již ve frontě neexistuje nebo byla uvedena do stavu pozastaveno. Všechny výše uvedené jsou okrajové případy, které se mohou vyskytnout – zde se dozvíte více o zpracování chyb v desktopových tocích.
Pokud byl během zpracování dat položky pracovní fronty do systému zadávání dat zjištěn nějaký problém, mohl by být položce alternativně přiřazen stav obecná výjimka, výjimka IT nebo obchodní výjimka. Tyto stavy výjimek lze použít, když nebo pokud váš automatizovaný případ použití splňuje kritéria, která mohou platit.
Řekněme, že při zpracování položky fronty došlo k naplnění scénáře 2. V tomto případě je položka fronty v původní frontě označena jako obecná výjimka. V závislosti na scénáři se můžete rozhodnout změnit stav položek fronty, které nebylo možné úspěšně zpracovat, jako jednu z alternativních možností stavu. Na základě toho můžete rozhodnout, zda je nutný lidský zásah, nebo vytvořit následný proces s logikou potřebnou pro správu jednotlivých stavů výjimek.
Vzor automatického opakování
Akce Zpracovat položky fronty práce v Power Automate Desktop obsahuje rozšířenou možnost konfigurace nebo přepsání mechanismu automatického opakování. Tato funkce umožňuje zadat maximální počet automatických opakování na položku fronty práce, což je užitečné pro zpracování výjimek IT, jako jsou přechodné chyby sítě nebo dočasná nedostupnost systému. Umožňuje stroji ponechat položku a provádět řízené opakované pokusy bez opětovného zařazení položky do fronty, což zajišťuje efektivnější a odolnější zpracování fronty práce.
Můžete nastavit a centrálně řídit maximální počet opakování záznamu fronty práce v Dataverse. Tato výchozí hodnota platí pro všechny desktopové toky, které zpracovávají tuto frontu práce prostřednictvím akce Zpracovat položky fronty práce.
Chcete-li přepsat výchozí nastavení na úrovni fronty ve vašem toku, přejděte do části Upřesnit akce Zpracovat položky fronty práce a přepněte možnost Přepsat konfiguraci automatického opakování fronty práce. Toto nastavení umožňuje upravit maximální počet opakování na vyšší nebo nižší hodnotu, nebo dokonce deaktivovat mechanismus opakování nastavením maximálního počtu opakování na 0.
Když použijete akci Aktualizovat položku pracovní fronty se stavem nastaveným na IT exception
a maximálním počtem automatických opakování větším než 0, systém neodešle aktualizaci okamžitě do orchestrátoru fronty práce. Místo toho se operace opakuje, dokud nedosáhne zadaného maximálního počtu opakování. Jediná hodnota aktualizovaná v položce fronty práce je retrycount
. Tato hodnota se zvyšuje od druhého pokusu o aktualizaci, dokud se nedosáhne maximálního počtu automatických opakování. Kromě toho se proměnná položky místní fronty práce s názvem CurrentRetryCount
při každém opakování zvyšuje. Tato proměnná umožňuje v případě potřeby implementovat vlastní logiku na základě její hodnoty.
Tok nebude požadovat novou položku, když se vrátí zpět na začátek akce Zpracovat položky fronty práce, pokud jsou splněny následující podmínky:
- Nebylo dosaženo maximálního počtu opakování.
- S výjimkou výjimek IT nedochází k žádným dalším aktualizacím.
Po dosažení maximálního počtu opakování odešle akce aktualizace aktualizaci do nástroje Orchestrator, změní stav položky na výjimku IT a zahrne všechny poskytnuté poznámky ke zpracování.
Příklady přidávání a zařazování položek zpět do fronty práce z PAD
Akce Přidat položku pracovní fronty povolí uživatelům desktopových toků naplnit položky pracovní fronty do pracovní fronty, která byla nastavena v portálu toku. Dávkové vytváření položek je podporováno pomocí akce Přidat položky fronty práce.
V tomto příkladu je do adresáře denně vkládán soubor Excel ve formátu .csv a každý řádek je třeba přidat do pracovní fronty.
Prvních několik akcí v tomto ukázkovém procesu mapuje složku, do které je vložen denní soubor Contoso Invoices.csv – po spuštění proces začne načítáním datové tabulky ze souboru CSV. Proměnná CSVTable obsahuje data, která byla importována a budou zpracována do nových položek fronty.
Akce 3 a 4 generují čas, kdy se rozhodneme, že platnost nových položek fronty po přidání do pracovní fronty vyprší. Akce 3 zachytí aktuální systémová data a čas a poté se k nim v tomto příkladu přidá 7 dní pomocí akce %Add to datetime%. Výstup se uloží do proměnné s názvem ExpiryDatetime, která se použije v akci Přidat položku pracovní fronty.
Akce 5 zavádí cyklus Pro každého, který se používá k iteraci každého řádku dat v importované tabulce CSVTable – tato akce vykreslí řádek dat pro aktuální zpracovávanou položku.
Všechny předchozí akce v tomto příkladu desktopového toku jsou nyní začleněny do nastavení hodnot pro akci Přidat položku pracovní fronty.
Parametr work queue je nastaven na frontu, do které chceme přidávat nové položky pracovní fronty – v tomto případě byla vybrána fronta Demo PAD výběrem z rozbalovací nabídky.
Parametr Priorita je ponechán na výchozí hodnotě Normální, ale volitelné jsou také možnosti Nízká a Vysoká. Položky pracovní fronty s vyšší prioritou se zpracovávají jako první, poté normální a nakonec, pokud jsou smíchány do stejné pracovní fronty.
Parametr Name byl nastaven se statickým prefixem spolu s hodnotou proměnné CurrentItem['ID'] – ta obsahuje hodnotu z buňky ID zpracovávaného datového řádku. Tato funkce je nepovinná, ale může být užitečná v závislosti na vašem případu použití.
Pomocí hodnot z datového řádku v proměnné CurrentItem byl zadán parametr Input ve formátu JSON. Všimněte si, že každý název hlavičky byl připojen k proměnné currentitem pomocí zápisu ['název hlavičky'].
Pole Expires je vyplněno proměnnou datetime, do které jsme v předchozích krocích přidali 7 dní. Když je ponecháno prázdné, přidávaná položka pracovní fronty bude obsahovat hodnotu Položky vyprší za nastavené pro pracovní frontu.
Poznámky ke zpracování jsou nepovinné – použijte je podle potřeby.
Když je proces spuštěn, každý řádek dat v importovaném CSV vytvoří položku pracovní fronty obsahující stav Ve frontě, což znamená, že je k dispozici pro zpracování.
To jsou jen některé z mnoha způsobů, jak lze v aplikaci PAD využít akce pracovní fronty. Věnujte nějaký čas zkoumání a hledání kreativních způsobů, jak začlenit pracovní fronty do svých toků Power Automate!
Příklad opětovného zařazení položky do fronty se zpožděním
Akce Znovu zařadit položku do fronty se zpožděním umožňuje uživatelům desktopového toku znovu zařadit položky do fronty a nastavit dobu zpoždění, za kterou může být položka znovu uvolněna ke zpracování.
V tomto příkladu je pracovní fronta načtena s položkami, jejichž platnost vyprší za 24 hodin, ale nelze je zpracovat včas, protože IT provádí průběžnou rutinní údržbu systému a položky je třeba znovu zařadit do fronty. Údržba bude dokončena přes noc, takže každou položku ve frontě odložíme o 24 hodin a poté nastavíme, aby vypršela 24 hodin po uvolnění.
První tři akce v tomto příkladu procesu jsou akce data a času. Akce „Získat aktuální datum a čas“ zachycuje systémové datum a čas v okamžiku spuštění akce. Dále jsme použili akci „Přidat k datu a času“, abychom pokryli dva požadavky: nejprve musíme definovat dobu zpoždění přidáním 24 hodin k aktuálnímu datu a času; poté musíme přidat 48 hodin k aktuálnímu datu a času jako vypršení platnosti.
Dále příklad obsahuje akci „Zpracovat položky pracovní fronty“, která je nakonfigurována, aby ukazovala na načtenou pracovní frontu, a do smyčky je umístěna akce „Znovu zařadit položku do fronty se zpožděním“.
Hodnoty vygenerované pro zpoždění a vypršení platnosti lze nyní předat do akce „Znovu zařadit položku do fronty se zpožděním“. Pole „Položka pracovní fronty“ je vyplněno proměnnou vytvořenou smyčkou – tím se předává pokyn, která položka ve frontě má být znovu zařazena do fronty. Dále jsme připojili hodnoty vytvořené pomocí akcí datetime pro pole „Zpoždění do“ a „Vypršení platnosti“. „Zpoždění do“ je povinné, ale podle svého uvážení můžete použít pole „Vypršení platnosti“ a „Výsledek zpracování“.
Pomocí tohoto jednoduchého procesu můžete znovu zařadit všechny dostupné položky do fronty, odložit je o určitou dobu a použít také možnosti nastavení data vypršení platnosti a výsledku zpracování.
Zpracování založené na cloudovém toku a konektoru
Nejjednodušší způsob, jak vyřadit položku pracovní fronty a zpracovat ji, je následující:
Přejděte na Power Automate a přihlaste se svými přihlašovacími údaji.
V levé nabídce vyberte Moje toky.
Na panelu nástrojů vyberte + Nový tok a poté vyberte Okamžitý cloudový tok.
Zadejte Název toku, například Můj první tok pracovní fronty, a poté vyberte Ručně aktivovat tok.
Vyberte Vytvořit.
Jakmile se otevře návrhář toku, vyberte + Nový krok, a poté vyberte konektor Microsoft Dataverse.
V seznamu akcí vyberte Provést vázanou akci.
Parametr | Hodnota | Popis |
---|---|---|
Název tabulky | Fronty práce | Název tabulky pracovních front. |
Název akce | Odstranění z fronty | Akce, která získá další dostupnou položku z fronty. |
ID řádky | [ID fronty práce] | ID pracovní fronty (GUID), ze které chcete odstranit položku. K této hodnotě se můžete dostat přechodem na stránku s podrobnostmi o pracovní frontě a otevřením panelu Rozšířené podrobnosti. |
Poznámka:
Vázaná akce je akce Dataverse, která je definována v konkrétní tabulce (v našem příkladu tabulce pracovních front) a lze ji provést pouze na záznamech této tabulky. Vázané akce používá platforma k provádění vlastní obchodní logiky nebo operací na konkrétním záznamu.
- Váš tok by teď měl vypadat podobně jako na obrázku.
Vyberte Uložit a poté pro tok použijte možnost Testovat.
V postranním podokně testování vyberte Ručně, Testovat, Spustit tok a poté Hotovo.
Pokud tok proběhl úspěšně, měli byste získat podobný výsledek (ale s jinými ID).
- Dále zkopírujte celý obsah JSON z pole body a poté vyberte Upravit v pravém horním rohu toku.
Tip
Po odstranění položky z pracovní fronty použijte obsah JSON položky jako příklad schématu pro analýzu vlastností JSON položky. To vám umožní snadný přístup k jakékoli vlastnosti položky vrácené orchestrátorem pracovní fronty v následných akcích toku.
- Přidejte nový krok výběrem + Nový krok a vyhledejte akci s názvem Analyzovat JSON a vyberte ji.
- Umístěte myš do pole Obsah a vyberte vlastnost body z předchozí akce.
Dále vyberte Generovat ze vzorku a vložte dříve zkopírovaný řetězec JSON do dialogového okna a vyberte Hotovo.
Vyberte + Nový krok a pak vyberte konektor Microsoft Dataverse.
V seznamu akcí vyberte Aktualizovat řádek.
V poli Název tabulky vyberte tabulku Položky pracovní fronty a umístěte kurzor do pole ID řádku.
V seznamu Dynamický obsah nyní budete mít všechna pole, která jsou dostupná v tabulce položek pracovní fronty.
Vyberte Zobrazit pokročilé možnosti a poté nastavte pole ID řádku, Výsledek zpracování, Stav a Důvod stavu na následující hodnoty.
Pole | Hodnota | Detaily |
---|---|---|
ID řádky | workqueueitemid | Tuto hodnotu lze vybrat v dialogovém okně seznamu dynamického obsahu. |
Výsledek zpracování | Položka byla úspěšně zpracována. | |
Průběh | Zpracováno jako | |
Důvod stavu | Zpracováno jako |
Vyberte Uložit a ještě jednou vyberte pro tok Testovat.
Pokud se tok úspěšně spustil, měli byste získat podobný výsledek jako následující.
Nyní přejděte na stránku s podrobnostmi pracovní fronty a v sekci seznamu položek pracovní fronty vyberte možnost Zobrazit vše.
Filtrujte pole Stav, aby zobrazovalo pouze položky Zpracovává se a Zpracováno, aby bylo potvrzeno, že naše akce odstranění z fronty a aktualizace fungovaly podle očekávání.
Gratulujeme, právě jste dokončili svůj první scénář zpracování pracovní fronty!
Zpracování založené na cloudovém toku s podporou desktopového toku
Pro tento scénář rozšiřujeme předchozí postup o krok zpracování desktopového toku.
Vraťte se a upravte Můj první tok pracovní fronty.
Přidejte novou akci přímo za akci Analyzovat JSON a vyhledejte konektor Desktopové toky a Spusťte tok vytvořený pomocí Power Automate pro desktopy.
V rozevíracím seznamu desktopových toků buď vyberte a upravte existující desktopový tok nebo vyberte + Vytvořit nový desktopový tok a podle pokynů na obrazovce vytvořte desktopový tok a spusťte Power Automate pro desktopy. Pokud s desktopovými toky teprve začínáte, můžete se dozvědět více zde.
Jakmile se otevře návrhář toků Power Automate pro desktopy, vytvořte dvě vstupní proměnné s názvem WorkQueueItemValue a WorkQueueItemName a poté přidejte dvě výstupní proměnné s názvem ProcessingNotes a ProcessingStatus, přičemž všechny by měly mít jako datový typ Text.
Zadejte výchozí hodnotu pro proměnnou WorkQueueItem, abyste mohli skript později otestovat lokálně. V případě, že jste postupovali podle výukového programu pro hromadný import, měli byste mít položky pracovní fronty ve frontě faktur Dodavatel, které mají hodnoty ve formátu JSON. Zde je příklad jedné z použitých hodnot.
{ "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" }
Nyní tok Uložte.
Na panelu akcí otevřete skupinu akcí Proměnné a dvakrát klikněte na akci Převést JSON na vlastní objekt, čímž jej přidáte na plátno návrhu a otevře se okno vlastností.
Vyberte ikonu proměnné v poli JSON a zvolte proměnnou WorkQueueItemValue.
Přejmenujte vytvořenou výstupní proměnnou z JsonAsCustomObject na VendorInvoice a vyberte Uložit.
Dále přidejte akci Pokud ze skupiny Podmíněné a nakonfigurujte její vlastnosti následovně:
První operand Operátor Druhý operand %VendorInvoice['částka']% Menší než (<) 5000 Zvolte Uložit.
Přidejte další akci ze skupiny Podmíněné nazvanou Jinak a přidejte ji mezi akce Pokud a Ukončit.
Nyní přidejte další dvě akce ze skupiny Proměnné nazvané Nastavit proměnnou a přidejte je do akcí Pokud a Jinak a nastavte proměnné ProcessingNotes a ProcessingStatus na následující hodnoty:
Proměnná Hodnota %ProcessingNotes% Faktura byla zpracována %ProcessingStatus% Zpracováno jako Zkopírujte dvě akce Nastavit proměnnou a vložte je mezi akce Jinak a Ukončit a změňte jejich hodnoty tak, aby odpovídaly těmto:
Proměnná Hodnota %ProcessingNotes% Obchodní výjimka: Částka faktury je vyšší než 5000 USD, což vyžaduje schválení manažera. %ProcessingStatus% Výjimka Váš tok by teď měl vypadat podobně jako na obrázku.
Uložte tok a spusťte jej, abyste potvrdili, že logika toku funguje podle očekávání.
Vraťte se a upravte Můj první tok pracovní fronty.
Vyberte nově vytvořený (nebo upravený) desktopový tok ze seznamu a poté vyberte Obsluhovaný jako jeho Režim běhu.
Vyplňte parametry Hodnota položky pracovní fronty a Název položky pracovní fronty, jak je uvedeno zde:
Přidejte akci Podmínka před akci Aktualizovat řádek.
Umístěte myš do pole Vyberte hodnotu a v dialogovém okně seznamu dynamického obsahu vyberte Stav zpracování.
Umístěte myš do druhého pole Vyberte hodnotu a jako textovou hodnotu zadejte Zpracováno.
Přetáhněte akci Aktualizovat řádek do sekce Pokud ano v akci podmínky.
Otevřete podrobnosti akce Aktualizovat řádek a nahraďte hodnoty tak, aby odpovídaly následujícím údajům:
V červeném poli Pokud ne přidejte další akci Aktualizovat akci a vyberte Položky pracovní fronty jako Název tabulky.
Dále vyberte workqueueitemid jako ID řádku a otevřete sekci Zobrazit pokročilé možnosti a vyberte Poznámky ke zpracování jako hodnotu Výsledky zpracování .
Vyberte Chyba jako Stav a Obecná výjimka jako Důvod stavu.
Vyberte Uložit a Testovat, chcete-li otestovat celkovou automatizaci a sledovat výstup z akce desktopového toku.
Chcete-li se ujistit, že položka pracovní fronty byla zpracována, můžete přejít na stránku podrobností pracovní fronty, vybrat Zobrazit vše v části položek pracovní fronty a filtrovat položky podle stavu Zpracováno.
Výborně, právě jste dokončili pokročilejší scénář, který zahrnoval hybridní zpracování pracovní fronty!