Dela via


Metodtips om anpassning

Följ dessa metodtips för att undvika problem med prestanda, användbarhet och support med Dynamics 365 Field Service.

Minimera anpassade fält på formulär

Systemanpassare lägger till anpassade fält i entitetsformulär för att samla in information som är specifik för deras bransch och verksamhet, för att köra affärsprocesser och för att samla in information att rapportera om. För många anpassade fält i ett formulär kan emellertid orsaka prestandaproblem.

Så här undviker du prestandaproblem:

  • Minimera antalet anpassade fält på alla formulär. Om arbetsorderformuläret det är det formulär som används mest i appen Field Service kan det vara bra att börja med det formuläret.
  • Minimera antalet uppslagstypfält och underrutnät bland anpassade fält.
  • Flytta anpassade fält (särskilt uppslagsfält och underrutnät) från den första formulärfliken till andra formulärflikar.
  • Dölj mindre använda fält i ett formulär som standard.

Ändra inte färdiga webbresurser, alternativuppsättningar, säkerhetsroller eller arbetsflöden

Ändra inte och anpassa inte färdiga webbresurser, alternativuppsättningar, säkerhetsroller eller arbetsflöden. Annars kan du orsaka oavsiktligt systembeteende.

Problem i miljön kan inte visas direkt i organisationer som anpassar komponenterna. Ändringar som Microsoft ger ut för de anpassade färdiga komponenterna tillämpas dock inte på det översta lagret av dessa komponenter. I stället åsidosätter det specifika anpassade lagret alla framtida ändringar, och dessa åsidosättningar orsakar så småningom oförutsägbara fel och beteenden.

Ändrar, redigerar eller tar inte bort datumfält eller systemstatusar

Att ändra, redigera eller ta bort datumfält och status kan påverka affärslogiken och störa lösningsuppdateringar. Exempel på datumfält i arbetsorder är Tid från utlovad och Tid till utlovad. Exempel på statusfält är Systemstatus för arbetsordern och Systemstatus för avtalet.

Redigera inte fördefinierade fält eller ta bort dem från formulär

Kunderna redigerar de fördefinierade fälten så att de passar företagets behov. Om du redigerar de fördefinierade fälten kan det emellertid orsaka fel, särskilt när processer är beroende av värdena i dessa fält.

Så här undviker du fel:

  • Dölj oönskade fält i ett formulär.
  • Flytta oönskade fält till en annan formulärflik.

Field Service-processer beräknar till exempel värdet för fältet Beräknad ankomsttid i posten Bokning av bokningsbara resurser för att ange när en frontlinjearbetare förväntas komma till platsen. Om organisationen inte behöver det här fältet döljer du det i formuläret i stället för att ta bort det.

Redigera inte alternativuppsättning (val)

Om du redigerar alternativuppsättningsvärdena för fördefinierade fält kan orsaka fel, särskilt när processer är beroende av värdena i dessa fält eller under uppgraderingar.

Så här undviker du fel:

  • Redigera endast alternativuppsättningen etiketter för fördefinierade fält. Redigera aldrig alternativuppsättningen värden för dessa fält.
  • Ta inte bort några alternativuppsättning alternativ.
  • Lägg inte till några alternativuppsättning alternativ.

Arbetsordern för Field Service innehåller till exempel ett fält som kallas för Systemstatus som standard. Det här fältet är en alternativuppsättning (av typen alternativ) och innehåller alternativ som Ej schemalagd, Schemalagd, Pågående, Slutfört och Avbruten. Varje alternativ har en etikett och ett associerat numeriskt värde. Systemadministratörer kan redigera etiketterna för alternativuppsättningar (som Ej schemalagd) men kan aldrig redigera det numeriska värdet som är associerat med etiketten.

Använd färre anpassade skript och följ rekommendationer

Systemanpassare skriver skript, vanligen JavaScript-webbresurser, för att köra affärslogik. Anpassade skript kan emellertid orsaka prestandaproblem, fel och problem som uppstår under uppgraderingar.

Så här undviker du dessa problem:

  • Minimera antalet skript som körs vid inläsning.
  • Skriv inte skript som anropar många data och skriv inte flera skript som anropar samma data.

I följande underavsnitt beskrivs metodtips. Följ dessutom metodtipsen för formulärskript i Metodtips för utveckling med Dynamics 365 Customer Engagement.

Minimera antalet nätverksförfrågningar och mängden data som krävs i OnLoad-händelsen

Ju fler nätverksförfrågningar som görs under en formulärbelastning och ju mer data som hämtas från dessa förfrågningar, desto längre tid tar det för formuläret att läsas in. Begär endast den minsta mängd data som behövs. Tänk också på att cachelagra data när det är möjligt för att undvika att begära data vid framtida formulärinläsningar.

