Opprett inntaksleverandør
Dette emnet beskriver trinnene som kreves for å opprette en inntaksleverandør i Microsoft Dynamics 365 Intelligent Order Management.
Opprett ny leverandørdefinisjon
Hvis du vil opprette en ny leverandørdefinisjon, følger du disse trinnene.
- Gå til Leverandører > Katalog.
- Velg Ny leverandørdefinisjon.
- For Visningsnavn skriver du inn IOMLabOrderIntakeProvider.
- For Logisk navn skriver du inn msdyn_IOMLabOrderIntakeProvider.
- For Logo velger du IOMLab.png.
- Angi Ordreinntak for Servicetype.
- For Beskrivelse angir du IOM lab-ordreinntaktsleverandør.
- Velg Lagre og lukk.
Legg til leverandørdefinisjon i løsning
Hvis du vil legge til en leverandørdefinisjon i en løsning, gjør du følgende.
- Gå til Power App Maker Portal og naviger til den nyopprettede løsningen IOMLabProviders.
- Velg Legg til eksisterende > IOM-leverandørdefinisjon.
- Velg IOMLabOrderIntakeProvider, og velg deretter Legg til for å legge den til i løsningen.
Legg til transformasjon i leverandørdefinisjonen
Hvis du vil legge til en transformasjon i leverandørløsningen, gjør du følgende.
- Gå til Leverandører > Katalog.
- Velg den nyopprettede IOMLabOrderIntakeProvider.
- Velg Rediger på menylinjen.
- Velg kategorien Transformasjoner.
- Velg + Ny IOM-leverandørdefinisjonstransformasjon
- For Visningsnavn skriver du inn IOMLab Ordre til Dataverse-ordre.
- For Logisk navn skriver du inn msdyn_IOMLabOrderIntake_Order.
- For Leverandørdefinisjon angir eller velger du IOMLabOrderIntakeProvider.
- For Kildeobjektnavn skriver du inn IOMLabOrderIntakeProvider.
- For Målobjektnavn angir du Dataverse-ordre.
- For Transformasjon limer du inn i følgende M-spørringskode:
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));
- For Transformasjonskildetype angir du JsonPayload.
- Velg Lagre.
- Opprett en JSON-fil, lim inn følgende kode og lagre den.
{
"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
}
]
}
- Ved siden av Eksempeldata-feltet velger du Velg fil og laster opp JSON-filen du opprettet.
- Velg Lagre og lukk.
Legg til leverandørdefinisjonstransformasjon i definisjonen
Hvis du vil legge til en leverandørdefinisjonstransformasjon i en løsning, gjør du følgende.
- Gå til Power App Maker Portal og naviger til den nyopprettede løsningen IOMLabProviders.
- Velg Legg til eksisterende > IOM-leverandørdefinisjonstransformasjon.
- Velg IOMLab Ordre til Dataverse-ordre, og velg deretter Legg til for å legge den til i løsningen.
Opprett meldingshåndterer for leverandør
Følg denne fremgangsmåten for å opprette en meldingshåndtereren for leverandør.
Gå til Power App Maker Portal, naviger til Løsninger og åpne Standardløsning.
Velg Ny.
Velg Skyflyt, og gi den deretter navnet IOM Lav, meldingshåndtereren for ordreinntak.
Velg utløsertypen som Outlook.com – Når en ny e-post ankommer (V2) og logg deg deretter på med outlook.com-kontolegitimasjonen.
Velg Innboks for Mappe.
Velg Mottaker-e-postadresser atskilt med semikolon for Til.
Velg Kopimottaker-e-postadresser atskilt med semikolon for Kopi.
Velg Til- eller kopimottaker-e-postadresser atskilt med semikolon for Til eller Kopi.
Velg Avsender-e-postadresser atskilt med semikolon for Fra.
Velg Ja for Ta med vedlegg.
Velg IOMLabOrderIntakeOrder for Emnefilter.
Velg Alle for Viktighet.
Velg Ja for Bare med vedlegg.
Velg Nytt trinn og legg til Analyser JSON.
For Innhold limer du inn følgende kode:
{ "ProviderId": "00000000-0000-0000-0000-000000000000" }
Lim inn direkte i følgende eksempelskjemakode:
{ "type": "object", "properties": { "ProviderId": { "type": "string" } } }
Velg Ferdig.
Velg ellipseknappen (...), og velg deretter Gi nytt navn.
Gi handlingen nytt navn til IOM-systemegenskaper.
Velg Lagre.
Velg Nytt trinn, legg til en Analyse JSON-handling og gi nytt navn til Initialiser leverandørvariabler.
For Innhold limer du inn følgende kode:
{ "SourceObjectName": "IOMLabOrderIntakeProvider", "DestinationObjectName": "Dataverse Order" }
Velg Lagre.
Velg Nytt trinn, legg til en Initialiser variabel-handling og gi nytt navn til Initialiser resultatet av behandlingsutførelsen.
For Navn skriver du inn ExecutionResult.
Velg Boolsk for Type.
Velg sann for Verdi.
Velg Lagre.
Velg Nytt trinn, legg til område og gi nytt navn til Prøv.
I Prøv-området velger du Legg til en handling.
Legg til utfør en ubundet handling fra Dataverse-koblingen og gi den nytt navn som Godkjenn leverandørmelding i IOM.
For Handlingsnavn skriver du msdyn_CreateProviderMessageRequestExecution.
For PowerAutomateWorkflowId kan du angi
workflow()['tags']['xrmWorkflowId']
som et uttrykk.For PowerAutomateRunId kan du angi
workflow()['run']?['name']
som et uttrykk.For ProviderExternalRequestId kan du angi
guid()
som et uttrykk.Velg Lagre.
Velg Legg til en handling, og legg deretter til en Bruk på hver-kontroll.
Velg Vedlegg for Velg utdata fra tidligere trinn.
Velg Legg til en handling i Bruk på hver-løkke, legg til Kjør en underordnet flyt fra Flyt-koblingen, og gi den nytt navn som Transformer melding med Power Query Online.
Velg den underordnede flyten IOM-leverandørtransformer.
For Leverandør-ID velger du ProviderId-variabelen.
For Kildeobjektnavn velger du SourceObjectName-variabelen.
For Målobjektnavn velger du DestinationObjectName-variabelen.
For Nyttelast kan du angi
decodeBase64(items('Apply_to_each')?['ContentBytes'])
som et uttrykk.Velg Lagre.
Etter transformeringstrinnet velger du Legg til en handling, legger til Kjør en underordnet flyt fra Flyt-koblingen og gir den nytt navn som Opprett ordre.
For Underordnet flyt skriver du inn IOM-salgsordreoppretting.
For Nyttelast kan du angi
string(json(outputs('Transform_Message_with_Power_Query_Online')?['Body']?['result'])?[0][0])
som et uttrykk.Velg Lagre.
Skjul Prøv-området ved å velge tittellinjen.
Velg Nytt trinn, legg til et område med navnet Registrer.
Velg ellipsen (...) i Registrer-området, og velg Konfigurer kjør etter.
Merk av for har mislyktes og ble tidsavbrutt, og velg deretter Fullført.
I Registrer-området velger du Legg til en handling, legger til en Settvariabel-handling og gir den nytt navn som Sett utførelsesresultatet til mislykket.
For Navn skriver du inn Executionresult.
For Verdi velger du Usann.
Velg Lagre.
Skjul Registrer-området ved å velge tittellinjen.
Velg Nytt trinn, legg til et område med navnet Til slutt.
Velg ellipsen (...) i Til slutt-området, og velg Konfigurer kjør etter.
Merk av for er vellykket, har mislyktes og er hoppet over og ble tidsavbrutt, og velg deretter Fullført.
I Til slutt-området velger du Legg til en handling, legger til en Utfør en ubundet handling-handling og gir den nytt navn til Lagre resultat for kjøringer av forespørsel om leverandørmelding.
For Handlingsnavn skriver du msdyn_UpdateProviderMessageRequestStatus.
For ProviderMessageRequestExecutionId angir du
@outputs('Acknowledge_the_Provider_Message_in_IOM')?["body/ProviderMessageRequestExecutionId']
.Velg Lagre.
Legg til logikkdefinisjon for leverandørdefinisjon i leverandørdefinisjonen
Følg denne fremgangsmåten for å legge til en logikkdefinisjon for leverandørdefinisjon i leverandørdefinisjonen.
- I Intelligent Order Management-programmet går du til Leverandører > Katalog.
- Velg den nyopprettede IOMLabOrderIntakeProvider.
- Velg Rediger på menylinjen.
- Velg fanen Logikkdefinisjoner.
- Velg + Ny logikkdefinisjon for IOM-leverandørdefinisjon.
- For Visningsnavn angir du IOM Lab, Forespørselsbehandler for inntaksmelding.
- For Logisk navn skriver du inn msdyn_LabOrderIntakeMessageRequestHandler.
- For Leverandørdefinisjon angir du IOMLabOrderIntakeProvider.
- For Logikktype angir du Meldingshåndterer for leverandør.
- For Arbeidsflytnavn angir du IOM Lab, Forespørselsbehandler for inntaksmelding.
- For Tidsavbrutt i minutter angir du 2.
- For Maks antall nye forsøk skriver du inn 3.
- For Beskrivelse angir du IOM Lab, Forespørselsbehandler for inntaksmelding.
- Velg Lagre. Dette genererer en JSON-representasjon av skyflyten for meldingsbehandleren og fyller ut Klientdata-feltet.
- Velg Lagre og lukk.
- Velg Tilkoblinger. Du skal se både Microsoft Dataverse- og Outlook.com-tilkoblingsreferansedefinisjonene oppført.
Notat
Hvis du ser andre tilkoblingsreferansedefinisjoner enn Microsoft Dataverse og Outlook.com, betyr det at du bruker mer enn én Dataverse-tilkoblingsreferanse i behandlingsflyten for ordreinntaksmelding. Hvis du vil korrigere dette, kan du gå til flyten og sikre at alle Dataverse-handlinger bruker samme tilkoblingsreferanse.
Legg til logikkdefinisjon for leverandørdefinisjon i IOMLabProviders-løsning
Følg denne fremgangsmåten for å legge til en logikkdefinisjon for leverandørdefinisjon i IOMLabProviders-løsningen.
- Gå til Power App Maker Portal og naviger til den nyopprettede løsningen IOMLabProviders.
- Velg Legg til eksisterende > Logikkdefinisjon for IOM-leverandørdefinisjon.
- Velg IOM Lab, Forespørselsbehandler for inntaksmelding, og velg deretter Legg til for å legge den til i løsningen.
Legg til tilkoblingsreferanse for leverandørdefinisjon i IOMLabProviders-løsning
Følg denne fremgangsmåten for å legge til en tilkoblingsreferanse for leverandørdefinisjon i IOMLabProviders-løsningen.
- Gå til Power App Maker Portal og naviger til den nyopprettede løsningen IOMLabProviders.
- Velg Legg til eksisterende > Tilkoblingsreferanse for IOM-leverandørdefinisjon.
- Velg både Microsoft Dataverse- og Outlook.com-tilkoblingsreferansedefinisjoner, og velg deretter Legg til for å legge dem til i løsningen.
Neste trinn for hurtigstartlaboratorium: Opprett oppfyllelsesleverandør.