Споделяне чрез


Обработка на работни опашки

Обработката на работна опашка се отнася до управлението на списък от работни елементи, които трябва да бъдат завършени в определен ред. Този списък съдържа информация за всеки елемент, като например неговото име, приоритет, дата на изтичане, състояние и действителната стойност, която трябва да бъде обработена.

Начини за обработка на работни опашки:

Научете повече за Dataverse pro-code tooling: Dataverse developer документация.

Кратки прегледи за обработка

За да покажете някои от наличните опции за обработка, ето три различни сценария за обработка.

Обработка на работна опашка, базирана на работния плот ( Power Automate PAD)

Обработка на елементи от работна опашка & Актуализиране на примери

Първата стъпка към използването на действия за работна опашка в Power Automate работния плот е да създадете работна опашка в средата, в която работите, и да заредите някои елементи на опашката с данни, които да бъдат консумирани надолу по веригата. Елементите на опашката могат да бъдат заредени в работна опашка чрез поток на работния плот, поток в облака или групово, както е посочено тук, което попълва елементите на опашката. В този пример някои елементи на опашка са добавени ръчно в работна опашка, за да се обясни как могат да се използват действия в Power Automate работния плот.

Елементите на работната опашка са създадени и полето за стойност включва текст във формат JSON, който ще се използва надолу по веригата в потока на работния плот.

Екранна снимка на елементите на работната опашка, налични за обработка на Power Automate работния плот.

Примерният поток, който ще използваме, за да демонстрираме използването на действие на работната опашка, имитира процес, който ще консумира елемент от работната опашка от облака, ще обработи данните, включени в полето за стойност, и ще ги преобразува в персонализиран обект, който ще бъде обработен надолу по веригата. Имайте предвид, че не е задължително да използвате JSON или обекти по избор като стойности за елементите на вашата работна опашка, но може да бъде полезен метод за организиране на стойности, които имат множество свойства и следват конкретна схема.

Екранна снимка на процеса на потока на работния плот, използван за този урок.

  1. Действието " Обработка на елементи от работна опашка" се използва за определяне от коя работна опашка да се консумират елементи и да се обработва в потока на работния плот. Действието може да бъде конфигурирано да избира работна опашка от списък с помощта на падащата стрелка, да подава променлива, включително името на опашката. Когато се изпълни, това действие работи чрез въвеждане на първия (най-стария) елемент от работната опашка във вашия поток, който съдържа състояние на опашка. След като елементът на опашката започне да се обработва във вашия поток, състоянието му автоматично се променя на обработка.

    Екранна снимка на действието WorkQueueElement, конфигурирано за обработка на елементи от опашка в Power Automate работния плот.

    Екранна снимка на елемент от работна опашка в **състояние на обработка** .

  2. Точка на прекъсване (червена точка) е зададена чрез щракване до действие 3 в потока и след това преминаване през конзолата PAD. Когато процесът спре в точката на прекъсване, променливата WorkQueueItem може да се отвори чрез двукратно щракване върху попълнената стойност под променливите Flow и това показва всички свойства, свързани с обработвания елемент на работната опашка.

    Екранна снимка на променливата WorkQueueItem във визуализатора на променливи.

  3. В действие 2 на потока преобразувах върнатата JSON стойност, която в този случай е достъпна чрез %WorkQueueItem.Value% в персонализиран обект. Причината за това е, че помага да се анализира JSON и да се използват свойствата на JSON надолу по веригата във вашия поток. В този хипотетичен случай информацията ще бъде използвана за вписване във финансовия портал на Farbrikam.

    {
     "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"
    }
    

    Екранна снимка на стойността на JSON, преобразувана в персонализиран обект.

    Например, да кажем, че има изискване за въвеждане на ИД на фактура в поле на финансова система като част от процес, при който автоматизирате потребителския интерфейс на уеб или настолно приложение – можете да извикате тази стойност с помощта на %JsonAsCustomObject.InvoiceId% , за да попълните текстово поле и да натиснете бутон.

  4. Продължавайки, този пример съдържа някои условни конструкции, след като завърши обработката на стъпките и използва данните от персонализирания обект в рамките на подпотока Fabrikam Data Entry. Ако процесът се изпълнява от край до край, без да се натъкне на изключения, свързани с входната система, действието Актуализиране на елемент на работна опашка се използва за промяна на състоянието на елемента на работната опашка на Обработен и полето за резултат от обработката може да се използва за въвеждане на някои допълнителни бележки. Ако полето изтича е оставено празно, новият елемент на опашката запазва Елементите изтичат след стойността, зададена в свойствата на работната опашка.

    Пример за екранна снимка на въвеждане на действия за действие на елемент от работната опашка.

    Опциите за обработка на изключения могат да бъдат конфигурирани чрез щракване върху грешка в прозореца за конфигуриране на действие на елемент от работната опашка за актуализиране. Три опции са налични за персонализиране в раздела разширени. Елементът на работната опашка, който не е намерен, може да възникне, ако елементът на работната опашка бъде премахнат от опашката, ръчно или чрез друг систематичен процес, преди да завърши обработката в PAD. Задържан елемент на работна опашка може да възникне, ако автоматизиран процес или някой промени състоянието на обработвания елемент от работната опашка на задържане в портала на потока, докато елементът на опашката се обработва. Неуспешно актуализиране на елемент на работна опашка може да възникне, ако елементът на опашката вече не съществува в опашката или е поставен в състояние на задържане. Всичко по-горе са крайни случаи, които могат да възникнат - научете повече за обработката на грешки в потоците на работния плот тук.

    Пример за екранна снимка за обработка на изключения за действие на елемент от работната опашка.

  5. Ако по време на обработката на данните от елемента на работната опашка в системата за въвеждане на данни е определен някакъв проблем, на елемента може алтернативно да бъде присвоено състояние на общо изключение, ИТ изключение или бизнес изключение. Тези състояния на изключения са достъпни за използване, когато или ако вашият случай на автоматизирано използване отговаря на критериите, които може да са приложими.

    Пример за екранна снимка на условна команда, използвана за актуализиране на текущия елемент на работната опашка в потока на работния плот и добавяне на нов елемент на опашка в алтернативна опашка, за да се справят с изключенията.

    Да кажем, че при обработката на елемент от опашката е изпълнен сценарий 2. В този случай елементът на опашката се маркира като общо изключение в първоначалната опашка. В зависимост от сценария може да решите да промените състоянието на елементите на опашката, които не можаха да бъдат обработени успешно като една от алтернативните опции за състояние. Оттам можете да решите дали е необходима човешка намеса или да изградите последващ процес с логиката, необходима за управление на всеки статус на изключение.

    Пример за екранна снимка на актуализирано състояние за елементите на работната опашка, обработени в портала на потока.