Undvik att använda synkrona nätverksförfrågningar

Synkrona nätverksförfrågningar kan göra att sidan läses in långsamt och inte svarar på formulär. Använd asynkrona förfrågningar istället. I följande blogginlägg finns fler exempel: Dina modellbaserade appar från och med övergången från synkrona begäranden. Dessutom bör du överväga att använda "asynk och vänta" i alla scenarier där flera nätverkssamtal för samma entitet och post behövs. Läs mer om asynk och vänta.

Undvika att ta med onödiga JavaScript-webbresursbibliotek

Ju fler skript du lägger till i ett formulär, desto längre tid tar det att hämta det. Vanligtvis cachelagras skript i din webbläsare efter att de har lästs in för första gången. Prestanda första gången ett formulär visas skapar dock ofta ett bestående intryck.

Undvika att ladda alla skript i händelsen Onload

Om du har kod som endast stöder OnChange-händelser för kolumner eller OnSave-händelsen, måste du ange skriptbiblioteket med händelsehanteraren för dessa händelser i stället för OnLoad-händelsen. På så sätt kan inläsningen av dessa bibliotek skjutas upp och prestanda öka när formuläret läses in.

Använda dolda flikar för att skjuta upp inläsning av webbresurser

Webbresurser eller iFrame-komponenter som ingår i avsnitt på en dold flik läses inte in om fliken är dold. De läses bara in när fliken visas. När flikens status ändras inträffar händelsen TabStateChange. All kod som krävs för att stödja webbresurser eller iFrames på dolda flikar kan använda händelsehanteraren för TabStateChange-händelsen och minska koden som annars kan ha körts i OnLoad-händelsen.

Undvik dubblettnätverksförfrågningar i klientkoden

Flera eller dubbla nätverksförfrågningar kan göra att webbläsaren stannar upp och påverkar formulärets inläsning. Om du minskar antalet förfrågningar kan prestanda förbättras. Ett alternativ är att konsolidera nätverksförfrågningar och cachelagra värdet för dessa förfrågningar. Överväg dessutom asynkrona nätverksbegäranden, som tidigare nämnts.

Undvik att använda roller och systemanvändarspecifika anrop om relevant information finns i XRM-API:er

Använd XRM-API:er för att undvika nätverksförfrågningar om du vill få information om användarprivilegier. Läs mer om hur du övergår från synkrona begäranden. Undvik också systemanvändares anrop om informationen från XRM API:er uppfyller dina krav.

Ange standardalternativ för synlighet

Undvik att använda formulärskript i OnLoad-händelsen som döljer formulärelement. För formulärelement som kan vara dolda ska du ange standardvärdet för synlighetsalternativ så att elementen döljs som standard när formuläret läses in. Sedan kan du använda skript i OnLoad-händelsen för att visa formulärelementen du vill ska vara synliga.

Läs mer i följande resurser:

Kör lösningskontrollen på skripten

Power Apps lösningskontrollen är ett användbart verktyg från Microsoft som söker efter Power Apps lösningar på problem och rekommenderar metodtips. Dessa problem omfattar problem med JavaScript, HTML, plugin-program och anpassade arbetsflödesaktiviteter.

Läs mer i följande resurser:

Använda asynkrona arbetsflöden i stället för synkrona arbetsflöden

Systemanpassare skriver ofta synkrona arbetsflöden för att utföra affärslogik i realtid som körs när data ändras i Field Service. Men att köra arbetsflöden synkront kommer att minska prestandan. Undvik prestandaproblem genom att i stället köra arbetsflöden asynkront.

Aktivera medföljande processer för Field Service och resursschemaläggning

Field Service och Resursschemaläggning omfattar många processer som utför nödvändig affärslogik. Inaktiverade processer kan leda till fel. Undvik problem genom att kontrollera att alla Field Service- och resursschemaläggningsprocesser är i aktivt läge. Kör regelbundet navet för Field Service lösningshälsa för att identifiera om processer är i inaktivt tillstånd.

Kör navet för lösningshälsa för att identifiera problem

Med navet för lösningens hälsotillstånd kan du få en bättre bild av miljötillståndet och identifiera problem med din Dynamics 365-miljö. En miljös konfiguration kan ändras med tiden genom naturliga systemåtgärder. Navet för lösningens hälsotillstånd kör regler i en instans för att verifiera miljöns konfiguration. Vissa regler är specifika för Field Service, och du kan köra dem på begäran när du stöter på ett problem. Vissa regler utlöses automatiskt när Field Service installeras eller uppdateras.

Kör regelbundet regeluppsättningen för navet för Field Service lösningshälsa för att övervaka din miljös hälsa.

Prestandaöverväganden för mobilapp

Anpassning av mobilappen kan påverka prestanda. Läs mer i Att tänka på när du anpassar mobilappen