Share via


Tilpasning af bedste praksis

Følg disse bedste fremgangsmåder for at undgå problemer med ydeevne, anvendelighed og understøttelse med Dynamics 365 Field Service.

Minimér brugertilpassede felter til formularer

Systemtilpassere tilføjer brugerdefinerede felter til objektformularer for at registrere oplysninger, der er specifikke for deres branche og forretning, køre forretningsprocesser og indsamle oplysninger, der skal rapporteres. Men for mange brugerdefinerede felter i en formular kan medføre problemer med ydeevne.

Sådan undgås ydeevneproblemer:

  • Minimer antallet af brugerdefinerede felter i alle formularer. Det er en god idé at starte med arbejdsordreformularen, hvis det er den formular, du bruger mest i appen Field Service.
  • Blandt brugerdefinerede felter vil det have den største indvirkning på formularydeevnen, f.eks. indlæsningstiderne, hvis du minimerer antallet af opslagstypefelter og undergitre som indlæsningstider.
  • Flytte brugerdefinerede (især opslag og undergitre) fra den første formularfane til andre formularfaner.
  • Skjul som standard mindre anvendte felter i formularen.

Undlad at ændre de indbyggede webressourcer, grupperede indstillinger, sikkerhedsroller eller arbejdsprocesser

Tilpasning, afhængigheder eller brugerdefineret aktivering af standardwebressourcer, grupperede indstillinger, sikkerhedsroller eller arbejdsprocesser understøttes ikke og kan resultere i utilsigtet systemfunktionsmåde.

Organisationer, der tilpasser disse komponenter, kan muligvis ikke straks se problemer i deres miljø. Men efterhånden som Microsoft udgiver ændringer af de tilpassede indgående komponenter, anvendes disse ændringer ikke på det øverste lag af den pågældende komponent. Det specifikke tilpassede lag tilsidesætter alle fremtidige ændringer, som til sidst medfører uforudsigelige fejl og funktionsmåder.

Undlad at ændre, redigere eller slette datofelter eller systemstatusser

Ændring, redigering eller sletning af datofelter og statusser kan påvirke forretningslogikken og kan forstyrre løsningsopgraderinger. Eksempler på arbejdsordredato er tid fra bekræftet og tid til bekræftet. Eksempler på statusfelter omfatter arbejdsordrens systemstatus og status for aftalesystemet.

Du skal ikke redigere eller fjerne standardfelter fra formularer

Kunder kan redigere de brugerdefinerede felter for at imødekomme deres forretningsbehov. Redigering af standardfelter kan dog forårsage fejl, især når processer afhænger af disse feltværdier.

Sådan undgår du fejl:

  • Skjul uønskede felter fra en formular.
  • Flyt uønskede felter til en anden formularfane.

Her er et enkelt eksempel: Field Service-processer beregner værdien i feltet Anslået tidspunkt for modtagelse i posten Reservation af reserverbar ressource for at angive, hvornår en frontlinjemedarbejder forventes at ankomme til lokationen. Hvis organisationen ikke har brug for dette felt, skal du skjule det i formularen i stedet for at fjerne det.

Du kan finde flere oplysninger i disse artikler:

Undlad at redigere grupperet indstilling (valg)-værdier

Redigering af værdier for grupperet indstilling i standardfelter kan dog forårsage fejl, især når processer afhænger af disse feltværdier eller under opgraderinger.

Sådan undgår du fejl:

  • Du skal redigere grupperet indstilling labels og aldrig-grupperet indstilling-værdier i standardfelterne.
  • Undlad at fjerne eventuel valg for grupperet indstilling.
  • Undlad at tilføje eventuelle valg for grupperet indstilling.

Her er et enkelt eksempel: Field Service-arbejdsordren indeholder et felt, der som standard kaldes "Systemstatus". Dette felt er et grupperet indstilling (type "valg") med indstillinger som Ikke-planlagt, Planlagt, Igangværende, Fuldført, Annulleret osv. Hver af disse indstillinger har en etiket og en tilknyttet numerisk værdi. Systemadministratorer kan redigere etiketterne for grupperede indstillinger (f.eks. "Ikke-planlagt"), men de kan aldrig redigere den tilknyttede numeriske værdi af etiketten.

Brug færre brugerdefinerede scripts, og følg bedste praksis

Systemtilpassere skriver scripts, som regel JavaScript-webressourcer, for at udføre forretningslogik. Brugerdefinerede scripts kan dog medføre ydeevneproblemer, fejl og problemer i forbindelse med opgradering.

Sådan undgås disse problemer:

  • Minimer scripts, der kører ved indlæsning.
  • Du skal ikke skrive scripts, der kalder en masse data, eller skrive flere scripts, der kalder de samme data.

Følg flere bedste praksis for formularscripter, herunder følgende bedste praksis:

Minimere antallet af netværksanmodninger og den mængde data, der anmodes om i hændelsen OnLoad

Jo højere antallet af netværksanmodninger, der er foretaget under en formularindlæsning, og jo større mængde data, der hentes fra disse forespørgsler, jo mere tid tager det at indlæse en formular. Du skal kun anmode om det minimumantal data, der er behov for. Overvej også at cachelagre dataene, når det er muligt, for at undgå at anmode om data, der ikke behøver at blive indlæst fremover.

