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


Създаване на нов доставчик

За да създадете нов доставчик, използвайте следните стъпки. Можете също да използвате тези стъпки, за да направите допълнения към съществуващи доставчици.

Определете архитектурата на доставчика

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

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

Условие Необходим компонент
Услугата, за която искате да създадете доставчик, няма конектор в Power Automate.
За повече информация вижте Списък на всички Power Automate конектори.
Създайте клиентски конектор или използвайте общ конектор.
Вашият доставчик ще обменя данни между външна услуга и Microsoft Dataverse. Вашият доставчик ще се нуждае от трансформация на доставчик. Добавете компонент за трансформация на доставчик за всяка трансформация.
Вашият доставчик ще изпълни логика от разработчик на организиране. Създайте отделен Power Automate поток за представяне на всяко от действията.
Вашият доставчик трябва да обработва съобщения от външна услуга. Създайте Power Automate поток на манипулатора на съобщения.
Вашият доставчик ще изтегля съобщения от външна услуга на редовен интервал. Създайте поток Power Automate Message Puller.
Вашият доставчик ще генерира бизнес събития, които в момента не са дефинирани в Интелигентното управление на поръчките. Създайте нова дефиниция на бизнес събитие и добавете съществуващи събития.

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

Създайте решение за доставчик

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

  • Настройте персонализиран доставчик.

  • Добавете дефиниция на доставчик.

  • Добавете компонентите към вашето решение.

Настройте персонализиран доставчик

Създайте решение в Power Apps което ще съдържа компонентите на вашия доставчик. За да създадете ново решение в Power Apps, следвайте стъпките в Създаване на решение в Power Apps.

Добавете дефиниция на доставчик

Дефиницията на доставчик съдържа подробности за вашия доставчик. Дефиницията определя как вашият доставчик ще се показва в каталога на доставчика.

  1. В създаденото от вас решение на доставчика изберете Ново.

  2. Изберете IOMДефиниция на доставчик.

  3. Добавете следните подробности:

    1. Показвано име: Името, което искате да дадете на вашия доставчик, например „Доставчик на тестове“.

    2. Логическо име: Ключът за експортиране за вашия доставчик.

    3. Описание: Текст, който описва какво прави вашият доставчик.

  4. Изберете Запазване.

  5. Ако искате да добавите лого, качете изображението.

  6. Уверете се, че дефиницията на вашия доставчик се появява в решението. Трябва да се покаже запис с тип компонент Дефиниция на IOM доставчик . Ако не се показва, изберете Добавяне на съществуващ и след това изберете записа, който току-що сте създали.

  7. Уверете се, че вашият доставчик се появява в каталога на доставчика. Ако зададете полето Активен е на Да, дефиницията на вашия доставчик ще се покаже в каталога на доставчика. Отворете интелигентното управление на поръчките. Отидете на Доставчици > Каталог. Проверете дали дефиницията на вашия доставчик е показана.

Добавете компоненти към разтвора

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

  1. Преминете към вашето решение.

  2. Изберете Добавяне на съществуващ.

  3. Изберете типа на компонента за интелигентно управление на поръчки, след което изберете записа, който току-що създадохте.

Създайте трансформация на доставчик

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

  1. В решението на вашия доставчик изберете Ново.

  2. Изберете Трансформация на дефиниция на доставчик на IOM.

  3. Добавете следните подробности:

    1. Показвано име: Името на трансформацията на вашия доставчик, например „Трансформиране на поръчки за продажба“.

    2. Логическо име: Уникалният идентификатор на вашия доставчик. Тази стойност ще бъде ключът за импортиране и експортиране на данните. Трябва да започва с префикса на издателя. Например Microsoft използва префикса на издателя msdyn_. Примери за логическо име са: msdyn_flexe_fulfillmentorderproduct_orderline и msdyn_flexe_fulfillmentorder_order.

    3. Тип източник: Това поле показва какъв тип данни се получават. Има две опции: JsonDocument или Dataverse Entity. Ако вашите данни вече са в Dataverse, изберете Dataverse Обект. Ако не, изберете JsonDocument. Тази информация ще се използва в елемента Power Automate , който дефинирате, за да търсите трансформацията.

    4. Име на обект източник: Името на данните, които трансформирате. Ако преобразувате Dataverse запис, уверете се, че Името на обект източник е същото име като в Dataverse таблицата.

    5. Име на целеви обект: Дестинацията на записа, който искате да трансформирате.

    6. Трансформация: Power Query Онлайн MQuery, който ще се използва за трансформиране на входните данни. За информация относно Power Query и MQuery вижте Какво е Power Query? и Power Query Справка на езика за формули M . Следното е пример за MQuery, който трансформира поръчка за продажба от външна услуга за поръчки в поръчка за продажба в Интелигентно управление на поръчки.

