Konfigurere egendefinerte prosesshandlinger fra en arbeidsflyt
Du kan aktivere en egendefinert prosesshandling fra en arbeidsflyt i sanntid uten å skrive kode. Mer informasjon: Aktiver egendefinerte handlinger fra en arbeidsflyt
Du kan også opprette en egendefinert prosesshandling, slik at en utvikler kan bruke den i koden, eller du må kanskje redigere en handling som er definert tidligere. Som arbeidsflytprosesser i sanntid bør du vurdere følgende:
Hva skal handlingen gjøre?
Under hvilke betingelser skal handlingen utføres?
I motsetning til arbeidsflytprosesser i sanntid trenger du ikke angi følgende alternativer:
Start når: Egendefinerte prosesshandlinger starter når koden kaller meldingen som er generert for dem.
Omfang: Egendefinerte prosesshandlinger kjøres alltid i konteksten til den anropende brukeren.
Kjør i bakgrunnen: Egendefinerte prosesshandlinger er alltid sanntidsarbeidsflyter.
Egendefinerte prosesshandlinger har også noe som arbeidsflytprosesser i sanntid ikke har – inndata- og utdataargumenter. Mer informasjon: Definer prosessargumenter
Opprett en egendefinert prosesshandling
Viktig
Hvis du oppretter en handling som skal bli inkludert som en del av en løsning som skal distribueres, kan du opprette den i forbindelse med løsningen. Gå til Innstillinger > Løsninger, og finn den uadministrert løsningen som denne handlingen skal være en del av. Velg deretter Ny > Prosess på menylinjen. Dette vil sørge for at tilpassingsprefikset knyttet til navnet på handlingen blir konsekvent med andre komponenter i løsningen. Når du har opprettet handlingen, kan du ikke endre prefikset.
Obs!
Hvis du har tenkt å skrive en plugin-modul for å implementere logikken for en egendefinert prosesshandling i stedet for å bruke arbeidsflytutformingen, bør du bruke egendefinert API i stedet. Mer informasjon: Sammenligne egendefinert prosesshandling og egendefinert API
Som arbeidsflytprosesser i sanntid har handlinger følgende egenskaper i dialogboksen Opprett prosess:
Prosessnavn
Når du har skrevet inn et navn for prosessen, opprettes et entydig navn for prosessen ved å fjerne mellomrom eller spesialtegn fra prosessnavnet.
Kategori
Denne egenskapen angir at dette er en handlingsprosess. Du kan ikke endre dette når du har lagret prosessen.
Enhet
Med handlingsprosesser kan du velge en tabell for å gi en sammenheng for arbeidsflyten i sanntid, akkurat som med andre typer prosesser, men du har også muligheten til å velge Ingen (global). Bruk dette hvis handlingen ikke krever sammenheng med en bestemt tabell. Du kan ikke endre dette når du har lagret prosessen.
Type
Bruk denne egenskapen til å velge om du vil bygge en ny egendefinert prosesshandling fra grunnen av eller starte fra en eksisterende mal.
Redigere en handling
Du må deaktivere prosesser før du kan redigere dem.
Du kan redigere en egendefinert prosesshandling som ble opprettet som en del av en uadministrert løsning eller inkludert i en løsning som er installert i organisasjonen. Hvis løsningen er en administrert løsning, kan det hende at du ikke kan redigere den. Løsningsutgiveren har muligheten til å redigere de forvaltede egenskapene slik at handlingen som installeres med en administrert løsning, ikke kan redigeres.
Når en handling lagres, genereres et unikt navn basert på prosessnavnet. Dette unike navnet har tilpassingsprefikset lagt til fra løsningsutgiveren. Dette er navnet på meldingen som en utvikler bruker i koden.
Når du redigerer en handling, har du følgende alternativer:
Navn på prosess
Når prosessen er opprettet og det unike navnet er generert fra prosessnavnet, kan du redigere prosessnavnet. Du ønsker kanskje å bruke en navnekonvensjon for å gjøre det enklere å finne bestemte prosesser.
Unikt navn
Når en egendefinert prosesshandling lagres, genereres et unikt navn basert på prosessnavnet. Dette unike navnet har tilpassingsprefikset fra løsningsutgiveren lagt til. Dette er navnet på meldingen som en utvikler bruker i koden. Ikke endre dette unike navnet hvis prosessen er aktivert og koden er på plass, bortsett fra å kalle handlingen med dette navnet.
Viktig
Når handlingen er aktivert og koden skrevet for å bruke et unikt navn, må ikke det unike navnet endres uten også å endre koden som refererer til den.
Aktiver tilbakerulling
Generelt vil prosesser som støtter transaksjoner, "angre" (eller rulle tilbake) hele operasjonen hvis en del av dem mislykkes. Det finnes unntak fra dette. Handlinger kjørt i kode av en utvikler iverksatt av den egendefinerte prosesshandlingen støtter kanskje ikke transaksjoner. Dette kan for eksempel være hvis koden utfører handlinger i andre systemer som er utenfor omfanget av transaksjonen. Disse kan ikke rulles tilbake av handlingen som kjører i en app. Enkelte meldinger i plattformen støtter ikke transaksjoner. Men alt du kan gjøre bare med brukergrensesnittet for handlingen, vil støtte transaksjoner. Alle handlinger som er en del av en sanntidsarbeidsflyt, blir tatt hensyn til i transaksjonen, men med handlinger har du muligheten til å reservere deg mot dette.
Du bør kontakte utvikleren som skal bruke denne meldingen, for å finne ut om den må være i transaksjonen eller ikke. En handling bør vanligvis være i en transaksjon hvis handlingene som utføres av en forretningsprosess, ikke har noen mening med mindre alle blir fullført. Det klassiske eksemplet er overføring av penger mellom to konti. Hvis du trekker tilbake midler fra én konto, må du sette dem inn på den andre. Hvis én av disse mislykkes, må begge mislykkes.
Obs!
- Du kan ikke aktivere tilbakerulling hvis en egendefinert prosesshandling startes direkte fra en arbeidsflyt. Du kan aktivere tilbakerulling hvis en egendefinert prosesshandling utløses av en nettjenestemelding for Power Apps.
- Hvis den definerte handlingen ikke endrer data, men bare henter data, kan det oppstå bestemte situasjoner der ytelsen kan forbedres ved å deaktivere Aktiver tilbakerulling.
Aktiver som
På samme måte som med alle prosesser kan du aktivere prosessen som en mal og bruke den som et avansert utgangspunkt for prosesser som følger et lignende mønster.
Definere prosessargumenter
I dette området kan du angi eventuelle data som handlingen forventer å starte, og hvilke data som skal sendes ut av handlingen. Mer informasjon: Definer prosessargumenter
Legge til faser, betingelser og handlinger
På samme måte som andre prosesser kan du angi hvilke handlinger som skal utføres og de skal utføres. Mer informasjon: Legg til faser, betingelser og handlinger
Definere prosessargumenter
Når en utvikler bruker en melding, kan de starte med data som de kan sende i meldingen. For å opprette en ny saksrad, kan du for eksempel ha sakstittelverdien som skal sendes inn, som inndataargumentet.
Når meldingen er fullført, må utvikleren kanskje overføre data som ble endret eller generert av meldingen, til en annen operasjon i koden. Disse dataene er utdataargumentet.
Både inndata- og utdataargumenter må ha et navn, en type og informasjon om argumentet alltid er nødvendig. Du kan også oppgi en beskrivelse.
Navnet på meldingen og informasjon om alle prosessargumentene representerer signaturen for meldingen. Når en handling er aktivert, og den brukes i kode, må ikke signaturen endres. Hvis denne signaturen endres, vil all kode som bruker meldingen, mislykkes. Det eneste unntaket til dette kan være endring av en av parametrene, så dette er ikke alltid påkrevd.
Du kan endre rekkefølgen på argumentene ved å sortere dem eller flytte dem opp eller ned fordi argumentene er identifisert etter navn, ikke etter rekkefølge. Endring av beskrivelsen vil heller ikke bryte koden som bruker meldingen.
Argumenttyper for handlingsprosess
Tabellen nedenfor beskriver argumenttypene for handlingsprosesser.
Type | Beskrivelse |
---|---|
Boolsk | En true - eller false -verdi. |
Dato/klokkeslett | En verdi som lagrer informasjon om dato og klokkeslett. |
Desimal | En tallverdi med desimalpresisjon. Brukes når nøyaktighet er ekstremt viktig. |
Tabell | En rad for den angitte tabellen. Når du velger Tabell, aktiveres rullegardinlisten, og du kan velge tabelltypen. |
entityCollection | En samling med tabellrader. |
entityReference | Et objekt som inneholder navn, ID og type for en tabellrad som identifiserer den unikt. Når du velger tableReference, aktiveres rullegardinlisten, og du kan velge tabelltypen. |
Float | En tallverdi med desimalpresisjon. Brukes når dataene kommer fra et mål som ikke er helt nøyaktig. |
Heltall | Et heltall. |
Penger | En verdi som lagrer data om et bestemt pengebeløp. |
Plukkliste | En verdi som representerer et alternativ for et OptionSet-attributt. |
String | En tekstverdi. |
Obs!
entityCollection-argumentverdier kan ikke angis i brukergrensesnittet for betingelser eller handlinger. Disse er oppgitt for bruk av utviklere i egendefinert kode. Mer informasjon: Opprett dine egne meldinger
Legge til faser og trinn
Handlinger er en type prosess som er svært lik sanntidsarbeidsflyter. Alle trinn som kan brukes i sanntidsarbeidsflyter, kan brukes i handlinger. Hvis du vil ha informasjon om trinnene som kan brukes både for sanntidsarbeidsflyter og handlinger, kan du gå til Arbeidsflytfaser og -trinn.
I tillegg til trinnene som kan brukes for sanntidsarbeidsflyter, har handlinger også trinnet Tilordne verdi. I handlinger kan disse bare brukes til å angi utdataargumenter. Du kan bruke skjemahjelperen til å angi utdataargumenter til bestemte verdier, eller mer sannsynlig til verdier fra raden som handlingen kjører mot, rader knyttet til denne raden med en mange-til-én-relasjon, rader opprettet i et tidligere trinn eller verdier som er en del av selve prosessen.
Forvaltede egenskaper
Egendefinerte prosesshandlinger har to relevante administrerte egenskaper
Kan tilpasses
Den administrerte egenskapen Kan tilpasses styrer om noen som installerer en administrert løsning som inneholder den egendefinerte prosesshandlingen, kan redigere eller slette den. Hvis det er et ønske om at den egendefinerte prosesshandlingen skal kunne redigeres eller slettes når den inkluderes i en administrert løsning, bør du sette denne egenskapen til Sann.
Er trinnet for egendefinert behandling tillatt for andre utgivere
Den administrerte egenskapen Er trinnet for egendefinert behandling tillatt for andre utgivere styrer om tredjeparts plugin-utviklere kan registrere trinn i plugin-moduler som er opprettet av den egendefinerte prosesshandlingen. Når dette er sant, kjøres plugin-moduler som er registrert av alle i denne meldingen, og funksjonaliteten til den egendefinerte prosesshandlingen kan endres. Når dette er usant, kjøres bare trinn i plugin-modulen som er registrert i en løsning fra den samme løsningsutgiveren.
Neste trinn
Bruk handlinger
Aktiver tilpassede handlinger fra en arbeidsflyt
Overvåke arbeidsflyter og handlinger i sanntid
Obs!
Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)
Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).