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.
- Minimer antallet af opslagstypefelter og undergitre mellem brugerdefinerede felter.
- 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
Du må ikke ændre eller tilpasse de indbyggede webressourcer, grupperede indstillinger, sikkerhedsroller eller arbejdsprocesser. Ellers kan du forårsage utilsigtet systemfunktionalitet.
Organisationer, der tilpasser disse komponenter, kan måske ikke straks se problemer i deres miljø. Ændringer, som Microsoft frigiver til de tilpassede standardkomponenter, anvendes dog ikke på det øverste lag af disse komponenter. I stedet tilsidesætter det specifikke tilpassede lag alle fremtidige ændringer, og disse tilsidesættelser medfører i sidste ende 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å datofelter for arbejdsordre omfatter Tid fra bekræftet og Tid til bekræftet. Eksempler på statusfelter omfatter arbejdsordrens Systemstatus og Systemstatus for aftalen.
Du skal ikke redigere eller fjerne standardfelter i formularer
Kunder kan redigere de indbyggede 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 i en formular.
- Flyt uønskede felter til en anden formularfane.
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 på stedet. Hvis din organisation ikke har brug for dette felt, skal du skjule det i formularen i stedet for at fjerne det.
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:
- Rediger kun den grupperede indstillings navne for indbyggede felter. Rediger aldrig værdierne af grupperede indstillinger i disse felter.
- Undlad at fjerne eventuel valg for grupperet indstilling.
- Undlad at tilføje eventuelle valg for grupperet indstilling.
Field Service-arbejdsordren indeholder f.eks. som standard feltet Systemstatus. Dette felt er en grupperet indstilling (af typen valg) og har indstillinger som Ikke-planlagt, Planlagt, Igangværende, Fuldført og Annulleret. Hver indstilling har et navn og en tilknyttet numerisk værdi. Systemadministratorer kan redigere navnene for grupperede indstillinger (f.eks. Ikke-planlagt), men de kan aldrig redigere den tilknyttede numeriske værdi af navnet.
Brug færre brugerdefinerede scripts, og følg bedste praksis
Systemtilpassere skriver scripts, som regel JavaScript-webressourcer, for at køre forretningslogik. Brugerdefinerede scripts kan dog medføre ydeevneproblemer, fejl og problemer under opgradering.
Sådan undgås disse problemer:
- Minimer antallet af scripts, der kører ved indlæsning.
- Du skal ikke skrive scripts, der kalder en masse data, og skriv ikke flere scripts, der kalder de samme data.
I følgende underafsnit beskrives bedste praksis. Følg desuden de bedste fremgangsmåder for formularscriptet i Bedste fremgangsmåder for udvikling med Dynamics 365 Customer Engagement.
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 anmodninger, 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. Følgende blogindlæg indeholder flere eksempler: Sæt turbo på dine modelbaserede apps ved at skifte væk fra synkrone anmodninger. 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. Få mere at vide om asynkron og vent.
Medtag ikke unødvendige JavaScript-webressourcebiblioteker
Jo flere scripts, du føjer til formularen, jo længere tid vil det tage at downloade dem. Normalt cachelagres scripts i din browser, efter at de er indlæst for første gang. Men ydeevnen af den første gang, en formular vises, gør ofte et markant 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 kun 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.
Bruge skjulte faner til at udskyde indlæsning af webressourcer
Webressourcer eller iFrame-komponenter, der er inkluderet i sektioner på en fane, der kan skjules, indlæses ikke, hvis fanen er skjult. De indlæses kun, når fanen udvides. Når fanens tilstand ændres, indtræffer hændelsen TabStateChange
. Enhver kode, der kræves for at understøtte webressourcer eller iFrames under skjulte faner, kan bruge hændelseshandlere for hændelsen TabStateChange
og reducere kode, der ellers kan forekomme i hændelsen OnLoad
.
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 desuden asynkrone netværksanmodninger, som tidligere nævnt.
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. Få mere at vide om, hvordan du skifter væk fra synkrone anmodninger. Desuden 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, så de som standard er skjult, når formularen indlæses. Brug derefter scripts i hændelsen OnLoad
til at vise de formularelementer, du ønsker skal være synlige.
Få mere at vide i følgende 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 JavaScript, HTML, plug-ins og brugerdefinerede arbejdsprocesaktiviteter.
Få mere at vide i følgende ressourcer:
- Forbedre komponentydeevnen, stabiliteten og pålideligheden med løsningskontrol
- Sådan køres og bruges Power Apps-løsningskontrollen
- Dataverse Løsningskontrol
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 har 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 Løsningstilstandshub for at registrere problemer
Med Løsningstilstandshub kan du opnå et bedre billede af tilstanden af miljøet og registrere problemer med dit Dynamics 365-miljø. Et miljøs konfiguration kan ændre sig med tiden på grund af naturlige systemhandlinger. Løsningstilstandshub kører regler i en forekomst for at validere miljøets konfiguration. Nogle af reglerne er specifikke for Field Service, og du kan køre dem 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 Løsningstilstandshub-regelsættet for at overvåge miljøets tilstand.
Overvejelser om ydeevnen i mobilappen
Tilpasning af mobilappen kan påvirke ydeevnen. Du kan finde flere oplysninger i Overvejelser om ydeevne, når mobilappen tilpasses.