Opprett en egendefinert prosesshandling
Du kan bruke egendefinerte prosesshandlinger når du vil automatisere en rekke kommandoer i systemet. Egendefinerte prosesshandlinger utvider ordforrådet som er tilgjengelig for utviklere til å uttrykke forretningsprosesser. En egendefinert prosesshandling bruker kjerneverb fra systemet, for eksempel Opprett, Oppdater, Slett og Tilordne til å opprette mer uttrykksfulle verb som Godkjenn, Videresend, Rute eller Planlegg. Hvis definisjonen av en forretningsprosess endres, kan noen som ikke er en utvikler, redigere den egendefinerte prosesshandlingen slik at koden ikke er nødt til å endres.
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
Opprett en egendefinert prosesshandling
Viktig
Hvis du oppretter en egendefinert prosesshandling 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.
Som arbeidsflytprosesser har egendefinerte prosesshandlinger 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.
Tabell
Med handlingsprosesser kan du velge en tabell for å gi en sammenheng for arbeidsflyten, 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.
I motsetning til arbeidsflytprosesser trenger du ikke angi følgende alternativer:
Start når: Handlinger starter når koden kaller meldingen som er generert for dem.
Omfang: Handlinger kjøres alltid i konteksten til den anropende brukeren.
Kjør i bakgrunnen: Handlinger er alltid sanntidsarbeidsflyter.
Egendefinerte prosesshandlinger har også noe som arbeidsflytprosesser ikke har – inndata- og utdataargumenter.
Obs!
Du kan aktivere en egendefinert prosesshandling fra en arbeidsflyt uten å skrive kode. Mer informasjon: Aktiver egendefinerte prosesshandlinger fra en arbeidsflyt.
Rediger en egendefinert prosesshandling
Du må deaktivere egendefinerte prosesshandlinger 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:
Prosessnavn
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 handling 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 noen unntak fra dette. Enkelte handlinger som utviklere kan gjøre i kode 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 tilbakestilling hvis en handling utløses av en Power Apps melding for nettjenester.
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 og trinn
På samme måte som andre prosesser kan du angi hvilke handlinger som skal utføres og de skal utføres. Mer informasjon: Legge til flere faser og trinn
Definere prosessargumenter
Når utviklere bruker meldinger, 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 egendefinert prosesshandling 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 entityReference, 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
Egendefinerte prosesshandlinger 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 se 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
Aktiver egendefinerte prosesshandlinger fra en arbeidsflyt
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).