Добавяне на & Подреждане в опашка на работни елементи примери от PAD

Елементът Добавяне на работна опашка позволява на потребителите на работния поток да попълват елементи на работна опашка в работна опашка, която е зададена в портала за поток.

В този пример файл на Excel в .csv се пуска ежедневно в директория и всеки ред трябва да се добави към работна опашка.

Пример за екранна снимка на процес, включващ действието за добавяне на елемент от работна опашка.

Първите няколко действия в този примерен процес картографират папка, в която се изпуска ежедневният файл Contoso Invoices.csv - когато процесът се изпълнява, той започва с четене на таблицата с данни от CSV файла. Променливата CSVTable съдържа данните, които са импортирани и ще бъдат обработени в нови елементи на опашката.

Пример за екранна снимка на данни, импортирани от CSV файл.

Действия 3 и 4 генерират времето, в което избираме новите елементи на опашката да изтекат, след като бъдат добавени в работна опашка. Действие 3 улавя текущите системни данни и време, след което за този пример 7 дни се добавят към него с помощта на %Добавяне към дата% действие. Изходът се съхранява в променлива, наречена ExpiryDatetime , която ще се използва в действието Добавяне на елемент на работна опашка.

Пример за екранна снимка за добавяне към текущия час на датата, за да зададете дата на изтичане.

Действие 5 въвежда За всеки цикъл, който се използва за обхождане на всеки ред с данни в импортирания CSVTable - това действие прави ред с данни за текущия елемент, който се обработва.

Пример за екранна снимка за ред с данни, генериран за всеки цикъл.

Всички предходни действия в този примерен поток на работния плот сега са включени в задаването на стойностите за действието Добавяне на елемент от работна опашка.

Пример за екранна снимка на действие за добавяне на елемент от работна опашка, конфигурирано в потока на работния плот.

Параметърът на работната опашка е настроен на опашката, в която искаме да добавим нови елементи на работната опашка - в този случай Demo PAD опашката е избрана, като я изберете от падащото меню.

Параметърът Приоритет е оставен по подразбиране,Нормален , но опциите за Ниско и Високо също не са задължителни. Елементите на работната опашка с по-висок приоритет се обработват първо, след това нормално и последно, когато се смесват в една и съща работна опашка.

Параметърът Name е зададен със статичен префикс заедно със стойността на променливата CurrentItem['ID'] - която съдържа стойността от ID клетката на обработвания ред с данни. Това не е задължително, но може да бъде полезно в зависимост от вашия случай на употреба.

