Del via


Opprett en ny leverandør

Fullfør fremgangsmåten nedenfor for å opprette en ny leverandør. Du kan også bruke denne fremgangsmåten for å legge til eksisterende leverandører.

Definer leverandørarkitektur

Før du oppretter en leverandør, er det viktig å forstå hva du vil at leverandøren skal gjøre, og hva du vil bruke den til. Leverandører har flere komponenter, og det kan hende at du ikke trenger alle komponentene.

Bruk tabellen nedenfor til å finne ut hvilke komponenter du trenger.

Betingelse Komponent nødvendig
Tjenesten du vil opprette en leverandør for, har ikke en kobling i Power Automate.
Hvis du vil ha mer informasjon, kan du se Liste over alle Power Automate-koblinger.
Opprett en kundekobling eller bruk en generell kobling.
Leverandøren utveksler data mellom en ekstern tjeneste og Microsoft Dataverse. Leverandøren trenger en leverandørtransformasjon. Legg til en leverandørtransformasjonskomponent for hver transformasjon.
Leverandøren utfører logikk fra iverksettingsutformingen. Opprett en egen Power Automate-flyt som skal representere hver av handlingene.
Leverandøren må behandle meldinger fra en ekstern tjeneste. Opprett en meldingsbehandlerflyt for Power Automate.
Leverandøren henter meldinger fra en ekstern tjeneste med regelmessig intervall. Opprett en meldingshentingsflyt for Power Automate.
Leverandøren vil heve forretningshendelser som for øyeblikket ikke er definert i Intelligent Order Management. Opprett en ny definisjon av forretningshendelser, og legg til eksisterende hendelser.

Når du har god forståelse for løsningene, kan du fortsette å implementere leverandøren.

Opprett en leverandørløsning

Du må fullføre følgende oppgaver i denne delen for å opprette en leverandørløsning.

  • Konfigurer en egendefinert leverandør

  • Legg til en leverandørdefinisjon.

  • Legg til komponentene i løsningen.

Konfigurer en egendefinert leverandør

Opprett en løsning i Power Apps som inneholder komponentene til leverandøren. Følg trinnene i Opprett en løsning for Power Apps for å opprette en ny løsning i Power Apps.

Legg til en leverandørdefinisjon

En leverandørdefinisjon inneholder detaljer om leverandøren. Definisjonen bestemmer hvordan leverandøren vil vises i leverandørkatalogen.

  1. Velg Ny i leverandørløsningen du opprettet.

  2. Velg IOMLeverandørdefinisjon.

  3. Legg til følgende detaljer:

    1. Visningsnavn: Navnet du vil gi leverandøren, for eksempel «Testleverandør».

    2. Logisk navn: Eksportnøkkelen for leverandøren.

    3. Beskrivelse: Tekst for å beskrive hva leverandøren din gjør.

  4. Velg Lagre.

  5. Hvis du vil legge til en logo, kan du laste opp bildet.

  6. Valider at leverandørdefinisjonen vises i løsningen. Det skal vises en post med komponenttypen IOM-leverandørdefinisjon. Hvis den ikke vises, velger du Legg til eksisterende, og deretter velger du posten du nettopp opprettet.

  7. Valider at leverandøren vises i leverandørkatalogen. Hvis du setter feltet Er aktiv til Ja, vises leverandørdefinisjonen i leverandørkatalogen. Åpne Intelligent Order Management. Gå til Leverandører > Katalog. Kontroller at leverandørdefinisjonen vises.

Legg til komponenter i løsning

Når du har opprettet leverandørdefinisjonen, legger du til leverandørkomponentene i løsningen.

  1. Gå til løsningen.

  2. Velg Legg til eksisterende.

  3. Velg komponenttypen for Intelligent Order Management, og velg deretter posten du nettopp opprettet.

Opprett en leverandørtransformasjon

