Vytvoření poskytovatele přijetí
Toto téma popisuje kroky potřebné k vytvoření poskytovatele přijetí v Microsoft Dynamics 365 Intelligent Order Management.
Vytvoření nové definice poskytovatele
Při vytváření nové definice poskytovatele postupujte takto:
- Přejděte na Poskytovatelé > Katalog.
- Vyberte Nová definice poskytovatele.
- Do pole Zobrazovaný název zadejte „IOMLabOrderIntakeProvider“.
- Do pole Logický název zadejte „msdyn_IOMLabOrderIntakeProvider“.
- V poli Logo vyberte „IOMLab.png“.
- Do pole Typ služby zadejte „Přijetí objednávky“.
- Do pole Popis zadejte „Poskytovatel přijetí objednávky testovacího prostředí IOM“.
- Zvolte Uložit a zavřít.
Přidání definice poskytovatele do řešení
Pro přidání definice poskytovatele do řešení postupujte následovně.
- Přejděte na Power App Maker portal a přejděte na nově vytvořené řešení IOMLabProviders.
- Vyberte Přidat existující > Definice poskytovatele IOM.
- Vyberte IOMLabOrderIntakeProvider a poté vyberte Přidat pro přidání do řešení.
Přidání transformace do definice poskytovatele
Pro přidání transformace do poskytovatele postupujte následovně.
- Přejděte na Poskytovatelé > Katalog.
- Vyberte nově vytvořenou hodnotu IOMLabOrderIntakeProvider.
- V liště nabídky vyberte příkaz Upravit.
- Vyberte kartu Transformace.
- Vyberte + Nová transformace definice poskytovatele IOM.
- Do pole Zobrazovaný název zadejte „Objednávka IOMLab do objednávky Dataverse“.
- Do pole Logický název zadejte „msdyn_IOMLabOrderIntake_Order“.
- Do pole Definice poskytovatele zadejte nebo vyberte IOMLabOrderIntakeProvider.
- Do pole Název zdrojového objektu zadejte „IOMLabOrderIntakeProvider“.
- Do pole Název cílového objektu zadejte „Objednávka Dataverse“.
- Do pole Transformace zadejte následující kód dotazu M:
shared ImportMappingKey = [
account = {
[
ExternalRecordKey = [ProviderName = "IOMLabOrderIntakeProvider"],
SelectedFields = {"accountid"}
]
},
pricelevel = {
[
ExternalRecordKey = [ProviderName = "IOMLabOrderIntakeProvider"],
SelectedFields = {"pricelevelid"}
]
},
product = List.Distinct(List.Transform(Source[orderdetails], each
[
ExternalRecordKey = [sku = _[sku]],
SelectedFields = {"productid"}
])),
uom = List.Distinct(List.Transform(Source[orderdetails], each
[
ExternalRecordKey = [unit = _[unit]],
SelectedFields = {"uomid"}
]))
];
shared TransformSourceData =
let
orderProducts = Source[orderdetails],
account = IOM.MapRecord(IOM.MappingTables[account], [ProviderName = "IOMLabOrderIntakeProvider"]),
pricelevel = IOM.MapRecord(IOM.MappingTables[pricelevel], [ProviderName = "IOMLabOrderIntakeProvider"]),
orderheader = Record.FromTable
(
Table.SelectRows
(
Record.ToTable
(
[
ordernumber = Text.From(Source[ordernumber]),
name = ordernumber,
#"customerid_account@odata.bind" = "/accounts(" & Text.From(account[accountid]) & ")",
#"pricelevelid@odata.bind" = "/pricelevels(" & Text.From(pricelevel[pricelevelid]) & ")",
billto_city = Record.FieldOrDefault(Source, "billtocity"),
billto_stateorprovince = Record.FieldOrDefault(Source, "billtostateorprovince"),
billto_country = Record.FieldOrDefault(Source, "billtocountry"),
billto_postalcode = Record.FieldOrDefault(Source, "billtozip"),
shipto_city = Record.FieldOrDefault(Source, "shiptocity"),
shipto_stateorprovince = Record.FieldOrDefault(Source, "shiptostateorprovince"),
shipto_country = Record.FieldOrDefault(Source, "shiptocountry"),
shipto_postalcode = Record.FieldOrDefault(Source, "shiptozip")
]
), each [Value] <> null
)
),
orderlines = List.Transform(orderProducts, each
Record.FromTable
(
Table.SelectRows
(
Record.ToTable
(
[
ispriceoverridden = true,
#"productid@odata.bind" = "/products(" & IOM.MapRecord(IOM.MappingTables[product], [sku = Record.FieldOrDefault(_, "sku")])[productid] & ")",
#"uomid@odata.bind" = "/uoms(" & IOM.MapRecord(IOM.MappingTables[uom], [unit = Record.FieldOrDefault(_, "unit")])[uomid] & ")",
quantity = [quantity],
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")
]
), each [Value] <> null
)
)
),
salesorder = Record.AddField(orderheader, "order_details", orderlines)
in Text.FromBinary(Json.FromValue(salesorder));
- Do pole Typ zdroje transformace zadejte „JsonPayload“.
- Zvolte možnost Uložit.
- Vytvořte soubor JSON, vložte následující kód a uložte ho.
{
"ordernumber": "IOMLabOrder001",
"shiptocity": "BELLEVUE",
"shiptostateorprovince": "WA",
"shiptocountry": "US",
"shiptozip": "98007",
"billtocity": "BELLEVUE",
"billtostateorprovince": "WA",
"billtocountry": "US",
"billtozip": "98007",
"orderdetails": [
{
"sku": "883988211855",
"unit": "each",
"quantity": 11
}
]
}
- Vedle pole Ukázková data vyberte Vybrat soubor a nahrajte soubor JSON, který jste vytvořili.
- Zvolte Uložit a zavřít.
Přidání transformace definice poskytovatele do řešení
Pro přidání transformace definice poskytovatele do řešení postupujte následovně.
- Přejděte na Power App Maker portal a přejděte na nově vytvořené řešení IOMLabProviders.
- Vyberte Přidat existující > Transformace definice poskytovatele IOM.
- Vyberte Objednávka IOMLab do objednávky Dataverse a poté vyberte Přidat pro přidání do řešení.
Vytvoření obslužné rutiny zprávy poskytovatele
Chcete-li obslužnou rutinu zprávy poskytovatele, postupujte následujícím způsobem.
Přejděte na Power App Maker portal, přejděte na Řešení a otevřete Výchozí řešení.
Zvolte Nové.
Vyberte Cloudový tok a poté ho pojmenujte „Obslužná rutina požadavku zprávy přijetí objednávky testovacího prostředí IOM“.
Vyberte typ spouštění jako Outlook.com – Když přijde nový e-mail (V2), a poté se přihlaste pomocí přihlašovacích údajů účtu outlook.com.
V poli Složka vyberte Doručená pošta.
V poli Komu vyberte E-mailové adresy příjemců oddělené středníky.
V poli Kopie vyberte E-mailové adresy příjemců v kopii oddělené středníky.
V poli Komu nebo Kopie vyberte E-mailové adresy příjemců nebo příjemců v kopii oddělené středníky.
V poli Od vyberte E-mailové adresy odesílatele oddělené středníky.
V poli Zahrnout přílohy vyberte Ano.
V poli Filtr předmětu vyberte IOMLabOrderIntakeOrder.
V poli Důležitost vyberte Jakákoli.
V poli Pouze s přílohou vyberte Ano.
Vyberte Nový krok a přidejte „Analyzovat JSON“.
Do pole Obsah vložte následující kód:
{ "ProviderId": "00000000-0000-0000-0000-000000000000" }
Přímo vložte následující ukázkový kód schématu:
{ "type": "object", "properties": { "ProviderId": { "type": "string" } } }
Vyberte Hotovo.
Vyberte tlačítko se třemi tečkami („...“) a potom vyberte Přejmenovat.
Přejmenujte akci „Vlastnosti systému IOM“.
Zvolte možnost Uložit.
Vyberte Nový krok, přidejte akci Analzyovat JSON a přejmenujte ji na „Inicializovat proměnné poskytovatele“.
Do pole Obsah vložte následující kód:
{ "SourceObjectName": "IOMLabOrderIntakeProvider", "DestinationObjectName": "Dataverse Order" }
Zvolte možnost Uložit.
Vyberte Nový krok, přidejte akci Inicializovat proměnnou a přejmenujte ji na „Inicializovat výsledek provedení zpracování“.
Do pole Název zadejte „ExecutionResult“.
V poli Typ vyberte Logická hodnota.
V poli Hodnota vyberte true.
Zvolte možnost Uložit.
Vyberte Nový krok, přidejte „rozsah“ a přejmenujte na „Try“
V rozsahu Try vyberte Přidat akci.
Přidejte „provést nesvázanou akci“ z konektoru Dataverse a přejmenujte ji na „Potvrdit zprávu poskytovatele v IOM“.
Do pole Název akce zadejte „msdyn_CreateProviderMessageRequestExecution“.
Do pole PowerAutomateWorkflowId zadejte
workflow()['tags']['xrmWorkflowId']
jako výraz.Do pole PowerAutomateRunId zadejte
workflow()['run']?['name']
jako výraz.Do pole ProviderExternalRequestId zadejte
guid()
jako výraz.Zvolte možnost Uložit.
Vyberte Přidat akci a poté přidejte ovládací prvek Použít na každý.
V poli Vybrat výstup z předchozích kroků vyberte Přílohy.
Vyberte Přidat akci v rámci smyčky Použít na každou, přidejte Spustit podřízený tok z konektoru Flow a přejmenujte ji na „Transformovat zprávu s Power Query Online“.
Vyberte podřízený tok Transformátor poskytovatele IOM.
V poli ID poskytovatele vyberte proměnnou ProviderId.
V poli Název zdrojového objektu vyberte proměnnou SourceObjectName.
V poli Název cílového objektu vyberte proměnnou DestinationObjectName.
Do pole Datová část zadejte
decodeBase64(items('Apply_to_each')?['ContentBytes'])
jako výraz.Zvolte možnost Uložit.
Po kroku transformace vyberte Přidat akci, přidejte Spustit podřízený tok z konektoru Flow a přejmenujte ji na „Vytvořit objednávku“.
Do pole Podřízený tok zadejte „Vytvoření prodejní objednávky IOM“.
Do pole Datová část zadejte
string(json(outputs('Transform_Message_with_Power_Query_Online')?['Body']?['result'])?[0][0])
jako výraz.Zvolte možnost Uložit.
Sbalte rozsah Try výběrem jeho záhlaví.
Vyberte Nový krok, přidejte rozsah a přejmenujte ho na „Catch“.
V rozsahu Catch vyberte tři tečky („...“) a pak vyberte Nakonfigurovat spuštění po.
Zaškrtněte políčka selhalo a vypršel časový limit a poté vyberte Hotovo.
V rozsahu Catch vyberte Přidat akci, přidejte akci Nastavit proměnnou a přejmenujte ji na „Nastavit výsledek provedení na neúspěšný“.
Do pole Název zadejte „Executionresult“.
V poli Hodnota vyberte False.
Zvolte možnost Uložit.
Sbalte rozsah Catch výběrem jeho záhlaví.
Vyberte Nový krok, přidejte rozsah a přejmenujte ho na „Finally“.
V rozsahu Finally vyberte tři tečky („...“) a pak vyberte Nakonfigurovat spuštění po.
Zaškrtněte políčka je úspěšný, selhal, je přeskočení a vypršel a vyberte Hotovo.
V rozsahu Finally vyberte Přidat akci, přidejte akci Provést nevázanou akci a přejmenujte ji na „Uložit výsledek provádění požadavku zprávy poskytovatele“.
Do pole Název akce zadejte „msdyn_UpdateProviderMessageRequestStatus“.
Do pole ProviderMessageRequestExecutionId zadejte
@outputs('Acknowledge_the_Provider_Message_in_IOM')?["body/ProviderMessageRequestExecutionId']
.Zvolte možnost Uložit.
Přidání definice logiky definice poskytovatele do definice poskytovatele
Pro přidání definice logiky definice poskytovatele do definice poskytovatele postupujte následovně.
- V aplikaci Intelligent Order Management přejděte na Poskytovatelé > Katalog.
- Vyberte nově vytvořenou hodnotu IOMLabOrderIntakeProvider.
- V liště nabídky vyberte příkaz Upravit.
- Vyberte karu Logické definice.
- Vyberte + Nová definice logiky definice poskytovatele IOM.
- Do pole Zobrazovaný název zadejte „Obslužná rutina požadavku zprávy na přijetí objednávky testovacího prostředí IOM“.
- Do pole Logický název zadejte „msdyn_LabOrderIntakeMessageRequestHandler“.
- Do pole Definice poskytovatele zadejte nebo vyberte „IOMLabOrderIntakeProvider“.
- Do pole Typ logiky zadejte „Poskytnout obslužnou rutinu zprávy“.
- Do pole Název pracovního postupu zadejte „Obslužná rutina požadavku zprávy na přijetí objednávky testovacího prostředí IOM“.
- Do pole Časový limit v minutách zadejte „2“.
- Do pole Maximální počet pokusů opakování zadejte „3“.
- Do pole Popis zadejte „Obslužná rutina požadavku zprávy na přijetí objednávky testovacího prostředí IOM“.
- Zvolte možnost Uložit. Tím se vygeneruje reprezentace JSON cloudového toku obslužné rutiny zprávy a vyplní se pole Data klienta.
- Zvolte Uložit a zavřít.
- Vyberte Připojení. Měli byste vidět uvedené definice informací o připojení Microsoft Dataverse i Outlook.com.
Poznámka
Pokud vidíte jiné definice informací o připojení než Microsoft Dataverse a Outlook.com, znamená to, že používáte více než jedny informace o připojení Dataverse v toku obslužné rutiny zpráv přijetí objednávky. Chcete-li tento problém vyřešit, přejděte do svého postupu a ujistěte se, že všechny akce Dataverse používají stejné informace o připojení.
Přidání definice logiky definice poskytovatele do řešení IOMLabProviders
Pro přidání definice logiky definice poskytovatele do řešení IOMLabProviders postupujte následovně.
- Přejděte na Power App Maker portal a přejděte na nově vytvořené řešení IOMLabProviders.
- Vyberte Přidat existující > Definice logiky definice poskytovatele IOM.
- Vyberte Obslužná rutina požadavku zprávy příjmu objednávky testovacího prostředí IOM a poté vyberte Přidat pro přidání do řešení.
Přidání informací o připojení definice poskytovatele do řešení IOMLabProviders
Pro přidání informací o připojení definice poskytovatele do řešení IOMLabProviders postupujte následovně.
- Přejděte na Power App Maker portal a přejděte na nově vytvořené řešení IOMLabProviders.
- Vyberte Přidat existující > Informace o připojení definice poskytovatele IOM.
- Vyberte definice informací o připojení definice poskytovatele Microsoft Dataverse a Outlook.com a poté vyberte Přidat pro jejich přidání do řešení.
Další krok testovacího prostředí rychlého spuštění: Vytvoření poskytovatele plnění.