Sdílet prostřednictvím


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:

  1. Přejděte na Poskytovatelé > Katalog.
  2. Vyberte Nová definice poskytovatele.
  3. Do pole Zobrazovaný název zadejte „IOMLabOrderIntakeProvider“.
  4. Do pole Logický název zadejte „msdyn_IOMLabOrderIntakeProvider“.
  5. V poli Logo vyberte „IOMLab.png“.
  6. Do pole Typ služby zadejte „Přijetí objednávky“.
  7. Do pole Popis zadejte „Poskytovatel přijetí objednávky testovacího prostředí IOM“.
  8. 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ě.

  1. Přejděte na Power App Maker portal a přejděte na nově vytvořené řešení IOMLabProviders.
  2. Vyberte Přidat existující > Definice poskytovatele IOM.
  3. 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ě.

  1. Přejděte na Poskytovatelé > Katalog.
  2. Vyberte nově vytvořenou hodnotu IOMLabOrderIntakeProvider.
  3. V liště nabídky vyberte příkaz Upravit.
  4. Vyberte kartu Transformace.
  5. Vyberte + Nová transformace definice poskytovatele IOM.
  6. Do pole Zobrazovaný název zadejte „Objednávka IOMLab do objednávky Dataverse“.
  7. Do pole Logický název zadejte „msdyn_IOMLabOrderIntake_Order“.
  8. Do pole Definice poskytovatele zadejte nebo vyberte IOMLabOrderIntakeProvider.
  9. Do pole Název zdrojového objektu zadejte „IOMLabOrderIntakeProvider“.
  10. Do pole Název cílového objektu zadejte „Objednávka Dataverse“.
  11. 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));
  1. Do pole Typ zdroje transformace zadejte „JsonPayload“.
  2. Zvolte možnost Uložit.
  3. 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
    }
  ]
} 

  1. Vedle pole Ukázková data vyberte Vybrat soubor a nahrajte soubor JSON, který jste vytvořili.
  2. 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ě.

  1. Přejděte na Power App Maker portal a přejděte na nově vytvořené řešení IOMLabProviders.
  2. Vyberte Přidat existující > Transformace definice poskytovatele IOM.
  3. 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.

  1. Přejděte na Power App Maker portal, přejděte na Řešení a otevřete Výchozí řešení.

  2. Zvolte Nové.

  3. Vyberte Cloudový tok a poté ho pojmenujte „Obslužná rutina požadavku zprávy přijetí objednávky testovacího prostředí IOM“.

  4. 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.

  5. V poli Složka vyberte Doručená pošta.

  6. V poli Komu vyberte E-mailové adresy příjemců oddělené středníky.

  7. V poli Kopie vyberte E-mailové adresy příjemců v kopii oddělené středníky.

  8. V poli Komu nebo Kopie vyberte E-mailové adresy příjemců nebo příjemců v kopii oddělené středníky.

  9. V poli Od vyberte E-mailové adresy odesílatele oddělené středníky.

  10. V poli Zahrnout přílohy vyberte Ano.

  11. V poli Filtr předmětu vyberte IOMLabOrderIntakeOrder.

  12. V poli Důležitost vyberte Jakákoli.

  13. V poli Pouze s přílohou vyberte Ano.

    Trigger Outlook)

  14. Vyberte Nový krok a přidejte „Analyzovat JSON“.

  15. Do pole Obsah vložte následující kód:

    {
    "ProviderId": "00000000-0000-0000-0000-000000000000"
    }
    
  16. Přímo vložte následující ukázkový kód schématu:

    {
      "type": "object",
      "properties": {
        "ProviderId": {
          "type": "string"
        }
      }
    }
    
  17. Vyberte Hotovo.

  18. Vyberte tlačítko se třemi tečkami („...“) a potom vyberte Přejmenovat.

  19. Přejmenujte akci „Vlastnosti systému IOM“.

  20. Zvolte možnost Uložit.

    Akce vlastností systému)

  21. Vyberte Nový krok, přidejte akci Analzyovat JSON a přejmenujte ji na „Inicializovat proměnné poskytovatele“.

  22. Do pole Obsah vložte následující kód:

    {
      "SourceObjectName": "IOMLabOrderIntakeProvider",
      "DestinationObjectName": "Dataverse Order"
    }
    
  23. Zvolte možnost Uložit.

  24. Vyberte Nový krok, přidejte akci Inicializovat proměnnou a přejmenujte ji na „Inicializovat výsledek provedení zpracování“.

  25. Do pole Název zadejte „ExecutionResult“.

  26. V poli Typ vyberte Logická hodnota.

  27. V poli Hodnota vyberte true.

  28. Zvolte možnost Uložit.

    Inicializace výsledku zpracování

  29. Vyberte Nový krok, přidejte „rozsah“ a přejmenujte na „Try“

  30. V rozsahu Try vyberte Přidat akci.

  31. Přidejte „provést nesvázanou akci“ z konektoru Dataverse a přejmenujte ji na „Potvrdit zprávu poskytovatele v IOM“.

  32. Do pole Název akce zadejte „msdyn_CreateProviderMessageRequestExecution“.

  33. Do pole PowerAutomateWorkflowId zadejte workflow()['tags']['xrmWorkflowId'] jako výraz.

  34. Do pole PowerAutomateRunId zadejte workflow()['run']?['name'] jako výraz.

  35. Do pole ProviderExternalRequestId zadejte guid() jako výraz.

  36. Zvolte možnost Uložit.

    Potvrzení zprávy poskytovatele

  37. Vyberte Přidat akci a poté přidejte ovládací prvek Použít na každý.

  38. V poli Vybrat výstup z předchozích kroků vyberte Přílohy.

    Aplikujte na každý ovládací prvek

  39. 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“.

  40. Vyberte podřízený tok Transformátor poskytovatele IOM.

  41. V poli ID poskytovatele vyberte proměnnou ProviderId.

  42. V poli Název zdrojového objektu vyberte proměnnou SourceObjectName.

  43. V poli Název cílového objektu vyberte proměnnou DestinationObjectName.

  44. Do pole Datová část zadejte decodeBase64(items('Apply_to_each')?['ContentBytes']) jako výraz.

  45. Zvolte možnost Uložit.

    Transformujte zprávu pomocí Power Query

  46. 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“.

  47. Do pole Podřízený tok zadejte „Vytvoření prodejní objednávky IOM“.

  48. Do pole Datová část zadejte string(json(outputs('Transform_Message_with_Power_Query_Online')?['Body']?['result'])?[0][0]) jako výraz.

  49. Zvolte možnost Uložit.

    Vytvoření objednávky

  50. Sbalte rozsah Try výběrem jeho záhlaví.

  51. Vyberte Nový krok, přidejte rozsah a přejmenujte ho na „Catch“.

  52. V rozsahu Catch vyberte tři tečky („...“) a pak vyberte Nakonfigurovat spuštění po.

  53. Zaškrtněte políčka selhalo a vypršel časový limit a poté vyberte Hotovo.

    Nakonfigurovat spuštění po

  54. 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ý“.

  55. Do pole Název zadejte „Executionresult“.

  56. V poli Hodnota vyberte False.

  57. Zvolte možnost Uložit.

    Nastavení akce proměnné

  58. Sbalte rozsah Catch výběrem jeho záhlaví.

  59. Vyberte Nový krok, přidejte rozsah a přejmenujte ho na „Finally“.

  60. V rozsahu Finally vyberte tři tečky („...“) a pak vyberte Nakonfigurovat spuštění po.

  61. Zaškrtněte políčka je úspěšný, selhal, je přeskočení a vypršel a vyberte Hotovo.

    Konfigurace spuštění po (rozsah Finally)

  62. 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“.

  63. Do pole Název akce zadejte „msdyn_UpdateProviderMessageRequestStatus“.

  64. Do pole ProviderMessageRequestExecutionId zadejte @outputs('Acknowledge_the_Provider_Message_in_IOM')?["body/ProviderMessageRequestExecutionId'].

  65. Zvolte možnost Uložit.

    Uložení výsledku provedení požadavku zprávy poskytovatele

Přidání definice logiky definice poskytovatele do definice poskytovatele

Pro přidání definice logiky definice poskytovatele do definice poskytovatele postupujte následovně.

  1. V aplikaci Intelligent Order Management přejděte na Poskytovatelé > Katalog.
  2. Vyberte nově vytvořenou hodnotu IOMLabOrderIntakeProvider.
  3. V liště nabídky vyberte příkaz Upravit.
  4. Vyberte karu Logické definice.
  5. Vyberte + Nová definice logiky definice poskytovatele IOM.
  6. Do pole Zobrazovaný název zadejte „Obslužná rutina požadavku zprávy na přijetí objednávky testovacího prostředí IOM“.
  7. Do pole Logický název zadejte „msdyn_LabOrderIntakeMessageRequestHandler“.
  8. Do pole Definice poskytovatele zadejte nebo vyberte „IOMLabOrderIntakeProvider“.
  9. Do pole Typ logiky zadejte „Poskytnout obslužnou rutinu zprávy“.
  10. 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“.
  11. Do pole Časový limit v minutách zadejte „2“.
  12. Do pole Maximální počet pokusů opakování zadejte „3“.
  13. Do pole Popis zadejte „Obslužná rutina požadavku zprávy na přijetí objednávky testovacího prostředí IOM“.
  14. 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.
  15. Zvolte Uložit a zavřít.
  16. 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ě.

  1. Přejděte na Power App Maker portal a přejděte na nově vytvořené řešení IOMLabProviders.
  2. Vyberte Přidat existující > Definice logiky definice poskytovatele IOM.
  3. 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ě.

  1. Přejděte na Power App Maker portal a přejděte na nově vytvořené řešení IOMLabProviders.
  2. Vyberte Přidat existující > Informace o připojení definice poskytovatele IOM.
  3. 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í.