Hvis leverandøren krever en transformasjon, må du legge til en leverandørtransformasjonskomponent i løsningen. Det kan hende at du må opprette flere transformasjoner.

  1. Velg Ny i leverandørløsningen.

  2. Velg IOM-leverandørdefinisjonstransformasjon

  3. Legg til følgende detaljer:

    1. Visningsnavn: Navnet på leverandørtransformasjonen, for eksempel "Transformer salgsordrer".

    2. Logisk navn: Den unike identifikatoren til leverandøren din. Denne verdien vil være import- og eksportnøkkelen for dataene. Den bør starte med prefikset til utgiveren. Microsoft bruker for eksempel prefikset msdyn_. Eksempler på logisk navn er: msdyn_flexe_fulfillmentorderproduct_orderline og msdyn_flexe_fulfillmentorder_order.

    3. Kildetype: Dette feltet angir hvilken type data som er mottatt. Det finnes to alternativer: JsonDocument eller Dataverse-enhet. Hvis dataene allerede er i Dataverse, velger du Dataverse-enhet. Hvis ikke velger du JsonDocument. Denne informasjonen blir brukt i Power Automate-elementet du definerer til å slå opp transformasjonen.

    4. Kildeobjektnavn: Navnet på dataene du transformerer. Hvis du transformerer en Dataverse-post, må du kontrollere at kildeobjektnavnet har samme navn som i Dataverse-tabellen.

    5. Målobjektnavn: Målet for oppføringen du vil transformere.

    6. Transformasjon: Online Power Query MQuery som vil bli brukt til å transformere inngangsdataene. Hvis du vil ha mer informasjon om Power Query og MQuery, kan du se Hva er Power Query? og Power Query M-formelspråkreferanse. Følgende er et eksempel på en MQuery som transformerer en salgsordre fra en ekstern ordreservice til en salgsordre i Intelligent Order Management.

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. Velg Lagre.

  2. Valider at transformasjonskomponenten vises riktig. En komponenttype for IOM-leverandørdefinisjonstransformasjon med transformasjonsnavnet vises. Hvis det ikke vises, velger du Legg til eksisterende, og deretter velger du transformasjonen du nettopp opprettet.

Legg til definisjoner av forretningshendelse

Hvis leverandøren vil opprette eller bruke nye forretningshendelser, må du legge til komponenter for Forretningshendelsesdefinisjon for IOM-leverandørdefinisjon i løsningen. Du trenger bare å legge til forretningshendelser som ikke allerede er i Intelligent Order Management.

Hvis forretningshendelsen du vil opprette, ikke allerede er i Intelligent Order Management, kan du opprette din egen.

  1. Velg Ny.

  2. Velg Definisjon av forretningshendelse for IOM-leverandørdefinisjon.

  3. Legg til følgende detaljer:

    1. Navn: Navnet på bedriftsarrangementet ditt.

    2. Leverandør: Leverandøren du oppretter denne forretningsdefinisjonen for.

    3. Tilknyttet enhet: Enheten Dataverse i Intelligent Order Management som endres eller påvirkes når hendelsen opprettes.

    4. Tilknyttet tilstandsverdi: Hvis du vil at statusen til den tilknyttede enheten skal oppdateres når forretningshendelsen heves, inkluderer du en statusverdi i dette feltet.

    5. Tilknyttet statusverdi: Hvis du vil at statusen for den tilknyttede enheten skal oppdateres når forretningshendelsen heves, inkluderer du en statusverdi i dette feltet.

  4. Velg Lagre.

  5. Kontroller løsningen for å kontrollere at posten Definisjon for forretningshendelse for IOM-leverandør vises. Hvis posten ikke vises i løsningen, velger du Legg til eksisterende og velger deretter posten du nettopp opprettet.

Legg til en kobling

Hvis leverandøren trenger en kobling som det ikke er tilgjengelig i Power Automate, må du opprette din egen kobling. Hvis du vil ha mer informasjon, se Liste over alle Power Automate-koblinger.

Følg trinnene i Oversikt over egendefinerte koblinger for å opprette din egen Power Automate-kobling.

Når du har opprettet den egendefinerte koblingen, legger du den til i leverandørløsningen som en komponent.

  1. Gå til leverandørløsningen.

  2. Velg Legg til eksisterende.

  3. Merk koblingen som du opprettet.

Typer Power Automate-flyter

Alle handlinger som utføres i iverksettingsutformingen, representeres av Power Automate-flyter. Hvis du vil Power Automate hente bestemt informasjon eller utføre bestemte handlinger, må du opprette flyten for disse handlingene. Hvis du vil vite mer om Power Automate, kan du se Innføring i Power Automate.

Legg til flyten som komponenter for leverandørdefinisjonslogikkdefinisjon i leverandøren.

Før du begynner flytopprettingsprosessen, må du gå gjennom flyttypene som brukes i Intelligent Order Management.

Meldingshåndterer for leverandør

Disse flytene mottar og behandler meldinger fra en ekstern tjeneste og hever den riktige forretningshendelsen for å varsle Intelligent Order Management-iverksetting. Disse flytene utløses av en ekstern tjeneste.

