Loading
Automatisere forretningsprosessene
Innhold
Velg filtre

          Ingen resultater
          Ingen resultater
          Her er noen søketips

          Kontroller stavemåten i søkeordene.
          Bruk mer generelle søkebegreper.
          Velg færre filtre for å utvide søket.

          Søk i all Salesforce Hjelp
          Eksempel på massebehandling av poster for å unngå CPU-grenser

          Eksempel på massebehandling av poster for å unngå CPU-grenser

          Lær hvordan du refaktoriserer flyter for å bruke masseutførelsesmønstre som hindrer Apex_CPU_TIME_LIMIT_EXCEEDED-feil. Dette eksemplet viser forskjellen mellom ineffektiv og optimalisert flytutforming.

          Nødvendige utgaver

          Se støttede versjoner.
          Nødvendig brukertillatelse
          For å åpne, redigere, opprette, aktivere eller deaktivere en flyt med alle flyttyper, elementer og funksjoner som er tilgjengelig i Flow Builder, inkludert Einstein og Agentforce for Flow: Behandle flyter

          Dette eksemplet viser hvordan du transformerer en flyt som utfører Datamanipuleringsspråk (DML) i en sløyfe, til en masseutført flyt som behandler poster effektivt. Vis en før-og-etter-sammenligning, og lær prinsippene for masseutførelse av flyter.

          Scenario

          Bygg en postutløst flyt som kjører når en salgsmulighet avsluttes. For hver avsluttet-vunnet-salgsmulighet oppretter flyten en oppfølgingsoppgave for hvert medlem av salgsmulighetsteamet. Flyten gjør følgende:

          • Henter alle salgsmulighetsteammedlemmer.
          • Oppretter en oppgave tildelt til hvert teammedlem.
          • Fungerer effektivt selv om brukere oppdaterer flere salgsmuligheter samtidig.
          • Unngår Apex_CPU_TIME_LIMIT_EXCEEDED feil under masseoperasjoner.

          Salesforce håndhever en enkelt CPU-tidsgrense på 10 000 millisekunder (10 sekunder) per synkron transaksjon. Hver bit automatisering i denne transaksjonen – Apex, flyter, arbeidsflytregler og prosesser – trekkes ut fra det samme budsjettet. En ineffektiv flytutforming forverrer problemet. Andre automatiseringer i transaksjonen trekker ned det delte budsjettet først, og en ineffektiv flyt forbruker mer enn nødvendig av det som gjenstår.

          Rekkefølgen flyter kjører i, avhenger av flyttypen. Dette eksemplet bruker en postutløst flyt etter lagring, som kjører senere i rekkefølgen enn flyter før lagring. Hvis du vil vite mer om kjørerekkefølge, kan du se Utløsere og utførelsesrekkefølge.

          Ineffektiv løsning: DML-operasjoner i en sløyfe

          Denne løsningen fører til CPU-grensefeil ved behandling av flere salgsmuligheter.

          Flytstruktur: Flyten starter med en postutløst flyt i Salgsmulighet-objektet som kjører etter en postoppdatering når Fase er lik Avsluttet vunnet. Flyten bruker Hent poster til å hente Salgsmulighetsteammedlemmer for den utløsende posten, og går deretter i sløyfe gjennom samlingen. I sløyfen oppretter et Opprett poster-element én oppgave for hvert teammedlem.

          Hvorfor denne løsningen mislykkes:

          • Hver sløyfegjentagelse utfører en separat DML-operasjon.
          • En salgsmulighet med fem teammedlemmer fører til fem DML-operasjoner.
          • Når brukere oppdaterer 20 salgsmuligheter samtidig, behandler flyten alle salgsmulighetene i én transaksjon.
          • 20 salgsmuligheter × 5 teammedlemmer hver = 100 DML-operasjoner i én transaksjon.
          • Den kumulative CPU-tiden fra 100 DML-operasjoner overskrider styringsgrensen.
          • Resultat: Apex_CPU_TIME_LIMIT_EXCEEDED-feil.

          Effektiv løsning: Samlingsbasert masseutførelse

          Denne tilnærmingen behandler poster effektivt uavhengig av volum.

          Flytstruktur: Flyten starter med en postutløst flyt i Salgsmulighet-objektet og bruker Hent poster til å hente Salgsmulighetsteammedlemmer. Flyten oppretter en Oppgave-postvariabel og en Oppgave-postsamlingsvariabel. Postvariabelen inneholder den gjeldende oppgaven som flyten arbeider med, og postsamlingen inneholder oppgavene som skal opprettes. Flyten går i sløyfe gjennom teammedlemmene. I sløyfen bygger et Tildeling-element hver oppgavepost ved å angi verdier for Oppgave-postvariabelen og relaterer oppgaven til det gjeldende teammedlemmet i sløyfen. Et annet Tildeling-element legger til Oppgave-postvariabelverdiene i Oppgave-postsamlingen. Når sløyfen er fullført, oppretter ett Opprett poster-element alle oppgavene fra samlingen.

          Hvorfor dette fungerer:

          • Sløyfen bygger en samling oppgaveposter uten å utføre DML-operasjoner.
          • Bare én DML-operasjon skjer etter at sløyfen har blitt fullført.
          • En salgsmulighet med fem teammedlemmer fører fremdeles til bare én DML-operasjon (opprette fem oppgaver samtidig).
          • Når brukere oppdaterer 20 salgsmuligheter samtidig, utfører flyten totalt 20 DML-operasjoner (én per salgsmulighet).
          • Betydelig reduksjon i CPU-tidsforbruk.
          • Resultat: Flyten fullføres uten å nå styringsgrenser.

          Ytelsessammenligning

          Scenario Ineffektiv (DML i sløyfe) Effektiv (samlet)
          1 salgsmulighet med 5 teammedlemmer 5 DML-operasjoner 1 DML-operasjon
          20 salgsmuligheter (masseoppdatering) med fem teammedlemmer hver

          100 DML-operasjoner

          (Sannsynligvis mislykkes med CPU-grensefeil)

          20 DML-operasjoner

          (fullføres riktig)

          100 salgsmuligheter (datainnlasting) med tre teammedlemmer hver

          300 DML-operasjoner

          (Definitivt mislykkes)

          100 DML-operasjoner

          (fullføres riktig)

          Viktige prinsipper for masseutførelse

          • Utfør aldri DML-operasjoner inne i sløyfer. Innhent alltid poster i en samlingsvariabel i sløyfen, og utfør deretter DML når sløyfen er fullført.
          • Design for masseoperasjoner fra begynnelsen. Anta at postutløste flyter behandler flere poster samtidig.
          • Bruk postsamlingsvariabler. Samlingsbaserte DML-operasjoner er dramatisk mer effektive enn individuelle operasjoner.
          • Test med realistiske volum. Feilsøkingsmodus med én post viser ikke problemer med masseoperasjoner. Test med veiviser for dataimport, Data Loader eller masseoppdateringer.
          • Monitor ytelse. Se gjennom feilsøkingslogger for å identifisere flyter som nærmer seg styringsgrensene, før de mislykkes i produksjonsorganisasjonen.

          Trinn på høyere nivå

          Se gjennom trinnene i dette eksemplet. Følg dem i rekkefølge, eller gå til en del for å få mer spesifikke instruksjoner.

          Opprette flyten

          Konfigurer den postutløste flyten til å kjøre når salgsmuligheter avsluttes.

          1. Åpne listevisningen Flyter.
            • Skriv Flyter i Hurtigsøk-feltet under Oppsett, og velg Flyter.
            • Velg fanen Flyter fra Automatisering-appen.
            • Klikk på handlingsmenyen i fanen Flyter i en Lightning-app og velg Åpne flyt.
          2. Opprett en postutløst flyt.
            1. Klikk på Ny i Lightning-appen Automatisering. Søk etter og velg Postutløst flyt.
            2. Klikk på Ny flyt i Oppsett, søk etter og velg Postutløst flyt.
            Konfigurer start-panelet åpnes.
          3. Konfigurer Start-elementet.
            1. Velg Salgsmulighet i Objekt.
            2. Velg En post oppdateres for Utløser flyten når.
            3. Velg Alle betingelser er oppfylt (AND) under Angi inngangsbetingelser for betingelseskrav.
            4. Velg Fase i Felt.
            5. Velg Er lik i Operator-feltet.
            6. Velg avsluttet vunnet i Verdi.
            7. Velg Handlinger og relaterte poster for Optimaliser flyt.

          Opprette ressurser

          Opprett variablene som er nødvendige for massebehandling.

          1. For å bygge hver oppgave oppretter du en postvariabel for å bygge oppgaveposter.
            1. Klikk på Verktøykasse-ikon. for å åpne verktøykassen.
            2. Klikk på Ny ressurs, og velg deretter Variabel.
            3. Oppgi TaskRecord i API-navn.
            4. Velg Post i Datatype.
            5. Velg oppgave i Objekt.
            6. Klikk på Ferdig.
          2. For å lagre alle oppgaver oppretter du en postsamlingsvariabel for alle oppgaver.
            1. Klikk på Ny ressurs, og velg deretter Variabel.
            2. Skriv inn TasksToCreate i API-navn.
            3. Velg Post i Datatype.
            4. Velg oppgave i Objekt.
            5. Velg for å tillate flere verdier (samling).
            6. Klikk på Ferdig.

          Hente teammedlemmer

          Hent Salgsmulighetsteammedlem-postene for behandling ved å bruke et Hent poster-element.

          1. Klikk på Legg til element pluss-ikon, og søk deretter etter og velg Hent poster.
          2. Konfigurer elementet.
            1. Skriv inn Hent salgsmulighetsteammedlemmer i Etikett.
            2. Velg Salgsmulighetskontaktrolle i Objekt.
              I dette eksemplet lagrer flyten teammedlemmer i objektet Salgsmulighetskontaktrolle. Et objekt som kobler salgsmuligheter til kontakter.
            3. Velg Salgsmulighets-ID for felt under Filtrer kontaktrolleposter for salgsmuligheter.
            4. Velg Er lik i Operator-feltet.
            5. I Verdi velger du Utløser salgsmulighet og deretter salgsmulighets-ID.
            6. Velg Alle poster i Hvor mange poster som skal lagres.
            7. Velg Lagre alle felt automatisk i Slik lagrer du postdata.

          Legge til en beslutning som skal kontrolleres for teammedlemmer

          Legg til et Beslutning-element for å unngå behandling når det ikke er noen teammedlemmer.

          1. Klikk på Legg til element pluss-ikon, og søk deretter etter og velg Beslutning.
          2. Konfigurer beslutningen.
            1. Skriv inn Funnede teammedlemmer? i Etikett.
            2. API-navnet fylles ut automatisk.
            3. Skriv inn Ja for Utfall-etikett.
            4. API-navnet fylles ut automatisk.
            5. I Ressurs velger du Salgsmulighetskontaktroller fra Hent salgsmulighetsteammedlemmer.
            6. Velg Er null i Operator-feltet.
            7. Velg Usann i Verdi.
            8. Klikk på Standardutfall.
            9. Skriv inn Nei for Etikett.

          Legge til et sløyfeelement

          Legg til et Sløyfe-element for å gjenta gjennom teammedlemmer.

          1. Klikk på Legg til element pluss-ikon i Ja-banen, og søk deretter etter og velg Loop.
          2. Konfigurer sløyfen.
            1. Skriv inn Iterate Through Teammedlemmer i Etikett.
            2. API-navnet fylles ut automatisk.
            3. I Samlingsvariabel velger du Salgsmulighetskontaktrolle fra Hent salgsmulighetsteammedlemmer.
              Denne ressursen vises som entalls, selv om den inneholder flere poster.
            4. Velg Første element til siste element i Retning.

          Bygge oppgaveposter i sløyfen

          Fyll ut feltverdier for TaskRecord-postvariabelen for hvert teammedlem i sløyfen.

          1. Klikk på Legg til element pluss-ikon etter For hver, og søk deretter etter og velg Tildeling.
          2. Konfigurer tildelingen.
            1. Skriv inn Bygg oppgavepost i Etikett.
            2. API-navnet fylles ut automatisk.
            3. Velg TaskRecord i Variabel, og velg deretter Emne.
            4. Velg Er lik i Operator-feltet.
            5. Skriv inn Følg opp på avsluttet salgsmulighet for verdi.
            6. Klikk + Legg til tildeling.
            7. Fortsett å legge til tildelinger og angi verdier.
              Ressurs Operator Verdi
              TaskRecord>Status Er lik Ikke startet
              TaskRecord>Prioritet Er lik Høy
              TaskRecord>Tildelt til-ID Er lik Gjeldende element fra Sløyfe>Kontakt-ID
              TaskRecord>Relatert til-ID Er lik Utløse salgsmulighet>Salgsmulighets-ID

          Legge til oppgaver i samlingen

          Legg til hver oppgavepost i samlingsvariabelen TasksToCreate for masseoppretting.

          1. Etter Tildeling-elementet og fremdeles i sløyfen klikker du på Legg til element pluss-ikon, og deretter søker du etter og velger Tildeling.
          2. Konfigurer tildelingen.
            1. Skriv inn Legg til oppgave i samling i Etikett.
            2. Velg TasksToCreate i Variabel.
            3. Velg Legg til i Operator-feltet.
            4. I Verdi velger du TaskRecord og deretter Helt ressurs.

          Opprette alle oppgaver etter sløyfen

          Bruk ett Opprett poster-element til å opprette alle oppgavene i én operasjon.

          1. Når sløyfen avsluttes, klikker du på Legg til element pluss-ikon, og deretter søker du etter og velger Opprett poster.
          2. Konfigurer elementet.
            1. Skriv inn Opprett alle oppgaver i Etikett.
            2. Velg Fra en postvariabel for Slik angir du postfeltverdier.
            3. Velg Flere for Hvor mange poster som skal opprettes.
            4. Velg TasksToCreate for Postsamling.
          3. Lagre flyten.
          4. Skriv inn Opprett oppgaver for salgsmulighetsteammedlemmer i Etikett.
          5. API-navnet fylles ut automatisk.

          Legge til feilhåndtering

          Konfigurer feilbehandling for å fange opp og rapportere feil.

          1. For å behandle feil legger du til en feilbane i Opprett poster-elementet.
            1. Klikk på de tre prikkene i Opprett alle oppgaver-elementet, og velg Legg til feilbane.
          2. Legg til en Send e-post-handling for å varsle Salesforce-administratorer om feil i feilbanen.
            1. Klikk på Legg til element pluss-ikon på feilbanen, og søk deretter etter og velg Send e-post.
            2. Skriv inn Varsle administrator om feil i Etikett.
            3. API-navnet fylles ut automatisk.
            4. I Mottakeradresser skriver du inn e-postadressen til personen du vil motta varselet.
            5. I Emne skriver du inn En flyt trenger din oppmerksomhet.
            6. I Tekst skriver du inn Flyten Opprett oppgaver for salgsmulighetsteammedlemmer hadde en feil. Her er feilen: .
            7. Klikk på Sett inn en ressurs.
            8. Velg kjørende flyt, og velg deretter feilmelding.
          3. Lagre arbeidet.

          Teste med massedata

          Testing av masseutførte flyter krever simulering av masseoperasjoner.

          1. Hvis du vil teste en individuell post, bruker du Feilsøkingsmodus til å oppdatere én salgsmulighet og kontrollere at flyten oppretter oppgaver riktig.
          2. Aktiver flyten.
          3. Hvis du vil teste masseoperasjoner i en Sandbox-organisasjon, bruker du veiviseren for dataimport, Data Loader eller en listevisning til å oppdatere flere salgsmuligheter samtidig.
            1. Opprett mellom 10 og 20 testmuligheter.
            2. Legg til teammedlemmer i hver salgsmulighet.
            3. Bruk Data Loader- eller masseoppdateringen til å endre fasen til Avsluttet vunnet for alle salgsmuligheter samtidig.
            4. Kontroller at flyten oppretter alle oppgaver uten feil.
          4. For å bekrefte ytelsen ser du gjennom Apex for å bekrefte at CPU-tidsforbruket er innenfor akseptable grenser.

          Flere optimaliseringsteknikker

          Optimaliser masseutførte flyter ytterligere med disse teknikkene.

          Bruke oppføringsbetingelser til å begrense utførelse

          Legg til betingelser i Start-elementet for flyten for å forsikre deg om at den kjører bare når det er nødvendig. Behandle for eksempel bare salgsmuligheter over et bestemt beløp eller fra bestemte posttyper.

          Vurdere etterlagring for ikke-kritiske operasjoner

          Postutløste flyter etter lagring kan opprette oppfølgingsoppgaver etter at du har lagret salgsmuligheten. De kjører asynkront og har høyere styringsgrenser.

          Gruppeproces for meget store mængder

          Hvis salgsmuligheter regelmessig har dusinvis av teammedlemmer, bruker du en planlagt flyt som behandler avsluttede salgsmuligheter i batcher i stedet for i sanntid.

          Konvertere eksisterende flyter

          Konverter flyter med DML-operasjoner (Data Manipulation Language) i sløyfer til massemønstre.

          Hvis du har eksisterende flyter med DML-operasjoner i sløyfer, følger du disse trinnene for å konvertere dem.

          1. For å finne DML-operasjoner i sløyfer identifiserer du alle elementene Opprett poster, Oppdater poster og Slett poster i sløyfer.
          2. Utfør konverteringen for hvert DML-element.
            1. For å bygge poster oppretter du en postvariabel for denne objekttypen.
            2. For å lagre postene du vil behandle, oppretter du en postsamlingsvariabel for denne objekttypen.
            3. Til å lagre feltverdier for postene bruker du et Tildeling-element til å tildele verdier til postvariabelen.
            4. Til å samle inn postene som skal behandles, bruker du en Tildeling til å legge til postvariabelen i postsamlingen.
            5. For å opprette poster effektivt legger du til ett DML-element som behandler hele postsamlingen, etter sløyfen.
          3. For å bekrefte konverteringen tester du nøye med gruppedata for å kontrollere at omreguleringen fungerte riktig.
           
          Laster
          Salesforce Help | Article