shared TransformSourceData =

let

orderItems = Source\[OrderItems\],

orderheader =

Record.FromTable

(

Table.SelectRows

(

Record.ToTable

(

\[

ordernumber = Record.FieldOrDefault(Source, "SellerOrderId", Text.From(Source\[OrderServiceOrderId\])),

name = ordernumber,

msdyn\_ExternalOrderId = Text.From(Source\[OrderServiceOrderId\]),

\#"customerid\_account@odata.bind" = "/accounts(" & Text.From(Source\[accountid\]) & ")",

\#"pricelevelid@odata.bind" = "/pricelevels(" & Text.From(Source\[pricelevelid\]) & ")",

totalamount = if Record.HasFields(Source, "OrderTotal") then Decimal.From(Record.FieldOrDefault(Source\[OrderTotal\], "Amount")) else null,

shipto\_name = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "Name") else null,

shipto\_contactname = shipto\_name,

shipto\_line1 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine1") else null,

shipto\_line2 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine2") else null,

shipto\_line3 = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "AddressLine3") else null,

shipto\_city = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "City") else null,

shipto\_stateorprovince = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "StateOrRegion") else null,

shipto\_country = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "CountryCode") else null,

shipto\_postalcode = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "PostalCode") else null,

shipto\_telephone = if Record.HasFields(Source, "ShippingAddress") then Record.FieldOrDefault(Source\[ShippingAddress\], "Phone") else null,

overriddencreatedon = Record.FieldOrDefault(Source, "PurchaseDate")

\]

), each \[Value\] \<\> null

)

),

orderlines = List.Transform(orderItems, each

Record.FromTable

(

Table.SelectRows

(

Record.ToTable

(

\[

isproductoverridden = true,

ispriceoverridden = true,

productdescription = \[OrderItemId\] & "-" & Record.FieldOrDefault(\_, "SellerSKU") & "-" & Record.FieldOrDefault(\_, "Title"),

quantity = \[QuantityOrdered\],

quantityshipped = Record.FieldOrDefault(\_, "QuantityShipped"),

priceperunit = if Record.HasFields(\_, "ItemPrice") then Decimal.From(Record.FieldOrDefault(\[ItemPrice\], "Amount")) else null,

manualdiscountamount = if Record.HasFields(\_, "PromotionDiscount") then Decimal.From(Record.FieldOrDefault(\[PromotionDiscount\], "Amount")) else null,

tax = if Record.HasFields(\_, "ItemTax") then Decimal.From(Record.FieldOrDefault(\[ItemTax\], "Amount")) else null,

shipto\_name = Record.FieldOrDefault(orderheader, "shipto\_name"),

shipto\_contactname = Record.FieldOrDefault(orderheader, "shipto\_contactname"),

shipto\_line1 = Record.FieldOrDefault(orderheader, "shipto\_line1"),

shipto\_line2 = Record.FieldOrDefault(orderheader, "shipto\_line2"),

shipto\_line3 = Record.FieldOrDefault(orderheader, "shipto\_line3"),

shipto\_city = Record.FieldOrDefault(orderheader, "shipto\_city"),

shipto\_stateorprovince = Record.FieldOrDefault(orderheader, "shipto\_stateorprovince"),

shipto\_country = Record.FieldOrDefault(orderheader, "shipto\_country"),

shipto\_postalcode = Record.FieldOrDefault(orderheader, "shipto\_postalcode"),

shipto\_telephone = Record.FieldOrDefault(orderheader, "shipto\_telephone"),

overriddencreatedon = Record.FieldOrDefault(orderheader, "overriddencreatedon")

\]

), each \[Value\] \<\> null

)

)

),