Използвайки стойностите от реда с данни в променливата CurrentItem параметърът Input е въведен във формат JSON. Забележка: всяко име на заглавка е добавено към променливата на текущия елемент с помощта на нотацията ['име на заглавката']

Полето Изтича е попълнено с променливата datetime, към която добавихме 7 дни в предишните стъпки. Когато остане празен, елементът на работната опашка, който се добавя, ще съдържа стойността Елементите изтичат след зададена стойност за работната опашка.

Бележките за обработка не са задължителни - използвайте, както се счита за необходимо.

Когато процесът се изпълни, всеки ред с данни в импортирания CSV създава елемент на работна опашка, съдържащ състояние Queued , което означава, че е достъпен за обработка.

Пример за екранна снимка на елементите на работната опашка, видими в портала, съдържащи състояние на опашка.

Това са само някои от многото начини, по които действията на работната опашка могат да се използват в PAD. Отделете малко време, за да проучите и намерите творчески приложения, за да включите работните опашки във вашите Power Automate потоци!

Пренареждане на елемент с пример за закъснение

Елементът Requeue с действие за забавяне позволява на потребителите на потока на работния плот да пренареждат елементите на опашката и да задават период на забавяне, в който елементът може да бъде пуснат отново за обработка.

В този пример има работна опашка, заредена с елементи, които са настроени да изтекат след 24 часа, но не могат да бъдат обработени навреме, защото има някаква текуща рутинна поддръжка на системата, извършвана от ИТ и елементите трябва да бъдат пренаредени на опашка. Поддръжката ще бъде завършена през нощта, така че ще продължим да забавяме всеки елемент от опашката с 24 часа и след това ще ги настроим да изтичат 24 часа след периода на освобождаване.

Екранна снимка пример за процес, използващ елемент за пренареждане и добавяне на действие за забавяне.

Първите три действия от този примерен процес са действия за дата и час. Действието "Получаване на текуща дата и час" улавя системната дата-час в момента на изпълнение на действието. След това използвахме действието "Добавяне към дата и час", за да покрием две изисквания, първо трябва да определим времето на забавяне, като добавим 24 часа към текущата дата и час - след това трябва да добавим 48 часа към текущата дата и час като изтичане.

Пример за екранна снимка за снемане на системния час на срещата.

Пример за екранна снимка за добавяне към дата и час, за да се създаде забавяне.

Пример за екранна снимка за добавяне към датата и часа, за да се създаде час на изтичане.

След това в примера действието "Обработване на елементи от работна опашка" е конфигурирано да сочи към заредената работна опашка, а "Пренареждане на елемент със закъснение" е поставено в цикъла.

Пример за екранна снимка на елемент на requeue със закъснение.

Стойностите, генерирани за забавянето и изтичането на срока, вече могат да бъдат предадени в действието "Requeue item with delay". Полето 'work queue item' се попълва от променливата, произведена от цикъла - това указва кой елемент от опашката да се пренареди на опашката. След това включихме стойностите, създадени с помощта на действията datetime за полетата "забавяне до" и "изтича". "Забавянето до" е задължително, но можете да използвате "изтича" и "резултат от обработката" по ваша преценка.

С този прост процес можете да пренаредите всички налични елементи в опашката, да ги забавите за определено време, с опции за задаване на дата на изтичане и резултат от обработката.

Облачен поток и обработка на базата на конектори

Най-простият начин за премахване на опашката на елемент от работна опашка и обработката му е следният:

  1. Отидете на Power Automate и влезте с идентификационните си данни.

  2. В лявото меню изберете Моите потоци.

  3. В лентата с инструменти изберете + Нов поток и след това изберете Незабавен поток в облака.

  4. Въведете име напотока, като например Моят първи работен поток на опашката, и след това изберете Ръчно задействане на поток.

  5. Изберете Създаване.

  6. След като дизайнерът на потока се отвори, изберете + Нова стъпка и след това изберете конектора Microsoft Dataverse .

  7. В списъка с действия изберете Извършване на обвързано действие.

параметър Стойност Описание
Име на таблица Работни опашки Името на таблицата на работната опашка.
Име на действие Премахване на опашката Действието, което получава следващия наличен елемент от опашката.
ИД на ред [ИД на работна опашка] ИД на работната опашка (GUID) на опашката, от която искате да премахнете опашката. Можете да стигнете до тази стойност, като отидете до страницата с подробни данни за работната опашка на вашата опашка и отворите панела Разширени подробни данни .

Екранна снимка на страница с подробни данни за работна опашка с ИД на работна опашка, осветен в URL лентата на браузъра.