Undgå at bruge synkrone netværksanmodninger

Synkrone netværksanmodninger kan medføre langsom indlæsning af sider og formularer, der ikke svarer. Brug asynkrone anmodninger i stedet. Se dette blogindlæg for at få vist flere eksempler. Derudover bør du overveje at bruge "asynkron og vent" i et hvilket som helst scenario, hvor flere netværksopkald til det samme objekt og den samme post er nødvendige. Se flere oplysninger her.

Medtag ikke unødvendige JavaScript-webressourcebiblioteker

Jo flere scripts, du føjer til formularen, jo længere tid vil det tage at hente. Normalt cachelagres scripts i din browser, når de indlæses første gang, men ydeevnen, første gang en formular vises, gør ofte et stort indtryk.

Undgå at indlæse alle scripts i Onload-hændelsen

Hvis du har kode, der kun understøtter OnChange-hændelser for kolonner eller OnSave-hændelsen, skal du sørge for at angive hændelseshandleren til scriptbiblioteket for disse hændelser i stedet for OnLoad-hændelsen. På denne måde kan indlæsning af disse biblioteker udskydes, så ydeevnen ved indlæsning af formularen øges.

Brug skjulte faner til at udskyde indlæsningen af webressourcer

Når der findes webressourcer eller iframe-komponenter i sektioner i en skjult fane, vil de ikke blive indlæst, hvis fanen er skjult. De indlæses, når fanen udvides. Når fanens tilstand ændres, indtræffer TabStateChange-hændelsen. Enhver kode, der kræves for at understøtte webressourcer eller iframe i skjulte faner, kan bruge hændelseshandlere for hændelsen TabStateChange og reducere kode, der ellers kan forekomme i OnLoad-hændelsen.

Undgå dublerede netværksanmodninger i klientkode

Flere eller duplikerede netværksanmodninger kan få webbrowseren til at gå i stå og påvirke formularbelastningstiden. Hvis du reducerer antallet af forespørgsler, kan ydeevnen forbedres. Du kan også samle netværksanmodninger og cachelagre værdien af disse forespørgsler. Overvej også at få asynkrone netværksanmodninger som nævnt ovenfor.

Undgå at bruge roller og systembrugerspecifikke opkald, hvis de relevante oplysninger er tilgængelige i XRM API'er

Brug XRM API'er for at undgå netværksanmodninger for at få oplysninger om brugerrettigheder. Se følgende artikel om overgang væk fra synkrone anmodninger. På samme måde kan du undgå systembrugeropkald, hvis oplysningerne fra XRM API'er opfylder dine krav.

Angiv standardsynlighedsindstillinger

Undgå at bruge formularscripts i OnLoad-hændelsen, der skjuler formularelementer. Angiv i stedet standardsynlighedsindstillingerne for formularelementer, der kan være skjult, til ikke at være synlige som standard, når formularen indlæses. Brug derefter scripts i OnLoad-hændelsen til at vise de formularelementer, du ønsker at vise.

Du kan finde flere oplysninger i disse ressourcer:

Kør løsningskontrol på dine scripts

Power Apps-løsningskontrollen er et nyttigt værktøj fra Microsoft, der søger efter Power Apps-løsninger på problemer og anbefaler bedste praksis. Disse problemer omfatter problemer med JavaScript, HTML, plug-ins og brugerdefinerede arbejdsprocesaktiviteter.

Du kan finde flere oplysninger i disse ressourcer:

Brug asynkrone arbejdsprocesser i stedet for synkrone

Systemtilpassere skriver ofte synkrone arbejdsprocesser for at udføre forretningslogik i realtid, der køres, når data ændres i Field Service. Ydeevnen vil dog blive reduceret, hvis du kører arbejdsprocesser synkront.

Hvis du vil undgå ydeevneproblemer, skal du køre arbejdsprocesser asynkront.

Aktivere standardprocesser for Field Service og Ressourceplanlægning

Field Service og Ressourceplanlægning leveres med mange processer, der udfører den nødvendige forretningslogik.

Deaktiverede processer kan medføre fejl.

Du kan undgå problemer ved at sikre, at alle processer til Field Service og Ressourceplanlægning er i en aktiv tilstand. Kør jævnligt Tilstandshub til Field Service-løsningen for at identificere, om processer er i deaktiveret tilstand.

Kør tilstandshub-løsningen for at registrere problemer

Med løsningstilstandshubben kan du opnå et bedre billede af tilstanden af miljøet og registrere problemer med dit Dynamics 365-miljø. En løsningtilstandshub kører regler i en forekomst for at validere miljøets konfiguration, hvilket kan ændre sig over tid via naturlige systemhandlinger. Nogle af reglerne er specifikke for Dynamics 365 Field Service, og du kan køre regler efter behov, når du støder på et problem. Nogle regler udløses automatisk, når Field Service installeres eller opdateres.

Kør jævnligt tilstandshubben Field Service-løsning for at overvåge miljøets tilstand.

Overvejelser om ydeevnen i mobilappen

Tilpasning af mobilappen kan også påvirke ydeevnen. Du kan finde flere oplysninger i denne artikel: Overvejelser om ydeevne, når mobilappen tilpasses