salesorder = Record.AddField(orderheader, "order\_details", orderlines)

in Text.FromBinary(Json.FromValue(salesorder));
  1. Изберете Запазване.

  2. Уверете се, че вашият трансформационен компонент се показва правилно. Трябва да се покаже тип компонент на Трансформация на дефиниция на доставчик на IOM с името на трансформацията. Ако не се показва, изберете Добавяне на съществуващо и след това изберете трансформацията, която току-що създадохте.

Добавете дефиниции на бизнес събития

Ако вашият доставчик ще създаде или използва нови бизнес събития, трябва да добавите IOM Provider Definition Business Event Definition компоненти към вашето решение. Трябва само да добавите бизнес събития, които все още не са в Интелигентно управление на поръчки.

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

  1. Изберете Нов.

  2. Изберете Дефиниция на доставчик на IOM Дефиниция на бизнес събитие.

  3. Добавете следните подробности:

    1. Име: Името на вашето бизнес събитие.

    2. Доставчик: Доставчикът, за който създавате тази бизнес дефиниция.

    3. Свързан обект: Обектът Dataverse в интелигентното управление на поръчки, който се променя или засяга при създаването на събитието.

    4. Стойност на асоциираното състояние: Ако искате състоянието на вашия асоцииран обект да се актуализира, когато се повдигне бизнес събитието, включете стойност на състоянието в това поле.

    5. Стойност на асоцииран статус: Ако искате статусът на вашия асоцииран обект да се актуализира, когато се повдигне бизнес събитието, включете стойност на статус в това поле.

  4. Изберете Запазване.

  5. Проверете вашето решение, за да се уверите, че IOM Provider Business Event Definition записът е показан. Ако записът не се появи в решението, изберете Добавяне на съществуващ и след това изберете записа, който току-що сте създали.

Добавяне на конектор

Ако вашият доставчик се нуждае от конектор, който не е наличен в Power Automate, трябва да създадете свой собствен конектор. За повече информация вижте Списък на всички Power Automate конектори.

За да създадете свой собствен Power Automate конектор, следвайте стъпките в Общ преглед на персонализирани конектори.

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

  1. Отидете до решението на вашия доставчик.

  2. Изберете Добавяне на съществуващо.

  3. Изберете съединителя, който сте създали.

Видове Power Automate потоци

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

Добавете вашите потоци като компоненти на логическата дефиниция на доставчика към вашия доставчик.

Преди да започнете процеса на създаване на поток, прегледайте типовете потоци, които се използват в Интелигентното управление на поръчките.

Манипулатор на съобщения на доставчик

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

Следното е примерна структура за създаване на манипулатор на съобщения тип Power Automate flow.

  1. Дефинирайте Power Automate тригер. Това обикновено е HTTP крайна точка, която е тригер за уеб кукичка (препоръчително), тригер за конектор или тригер Dataverse вмъкване. Тригерът се задейства, когато външна услуга има данни за изпращане към Intelligent Order Management. Екранна снимка на тригер за получаване на HTTP заявка.

JSON схемата, която да използвате във вашия HTTP тригер, е дефинирана по-долу.