Бележка

Обвързано действие е действие, което е дефинирано Dataverse в конкретна таблица (работни опашки в нашия пример) и може да се изпълни само върху записи от тази таблица. Обвързаните действия се използват от платформата за извършване на персонализирана бизнес логика или операции върху конкретен запис.

  1. Вашият поток трябва да изглежда подобно на това сега.

Екранна снимка на действие на потока, което показва параметри за действието dequeue.

  1. Изберете Запиши и след това Тествайте потока си.

  2. В страничния екран за тестване изберете Ръчно, Тест, Изпълнение на поток и след това Готово.

  3. Ако потокът е протекъл успешно, трябва да получите подобен резултат (но с различни идентификационни номера).

Екранна снимка на дизайнер на потоци в облака с активно и успешно изпълнение, включително резултатите от действие за премахване на опашката.

  1. След това копирайте цялото съдържание на JSON от полето на тялото и след това изберете Редактиране в горния десен ъгъл на потока.

Съвет

След изваждане в опашка на елемент от работна опашка, използвайте съдържанието на JSON на елемента като пример за схема за анализ на свойствата на JSON на елемента. Това ви позволява лесно да получите достъп до всяко свойство на елемента, върнат от оркестратора на работната опашка в последващи действия на потока.

  1. Добавете нова стъпка, като изберете + Нова стъпка и потърсете действие, наречено Parse JSON и го изберете.

Екранна снимка на дизайнер на потока в облака, която показва избраното действие за анализ на json.

  1. Позиционирайте мишката в полето Съдържание и изберете свойството на тялото от предишното действие.

Екранна снимка на дизайнер на потока в облака, която показва действието за анализ на json със стойност на съдържанието, зададена на тялото.

  1. След това изберете Генериране от проба и поставете копирания преди това JSON низ в диалоговия прозорец и изберете Готово.

  2. Изберете + Нова стъпка и след това изберете съединителя Microsoft Dataverse .

  3. От списъка с действия изберете Актуализиране на ред.

  4. В полето Име на таблица изберете таблицата Елементи на работна опашка и позиционирайте курсора в полето ИД на ред.

  5. В списъка Динамично съдържание вече ще имате всички полета, които са налични в таблицата с елементи на работната опашка.

  6. Изберете Покажи разширените опции и след това задайте следните стойности на RowID, Резултат от обработката, Състояние и описание на състоянието .

Поле Стойност Подробни данни
ИД на ред workqueueitemid Тази стойност може да бъде избрана в диалоговия прозорец за динамичен списък със съдържание.
Резултат от обработката Елементът е обработен успешно.
Статус Обработено
описание на състоянието Обработено

Екранна снимка на дизайнер на потоци в облака, който показва актуализиране на действие на ред на конектора Dataverse със стойности на елемента на работната опашка.

  1. Изберете Запиши и тествай потока още веднъж.

  2. Ако потокът се изпълни успешно, трябва да получите подобен резултат като следния.

    Екранна снимка на изпълнение на поток в облака, който завърши успешно.

  3. Сега навигирайте до страницата с подробни данни за работната опашка и в секцията списък с елементи на работната опашка изберете Преглед на всички.

  4. Филтрирайте полето "Състояние", за да покажете само "Обработка " и "Обработени ", за да потвърдите, че действията ни за премахване на опашката и актуализиране са работили според очакванията.

    Екранна снимка на елементите на работната опашка Вижте целия опит, който предстои да бъде филтриран по състояние.

    Екранна снимка на елементите на работната опашка филтрира опита, където са избрани опции за обработка и обработени филтри.

    Екранна снимка на резултатите от филтъра, показваща два записа, които отговарят на предварително зададените критерии за филтриране.

    Поздравления, току-що завършихте първия си сценарий за обработка на работна опашка!

Облачна обработка, базирана на потока, с поддръжка на потока на работния плот