Nedenfor finner du en eksempelstruktur for hvordan du oppretter en type for meldingsbehandler for Power Automate-flyt.

  1. Definer en Power Automate utløser. Dette er vanligvis et HTTP-endepunkt som er en webhook-utløser (anbefales), koblingsutløser eller en Dataverse-innsettingsutløser. Utløseren heves når en ekstern tjeneste har data som skal sendes til Intelligent Order Management. Skjermbilde av utløseren for når en HTTP-forespørsel mottas.

JSON-skjemaet som skal brukes i HTTP-utløseren, defineres nedenfor.

{
    "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. Initialiser meldingsbehandlingen. Denne oppgaven har to trinn.

    1. Initialiser utførelsesresultatet som skal brukes til å spore behandling av meldingen.

    2. Godkjenn leverandørmeldingen i Intelligent Order Management slik at du kan spore, gjøre et nytt forsøk og vise behandlingsstatusen. Dette er en Power Automate-handling som Intelligent Order Management introduserer. Denne handlingen kalles forespørsel om godkjenning av leverandørmelding i IOM. Denne handlingen har følgende obligatoriske parametere.

      1. PowerAutomateWorkflowId: WorkflowId i definisjonen av meldingsbehandling. Du kan hente denne ved å ha en skrivefunksjon med workflow()['tags'].

      2. PowerAutomateRunId: Den unike identifikatoren for kjøringen Power Automate som mottok meldingen, og som gjør det mulig for pipelinen å prøve behandlingen på nytt og opprette en kobling kjøringsloggene. Du kan hente denne ved å ha en skrivefunksjon med workflow()['run']?['name'].

      3. ProviderMessageExternalRequestId: En identifikator for meldingen som sendes. Hvis det ikke finnes en identifikator, kan du generere en GUID. Denne identifikatoren brukes av et forløp for å forhindre at avsenderen sender duplikatmeldinger. Identifikatoren er avhengig av kildenyttelasten. Eksempel: concat(triggerOutputs()?['body']?['type']?['name'], '_', triggerOutputs()?['body']?['id']).

Skjermbilde av forespørselsskjermbildet for å godkjenne leverandørmelding.

  1. Leverandørtransformasjonen du definerte tidligere, vil hente inndataene og transformere dem. Intelligent Order Management gir en ut av standard underordnet flyt som kalles IOM-leverandørtransform, som utfører transformasjonen. Legg til følgende detaljer for å behandle hendelsen eller meldingen:

    1. Leverandørnavn: Navnet på leverandøren som er koblet til meldingsbehandleren. Denne verdien må ha samme navn som leverandørtransformasjonen.

    2. Navn på kildeobjekt: Nøkkelverdien for kildeoppslag for transformasjonen som skal utføres. Denne verdien må være den samme som kildeobjektnavnet som er definert i leverandørtransformasjonen.

    3. Målobjektnavn: Måloppslagsnøkkelverdien for transformasjonen som skal utføres. Denne verdien må være den samme verdien som er definert i leverandørtransformasjonen.

    4. Nyttelast: Leveres ved transformering av en JSON-nyttelast. Power Automate krever at parameterne sendes som en serialisert streng. Forsyn en verdi for nyttelast eller en post-ID, ikke begge deler.

    5. Oppførings-ID: Oppgis ved transformering av en Dataverse oppføring. Forsyn en verdi for nyttelast eller en post-ID, ikke begge deler.
      Skjermbilde for transformmelding med Power Query Online.

  2. Du kan sette inn data i Dataverse ved hjelp av HTTP-forespørsler eller Dataverse-koblingens Sett inn-handling. Hvis du gjør mer enn én innsetting og vil ha bedre ytelse, bør du sette inn innsettingene i et endringssett, slik at forespørslene finnes i et transaksjonsparti.
    Skjermbilde av meldingsflyten for innsetting.

  3. Hvis du vil at flyten skal heve en forretningshendelse, kan du bruke den underordnede flyten Opprett forretningshendelse. Legg til følgende detaljer.

    1. BusinessEventName: Navnet på arrangementet du vil heve.

    2. EntityRecordId: ID-en til oppføringen som nettopp ble opprettet og knyttet til hendelsen.

  4. Oppdater statusen til meldingsbehandlingen ved å bruke handlingen Oppdater meldingsforespørselsstatus for å lagre resultatet av behandlingsutførelsen. Legg til følgende detaljer.

    1. ProviderMessageRequestExecutionId: Utdata-IDen for oppføringen som ble opprettet for å spore fremdriften for meldingsbehandlingen.

    2. IsProviderMessageRequestExecutionSuccess: boolsk verdi for å angi om behandlingen var vellykket.

Meldingshenting

Meldingshenting er Power Automate-flyter som henter melding ved et regelmessig angitt intervall fra en ekstern tjeneste.

Notat

En meldingsbehandler er en forutsetning for en meldingshentingsflyt.

Nedenfor finner du en eksempelstruktur for hvordan du oppretter en type for meldingshenting for Power Automate-flyt.

  1. Bruk en gjentakelsesarbeidsflyt til å planlegge en utløser.

  2. Hent et kontrollpunkt fra Dataverse. Kontrollpunkt sporer hvilke meldinger som har hentet fra den eksterne leverandøren. Legg til følgende detaljer.

    1. Tiltaksnavn: Navn på sjekkpunktet.

    2. WorkflowId: Angi følgende skrivefunksjon for å hente denne informasjonen: workflow()['tags']['xrmWorkflowId'].
      skjermbilde av Hent kontrollpunkt.

  3. Opprett en HTTP-postforespørsel til en ekstern leverandør for å hente meldingene. Legg til følgende detaljer.

    1. Metode: Sett dette feltet til POST.

    2. URL-adresse: Det eksterne leverandørendepunktet.

    3. Brødtekst: JSON-forespørselen skal ha følgende formel: if(empty(outputs('Get_Checkpoint')?[' body/Checkpoint']), 0, int(outputs('Get_Checkpoint')?[' kropp/sjekkpunkt'])).
      Skjermbilde for Hent meldinger.

  4. Analyser meldingene hentet i trinn 3. Legg til følgende detaljer.

    1. Innhold: Kroppen hentet fra trinn 3.

    2. Skjema: Strukturen i kroppen hentet i trinn 3.
      Skjermbilde for Analyser meldinger.

  5. Behandle meldinger slik at de går gjennom hver melding fra trinn 4.

  6. Analyser hver melding fra de forrige trinnene. Legg til følgende informasjon.

    1. Innhold: Gjeldende element fra Behandle meldinger.

    2. Skjema: Én enkelt melding i JSON-format.
      Skjermbilde for Behandle meldinger 2.

  7. Ring den tilknyttede leverandørmeldingsbehandleren du har definert i forutsetningene. Legg til følgende informasjon.

    1. underordnet flyt: Velg leverandørens meldingsbehandling.

    2. Melding: Meldingen er analysert fra trinn 6.
      Skjermbilde for Behandle meldinger 3.

  8. Lagre kontrollpunktet til Dataverse. Legg til følgende informasjon.

    1. Sjekkpunkt: Dette kan være en hvilken som helst strengverdi (maks. 100). I dette eksemplet er dette ID-en til den siste behandlede meldingen.

    2. WorkFlowId: Du kan hente denne ID-en ved å legge til en skrivefunksjon satt til workflow()['tags']['xrmWorkflowId'].
      Skjermbilde for Behandle meldinger 4.

Leverandørhandling

Flyter av leverandørhandling startes fra iverksettingsutformingen. Disse flytene foretar vanligvis kall fra Intelligent Order Management til eksterne tjenester.

Nøkkelforskjellen mellom en leverandørmeldingsbehandler og en leverandørhandling er at mens en meldingsbehandler kan varsle iverksettingsutformingen, kan den ikke utløses av en handlingsflis i iverksettingsutformingen, mens en leverandørhandling kan.

Nedenfor finner du en eksempelstruktur for en Power Automate-flyt for leverandørhandling.

  1. Start med en HTTP-utløser. Følgende informasjon blir sendt i kjøretid av iverksettingstjenesten. Følgende JSON-skjema brukes for hovedteksten:
{
    "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. Initialiser handlingsbehandlingen.

    1. Start resultatet av utførelsen og eventuelle andre behandlingsvariabler.

    2. Godkjenn starten på handlingsutførelsen ved å bruke Dataverse-handlingen Start leverandørhandlingsutførelse. Dette gjør at et forløp kan spore, gjøre et nytt forsøk og vise behandlingsstatusen i Intelligent Order Management. Legg til følgende informasjon.

      1. ProviderActionExecutionEventId: Denne verdien ble sendt inn i handlingen som en inndataparameter i trinn 1.

      2. PowerAutomateRunID: Den unike kjøringen av handlingen Power Automate . Dette gjør at forløpet kan koble utførelsesloggene. Hent denne informasjonen ved å sette feltet til en Power Automate-uttrykk worflow()['run']?['name'].

  2. Utfør handlingen.

    1. Om nødvendig kan du transformere postene ved hjelp av den underordnede flyten Transformer melding med Power Query Online.

      1. Leverandørnavn: Navnet på leverandøren som skal knyttes til handlingen. Navnet må vøre samme navn som leverandørdefinisjonen.

      2. Kildeobjektnavn: Kildenavnet for transformasjonen som skal utføres. Dette navnet må være det samme kildeobjektet som er definert i Power Automate-transformasjonen.

      3. Navn på målobjekt: Måloppslagsnøkkelverdien for transformasjonen som skal utføres. Dette navnet må være den samme verdien som er definert i leverandørtransformasjonen.

      4. Nyttelast: Leveres ved transformering av en innkommende JSON-nyttelast. Power Automate krever at parameterne sendes som en serialisert streng. Legg til en verdi for nyttelast eller en post-ID, men ikke begge deler.

      5. Oppførings-ID: Oppgis ved transformering av en utgående Dataverse oppføring. Legg til en verdi for nyttelast eller en post-ID, men ikke begge deler.
        Skjermbilde for transformmelding med Power Query Online.

    2. Utfør eventuelle egendefinerte handlinger du har definert. Dette er handlinger som finnes på Power Automate-koblingen du bruker.

    3. Øk en handlingsspesifikk forretningshendelse. Bruk den underordnede flyten Hev forretningshendelse. Legg til følgende informasjon.

      1. BusinessEventName: Navnet på arrangementet du vil utheve.

      2. EntityRecordId: ID-en til oppføringen som er knyttet til hendelsen.

  3. Fullfør handlingsutførelsen og lagre resultatene. Resultatene behandles av iverksettingsutformingen. Legg til følgende informasjon.

    1. ExecutionResult: boolsk verdi for å indikere om behandlingen var vellykket.

    2. ExecutionDetails: Valgfrie loggdetaljer for test- og feilsøkingsformål.

    3. ProviderActionExecutionEventId: Denne verdien ble sendt inn i handlingen som en inndataparameter som ble definert i trinn 1.
      Skjermbilde av utføringen av fullstendig leverandørhandling.

Underordnet flyt

En underordnet flyt er en underflyt som det refereres til i andre Power Automate-flyter. Det er nyttig å definere en underordnet flyt hvis det er noen trinn du gjentar på tvers av flere områder. Det er ingen bestemt mal eller anbefalt prosess for underordnede flyter fordi de primært skal brukes slik at du lettere kan konsolidere lignende trinn.

Underordnede flyter for leverandører kan ikke kalle andre underordnede flyter for leverandør.

Opprett skyflyter

Når du forstår hvilke typer flyter du vil opprette, er du klar til å opprette skyflyter. Følg disse trinnene hvis du vil gjøre dette:

  1. Åpne standardløsningen i Power Apps-miljøet.

Viktig

Ikke legg til disse løsningene i leverandørløsningen.

  1. Velg Ny, og velg deretter Skyflyt.

  2. Bygg Power Automate-flyten. Bruk malene i den forrige delen som referanse.

  3. Se i delen nedenfor for å lagre flytene.

Lagre Power Automate-definisjon

Når du har opprettet flytene, må du lagre dem som komponenter for logikkdefinisjon for leverandørdefinisjon. Denne komponenttypen gir Intelligent Order Management handlingene som skal distribueres under leverandøraktivering.

Du må ha følgende forutsetninger før du kan lagre flytene.

  • Hvis du vil lagre Power Automate-logikkdefinisjonene, må du utstede OData-forespørsler. For å gjøre dette trenger du en konto hos PostMan eller en lignende tjeneste.

  • Du må generere et tilgangstoken til Dataverse-miljøet for å utstede GET- og POST-forespørsler.

    • Definer en Azure-konto med et aktivt abonnement. Hvis du ikke har noen aktiv konto, må du opprette en konto på Azure-nettstedet.

    • PowerShell må være installert. Hvis du vil ha mer informasjon, kan du se Installer PowerShell.

    • Angi følgende kommando i PowerShell for å få et tilgangstoken: az login --allow-no-subscriptions account get-access-token --resource=https://YourDataverseTenantURL.api.crm.dynamics.com/ --query=accessToken --output=tsv | Set-Clipboard.

Gjør følgende for å lagre Power Automate-definisjonen:

  1. Finn arbeidsflyt-ID-en for Power Automate-flyten du vil lagre. Gjør et av følgende.

    1. Finn arbeidsflyt-ID-en ved å bruke en Power Automate-handling.

      1. Opprett en skrivehandling med workflow()-uttrykket () på slutten av Power Automate-flyten.
        Skjermbilde av skrivehandling.

      2. Kjør Power Automate.

      3. XrmWorkflowId-egenskapen fra utførelsesresultatene vil inneholde arbeidsflyt-ID-en.
        Skjermbilde av arbeidsflyt-ID.

      4. Slett denne handlingen fra flyten, slik at den ikke kjøres på nytt.

    2. Du kan også utstede en Hent OData-forespørsel.

      1. Gå til flyten du vil lagre arbeidsflyt-ID-en for. Finn den unike identifikatoren for nettadressen. Dette er ID-en som vises etter .. /flows/ i nettadressen.
        Slik finner du unik identifikator.

      2. Utsted en OData-forespørsel om å hente arbeidsflytmetadata. Nedenfor finner du et eksempel på en GET-forespørsel.
        GET {Env url}/api/data/v9.1/workflows?$filter=workflowidunique eq '{Unique Workflow Id from the Power Automate U}'&$select=workflowid,workflowidunique

      3. Lagre den returnerte workflowid-egenskapen.

  2. Finn leverandørdefinisjon-ID-en.

    1. Velg leverandørdefinisjonen som du vil lagre flyten til.

    2. Kopier leverandørdefinisjon-ID-en fra nettadressen. Dette er delen av nettadressen ../id={eksempelnummer}/.
      Slik finner du leverandørdefinisjon-ID-en.

  3. Noter deg alternativsettverdien for typen Power Automate du lagrer.

    1. underordnet flyt: 192350002

    2. Leverandørhandling: 192350001

    3. Meldingsbehandling for leverandør: 192350000

    4. meldingshenting: 192350003

  4. Utsted en POST-forespørsel for å lagre Power Automate-definisjonen. Nedenfor finner du et eksempel på en forespørsel.

    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. Valider at komponenten for leverandørdefinisjonslogikkdefinisjonen ble lagt til. Følg disse trinnene hvis du vil gjøre dette:

    1. Gå til leverandørløsningen.

    2. Bekreft at leverandørdefinisjonslogikkdefinisjonen du opprettet, ble lagt til. Hvis den ikke er lagt til, velger du Legg til eksisterende og legger deretter til komponenten du opprettet.

Lagre tilkoblingsreferanser

Hvis leverandøren bruker Power Automate-kundekoblinger, må du fullføre følgende trinn for å lagre tilkoblingsreferanser til Power Automate-løsningen.

  1. Utsend en GET-forespørsel om å hente tilkoblingsreferanse-ID-en. For eksempel
GET {Env url}/api/data/v9.2/connectionreferences

Hvis du vil filtrere det ytterligere, kan du filtrere etter tilkoblingsreferansenavn. For eksempel

    {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. Valider at den riktige tilkoblingsreferanse-ID-en ble hentet ved å søke i Power Automate-klientdataene.

    1. Gå til komponenten for leverandørdefinisjonslogikkdefinisjonen du lagret tidligere.

    2. Kontroller at klientdataene for å kontrollere at connectionReferenceLogicalName vises.

  2. Finn leverandørdefinisjon-ID-en. Dette er den samme verdien som du brukte i trinn 2 til å lagre Power Automate-logikkdefinisjonene.

  3. Utsend en POST-forespørsel for å lagre tilkoblingsreferansen. For eksempel

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

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

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

}
  1. Valider at komponenten for leverandørdefinisjonslogikkdefinisjonen ble lagt til.

    1. Gå til leverandørløsningen.

    2. Bekreft at referansekomponenten for leverandørdefinisjonslogikkdefinisjonen du opprettet, ble lagt til. Hvis den ikke er lagt til, velger du Legg til eksisterende og legger deretter til komponenten du nettopp opprettet.

Del leverandørene

Hvis du vil bruke leverandørdefinisjonen i et annet miljø eller dele løsningen, kan du eksportere leverandørløsningen. Hvis du vil ha mer informasjon, kan du se Eksporter løsninger.