{
    "type": "object",
    "properties": {
        "text": {
            "title": "ProviderActionExecutionEventId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        },
        "text_1": {
            "title": "EntityRecordId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        }
    },
    "required": [
        "text",
        "text_1"
    ]
}
  1. Инициализирайте обработката на съобщението. Тази задача включва две стъпки.

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

    2. Потвърдете съобщението на доставчика в Интелигентно управление на поръчки, за да можете да проследите, опитате отново и покажете състоянието на обработка. Това е Power Automate действие, което интелигентното управление на поръчки въвежда. Това действие се нарича Заявка за съобщение за потвърждаване на доставчик в IOM. Това действие има следните задължителни параметри.

      1. PowerAutomateWorkflowId: WorkflowId в дефиницията на манипулатора на съобщения. Можете да извлечете това, като имате функция за композиране с workflow()['tags'].

      2. PowerAutomateRunId: Уникалният идентификатор за Power Automate изпълнението, което е получило съобщението и позволява на конвейера да опита отново обработката и да свърже регистрационните файлове за изпълнение. Можете да извлечете това, като имате функция за съставяне с workflow()['run']?['name'].

      3. ProviderMessageExternalRequestId: Идентификатор за изпратеното съобщение. Ако няма идентификатор, може да се генерира GUID. Този идентификатор се използва от конвейера, за да предотврати изпращането на дублиращи се съобщения от подателя. Идентификаторът зависи от полезния товар на източника. Например: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).

Екранна снимка на екрана със заявка за съобщение на доставчика на потвърждение.

  1. Трансформацията на доставчика, която дефинирахте по-рано, ще извлече входните данни и ще ги трансформира. Интелигентното управление на поръчките предоставя готов дъщерен поток, наречен IOM Provider Transformer който ще изпълни трансформацията. Добавете следните подробности, за да обработите събитието или съобщението:

    1. Име на доставчик: Името на доставчика, свързан с манипулатора на съобщения. Тази стойност трябва да е със същото име като трансформацията на вашия доставчик.

    2. Име на изходен обект: Стойността на ключа за търсене на източник за трансформацията, която трябва да се извърши. Тази стойност трябва да бъде същата като името на изходния обект, дефинирано в трансформацията на вашия доставчик.

    3. Име на обект на местоназначение: Стойността на ключа за търсене на местоназначение за извършване на трансформацията. Тази стойност трябва да бъде същата стойност, дефинирана в трансформацията на доставчика.

    4. Полезен товар: Предоставя се при трансформиране на JSON полезен товар. Power Automate изисква параметрите да бъдат предадени като сериализиран низ. Предоставете стойност на Payload или Record ID стойност, не и двете.

    5. ID на запис: Предоставя се при трансформиране на Dataverse запис. Предоставете стойност на Payload или Record ID стойност, не и двете.
      Екранна снимка за съобщение за трансформиране с Power Query Онлайн.

  2. Можете да вмъквате данни в Dataverse като използвате HTTP заявки или действието Dataverse конектор Вмъкване . Ако правите повече от едно вмъкване и искате да подобрите производителността, Опаковане вмъкванията в комплект за промяна, така че заявките да са в пакет от транзакции.
    Екранна снимка на потока на вмъкнати съобщения.

  3. Ако искате вашият поток да предизвика бизнес събитие, можете да използвате Райз бизнес събитие дъщерен поток. Добавете следните подробности.

    1. BusinessEventName: Име на събитието, което искате да повдигнете.

    2. EntityRecordId: Идентификационният номер на записа, току-що създаден и свързан със събитието.

  4. Актуализирайте състоянието на обработка на съобщението, като използвате действието Актуализиране на състоянието на заявката за съобщение на доставчика за запазване на резултата от изпълнението на обработката. Добавете следните подробности.

    1. ProviderMessageRequestExecutionId: Изходният идентификатор на записа, създаден за проследяване на напредъка на обработката на съобщението.

    2. IsProviderMessageRequestExecutionSuccess: Булева стойност, която показва дали обработката е била успешна.

Инструмент за извличане на съобщения на доставчик

Изтеглячите на съобщения на доставчика са Power Automate потоци, които изтеглят съобщения на редовно определен интервал от външна услуга.

Бележка

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

Следното е примерна структура за създаване на тип Power Automate поток за изтегляне на съобщения.

  1. Използвайте работен поток за повтаряне, за да планирате задействане.

  2. Вземете контролна точка от Dataverse. Контролните точки проследяват кои съобщения са били успешно изтеглени от външния доставчик. Добавете следните подробности.

    1. Име на действие: Име на контролната точка.

    2. WorkflowId: Задайте следната функция за съставяне, за да извлечете тази информация: workflow()['tags']['xrmWorkflowId'].
      екранна снимка на Get checkpoint.

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

    1. Метод: Задайте това поле на POST.

    2. URL: Крайната точка на външния доставчик.

    3. Тяло: JSON заявката трябва да има следната формула: if(empty(outputs('Get_Checkpoint')?['body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?[ „тяло/контролна точка“])).
      Екранна снимка за съобщения за изтегляне.

  4. Анализирайте съобщенията, изтеглени в стъпка 3. Добавете следните подробности.

    1. Съдържание: Тялото, извлечено от стъпка 3.

    2. Схема: Структурата на тялото, извлечена в стъпка 3.
      Екранна снимка за съобщения за анализ.

  5. Обработвайте съобщенията, за да преминете през всяко съобщение от стъпка 4.

  6. Анализирайте всяко съобщение от предишните стъпки. Добавете следната информация.

    1. Съдържание: Текущ елемент от Съобщения за обработка.

    2. Схема: Едно съобщение във формат JSON.
      Екранна снимка за Process messages 2.

  7. Обадете се на асоциирания манипулатор на съобщения на доставчика, който сте задали в предварителните условия. Добавете следната информация.

    1. дъщерен поток: Изберете вашия доставчик на манипулатор на съобщения.

    2. Съобщение: Съобщението, анализирано от стъпка 6.
      Екранна снимка за Process messages 3.

  8. Запазете контролната точка в Dataverse. Добавете следната информация.

    1. Контролна точка: Това може да бъде произволна стойност на низ (макс. 100). В този пример това е идентификаторът на последното обработено съобщение.

    2. WorkFlowId: Можете да извлечете този идентификатор, като добавите функция за съставяне, зададена на workflow()['tags']['xrmWorkflowId'].
      Екранна снимка за съобщения на процеса 4.

Действие на доставчика

Потоците от действия на доставчика се извикват от разработчик на организиране. Тези потоци обикновено извършват повиквания от Intelligent Order Management към външни услуги.

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

Следното е примерна структура за поток Power Automate действие на доставчик.

  1. Започнете с HTTP тригер. Следната информация ще бъде предадена по време на изпълнение от услугата за оркестрация. За тялото ще се използва следната JSON схема:
{
    "type": "object",
    "properties": {
        "text": {
            "title": "ProviderActionExecutionEventId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        },
        "text_1": {
            "title": "EntityRecordId",
            "type": "string",
            "x-ms-dynamically-added": true,
            "description": "Please enter your input",
            "x-ms-content-hint": "TEXT"
        }
    },
    "required": [
        "text",
        "text_1"
    ]
}
  1. Инициализирайте обработката на действието.

    1. Инициализирайте резултата от изпълнението и всички други променливи за обработка.

    2. Потвърдете началото на изпълнението на действието, като използвате действието Стартиране на изпълнение на действие на доставчик Dataverse . Това ще позволи на тръбопровода да проследява, опитва отново и показва състоянието на обработка в рамките на Интелигентното управление на поръчките. Добавете следната информация.

      1. ProviderActionExecutionEventId: Тази стойност беше предадена в действието като входен параметър в стъпка 1.

      2. PowerAutomateRunID: Уникалното изпълнение на действието Power Automate . Това позволява на тръбопровода да свързва регистрационните файлове за изпълнение. Получете тази информация, като зададете полето на Power Automate израз worflow()['run']?['name'].

  2. Изпълнете действието.

    1. Ако е необходимо, трансформирайте записите с помощта на Трансформиране на съобщение с Power Query Онлайн дъщерен поток.

      1. Име на доставчик: Името на доставчика, който ще бъде свързан с действието. Името трябва да съвпада с дефиницията на вашия доставчик.

      2. Име на изходен обект: Името на източника на трансформацията, която трябва да се извърши. Това име трябва да е същия обект източник, дефиниран във вашата Power Automate трансформация.

      3. Име на обект на местоназначение: Стойността на ключа за търсене на местоназначение за извършване на трансформацията. Това име трябва да бъде същата стойност, дефинирана в трансформацията на доставчика.

      4. Полезен товар: Предоставя се при трансформиране на входящ JSON полезен товар. Power Automate изисква параметрите да бъдат предадени като сериализиран низ. Добавете стойност на Payload или Record ID стойност, но не и двете.

      5. ID на запис: Предоставя се при трансформиране на изходящ Dataverse запис. Добавете стойност на Payload или Record ID стойност, но не и двете.
        Екранна снимка за съобщение за трансформиране с Power Query Онлайн.

    2. Изпълнете всички персонализирани действия, които сте дефинирали. Това са действия, които присъстват на Power Automate конектора, който използвате.

    3. Повдигнете бизнес събитие, конкретно за действие. Използвайте Raise Business Event дъщерен поток. Добавете следната информация.

      1. BusinessEventName: Името на събитието, което искате да повдигнете.

      2. EntityRecordId: Идентификаторът на записа, свързан със събитието.

  3. Завършете изпълнението на действието и запазете резултатите. Резултатите ще бъдат обработени от разработчик на организиране. Добавете следната информация.

    1. ExecutionResult: Булева стойност, която показва дали обработката е била успешна.

    2. ExecutionDetails: Незадължителни подробности за журнал за целите на тестване и отстраняване на грешки.

    3. ProviderActionExecutionEventId: Тази стойност е предадена в действието като входен параметър, който е дефиниран в стъпка 1.
      Екранна снимка на пълно изпълнение на действие на доставчика.

Дъщерен поток

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

Дъщерните потоци на доставчика не могат да извикват дъщерни потоци на друг доставчик.

Създайте облачни потоци

Когато разберете типовете потоци, които искате да създадете, вие сте готови да създавате облачни потоци. За да направите това, изпълнете следните стъпки:

  1. Отворете решението по подразбиране във вашата Power Apps среда.

Важно

Не добавяйте тези решения към решението на вашия доставчик.

  1. Изберете Нов, след което изберете поток за облак.

  2. Изградете своя Power Automate поток. Използвайте шаблоните в предишния раздел за справка.

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

Запазете Power Automate дефиниция

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

Трябва да имате следните предварителни условия, преди да можете да запишете своите потоци.

  • За да запазите вашите Power Automate логически дефиниции, ще трябва да подадете OData заявки. За да направите това, имате нужда от акаунт в PostMan или подобна услуга.

  • Ще трябва да генерирате токен за достъп до вашата Dataverse среда, за да издавате GET и POST заявки.

    • Настройте акаунт в Azure с активен абонамент. Ако нямате активен акаунт, трябва да настроите акаунт на уебсайта на Azure.

    • PowerShell трябва да бъде инсталиран. За повече информация вижте Инсталиране на PowerShell.

    • Въведете следната команда в PowerShell, за да получите токен за достъп: az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Set-Clipboard.

За да запазите своята Power Automate дефиниция, направете следното.

  1. Намерете идентификатора на работния поток на Power Automate потока, който искате да запазите. Направете едно от следните.

    1. Намерете ИД на работния поток, като използвате Power Automate действие.

      1. Създайте действие за съставяне с израза workflow() в края на вашия Power Automate поток.
        Екранна снимка на действието Compose.

      2. Бягай Power Automate.

      3. Свойството xrmWorkflowId от резултатите от изпълнението ще съдържа идентификатора на работния поток.
        Екранна снимка на ID на работния поток.

      4. Изтрийте това действие от потока, за да не се изпълнява отново.

    2. По желание можете да подадете заявка за получаване на OData.

      1. Отидете до потока, за който искате да запишете ИД на работния поток. Намерете уникалния идентификатор в URL адреса. Това е идентификаторът, който се появява след ../flows/ в URL адреса.
        Как да намерите уникален идентификатор.

      2. Издайте заявка за OData, за да извлечете метаданните на работния поток. Следното е примерна GET заявка.
        GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Уникален идентификатор на работен поток от Power Automate U}'&$select=workflowid,workflowidunique

      3. Запазете върнатото свойство workflowid .

  2. Намерете ID на дефиницията на доставчика.

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

    2. Копирайте ID на дефиницията на доставчика от URL адреса. Това е частта от URL адреса ../id={примерен номер}/.
      Как да намерите ID на дефиницията на доставчика.

  3. Отбележете стойността на зададената опция за типа Power Automate , който запазвате.

    1. дъщерен поток: 192350002

    2. Действие на доставчика: 192350001

    3. Манипулатор на съобщения на доставчика: 192350000

    4. инструмент за извличане на съобщения на доставчик: 192350003

  4. Издайте POST заявка, за да запазите вашата Power Automate дефиниция. Следното е примерна заявка.

    POST: {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionLogicDefinition  
    Body:  
    {

"ProviderDefinitionId": "{ProviderId previously found}",

"WorkflowId": "{Power Automate WorkflowId previously found}",

"LogicalName": "{Export prefix \_ Power Automate Export Name}",

"LogicType": {Logic Type},

"MaxRetryAttempts": {Max number of attempts},

"TimeoutMinutes": {Timeout number ex: 5}

}
  1. Уверете се, че вашият компонент за дефиниране на логическа дефиниция на доставчик е добавен. За да направите това, изпълнете следните стъпки:

    1. Отидете до решението на вашия доставчик.

    2. Проверете дали дефиницията на логиката на доставчика, която сте създали, е добавена. Ако не е добавен, изберете Добавяне на съществуващ и след това добавете създадения от вас компонент.

Запазете препратките за връзка

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

  1. Издайте GET заявка, за да извлечете вашия препратка към връзка ID. Например:
GET {Env url}/api/data/v9.2/connectionreferences

Ако искате да го филтрирате допълнително, можете да филтрирате по препратка към връзка име. Например:

    {Env url}/api/data/v9.2/connectionreferences?$[connectionreferences?$filter=connectionreferencedisplayname](https://orgdb90e3a2.api.crm10.dynamics.com/api/data/v9.2/connectionreferences?$filter=connectionreferencedisplayname) eq 'Provider Example'&$select=connectionreferencelogicalname,connectionreferencedisplayname,connectionreferenceid,connectorid

  1. Уверете се, че правилният препратка към връзка ID е извлечен чрез търсене във вашите Power Automate клиентски данни.

    1. Отидете до компонента за дефиниране на логиката на доставчика, който сте записали по-рано.

    2. Проверете клиентските данни, за да проверите дали connectionReferenceLogicalName се появява.

  2. Намерете вашия ID на дефиниция на доставчик. Това е същата стойност, която сте използвали в стъпка 2, за да запазите вашите Power Automate логически дефиниции.

  3. Издайте заявка за публикация, за да запазите вашия препратка към връзка. Например:

POST {Env url}/api/data/v9.1/msdyn\_SaveProviderDefinitionConnectionReference  
    Body:  
    {

"ProviderDefinitionId": "{ProviderId previously found}",

"ConnectionReferenceId": "{Connection reference id previously found}"

}
  1. Уверете се, че вашият компонент за дефиниране на логическа дефиниция на доставчик е добавен.

    1. Отидете до решението на вашия доставчик.

    2. Уверете се, че е добавен референтният компонент за дефиниция на логиката на доставчика, който сте създали. Ако не е добавен, изберете Добавяне на съществуващ и добавете компонента, който току-що сте създали.

Споделете вашите доставчици

Ако искате да използвате дефиницията на вашия доставчик в друга среда или да споделите вашето решение, можете да експортирате вашето решение на доставчик. За повече информация вижте Решения за експортиране.