За този сценарий разширяваме предишния, като добавяме и стъпка за обработка на потока на работния плот.

  1. Върнете се и редактирайте потока напървата ми работна опашка.

  2. Добавете ново действие директно след действието Parse JSON и потърсете конектора за потоци на работния плот и Run a flow, изграден с за работен плот Power Automate .

  3. В падащото меню за потока на работния плот или изберете и редактирайте съществуващ поток на работния плот, или изберете + Създайте нов поток на работния плот и следвайте инструкциите на екрана, за да създадете потока на работния плот и да стартирате Power Automate за работния плот. Ако сте начинаещ в потоците на работния плот, можете да научите повече тук.

  4. След като се отвори за дизайнер на Power Automate настолни компютри, създайте две входни променливи, наречени WorkQueueItemValue и WorkQueueItemName и след това добавете две изходни променливи, наречени съответно ProcessingNotes и ProcessingStatus , всички от които трябва да имат Text като тип данни.

  5. Предоставете стойност по подразбиране за променливата WorkQueueElement , така че по-късно да можете да тествате скрипта локално. В случай, че сте следвали урока за групово импортиране, трябва да имате елементи от опашката за работа в опашката за фактури на доставчика , които имат своите стойности във формат JSON. Ето пример за една от използваните стойности.

    {
     "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"
    }
    

    Екранна снимка на дизайнер на потока на работния плот, който показва входните и изходните действия.

  6. Сега, Запазване на потока.

  7. В панела за действие отворете групата за действие Променливи и щракнете двукратно върху действието Конвертиране на JSON в персонализиран обект , за да го добавите към платното за проектиране, което отваря прозореца на свойствата.

  8. Изберете иконата на променливата в полето JSON и изберете променливата WorkQueueItemValue .

  9. Преименувайте произведената изходна променлива от JsonAsCustomObject на VendorInvoice и изберете Save.

  10. След това добавете действие If от групата Условни и конфигурирайте свойствата му, както следва:

    Първи операнд Оператор Втори операнд
    %Фактура на доставчик['Сума']% По-малко от (<) 5000
  11. Изберете Запиши.

  12. Добавете друго действие от групата Условни, наречено Else и го добавете между действието If и End .

  13. Сега добавете още две действия от групата променливи, наречена Set variable и ги добавете в рамките на действията If и Else и задайте променливите ProcessingNotes и ProcessingStatus на следните стойности:

    Променлива Стойност
    %ProcessingNotes% Фактурата е обработена
    %ProcessingStatus% Обработено
  14. Копирайте двете действия Set променлива и ги поставете между действието Else и End и променете стойностите им, за да съответстват на тези:

    Променлива Стойност
    %ProcessingNotes% Бизнес изключение: Сумата на фактурата е по-голяма от $5000, което изисква одобрение от ръководителя.
    %ProcessingStatus% Изключение
  15. Вашият поток трябва да изглежда подобно на това сега.

    Екранна снимка на дизайнер на потока на работния плот, който показва краен поток от 2 края с условия.

  16. Запазете потока и го стартирайте, за да потвърдите, че логиката на потока работи според очакванията.

  17. Върнете се, за да редактирате потока напървата ми работна опашка.

  18. Изберете новосъздадения (или редактиран) поток на работния плот от списъка и след това изберете Присъстваха като негов режим на изпълнение.

  19. Попълнете параметрите Стойност на елемент от работна опашка и Име на елемент от работна опашка, както е показано тук:

    Екранна снимка на дизайнер на потоци в облака, която показва действие на работния плот, сочещо към потока, който току-що е създаден или актуализиран

  20. Добавете действие Условие преди действието Актуализиране на ред .

  21. Позиционирайте мишката в полето Изберете стойност и изберете Състояние на обработка от диалоговия прозорец Списък с динамично съдържание.

  22. Позиционирайте мишката в другата Изберете поле за стойност и въведете Обработено като текстова стойност.

  23. Плъзнете и пуснете действието Актуализиране на ред в раздела Ако да на действието за условие.

  24. Отворете Актуализиране на подробни данни за действие на ред и заместете стойностите, за да съответстват на следното:

    Екранна снимка на дизайнер на потоци в облака, която показва актуализация на действие на ред със стойности.

  25. В червеното поле Ако няма добавете друго действие Актуализиране на ред и изберете Елементи на работната опашка като име на таблицата.

  26. След това изберете workqueueitemid като ИД на ред и отворете раздела Показване на разширени опции , изберете Обработка на бележки като стойност на резултатите от обработката .

  27. Изберете Грешка като състояние и GenericException за описание на състоянието .

    Екранна снимка на дизайнер на потоци в облака, която показва успешно изпълнение.

  28. Изберете Запиши и тествай , за да тествате цялостната автоматизация и да наблюдавате изхода от действието на потока на работния плот.

    Екранна снимка на дизайнер на потоци в облака, която показва успешно изпълнение.

  29. За да потвърдите, че елементът на работната опашка е обработен, можете да отидете на страницата с подробни данни за работната опашка, да изберете Преглед на всички в раздела елементи на работната опашка и да филтрирате елементите по състояние Обработени .

    Екранна снимка на страница със списък на елементи от работна опашка, която е филтрирана, за да показва само обработените елементи.

Браво, току-що завършихте по-напреднал сценарий, който включваше хибридна обработка на опашката за работа!

Следващи стъпки

Научете повече