Share 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. Att börja med arbetsorderformuläret är en bra idé om det är det formulär som används mest i appen Field Service.
  • Bland anpassade fält kan du minimera uppslagstypfält och underrutnät mest på formulärens prestanda, som inläsningstider.
  • Flytta anpassade fält (särskilt uppslagsfält och underrutnät) från den första formulärfliken till andra formulärflikar.
  • Dölj använda fält som används i formuläret som standard.

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

Det går inte att anpassa, ta med beroenden eller anpassa anropet till lokala webbresurser, alternativuppsättningar, säkerhetsroller eller arbetsflöden och det kan leda till att systemet inte fungerar som det ska.

Problem i miljön kan uppstå direkt i organisationer som anpassar komponenterna. Men när Microsoft ger ut ändringar i de anpassade färdiga komponenterna används de här ändringarna inte i det översta lagret av komponenten. Det specifika anpassade lagret åsidosätter alla framtida ändringar, som kan orsaka oväntade 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 orsaka problem med lösningsuppdateringar. Exempel på arbetsorderdatum är tiden från löfte och tiden till löfte. Exempel på statusfält är systemstatus för arbetsorder och systemstatus för avtal.

Redigera eller ta inte bort medföljande fält från formulär

Kunderna redigerar de medföljande fälten så att de passar företagets behov. Om du redigerar de fält som inte finns i rutan kan det emellertid orsaka fel, särskilt när processer är beroende av dessa fältvärden.

Så här undviker du fel:

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

Här är bara ett exempel: Field Service-processer beräknar 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.

För mer information, se dessa artiklar:

Redigera inte alternativuppsättning (val)

Om du redigerar alternativuppsättningsvärdena för medföljande fält kan orsaka fel, särskilt när processer beror på dessa fältvärden eller under uppgraderingar.

Så här undviker du fel:

  • Redigera endast alternativuppsättning etiketter och aldrig anger medföljande fälten värden.
  • Ta inte bort några alternativuppsättning alternativ.
  • Lägg inte till några alternativuppsättning alternativ.

Här är bara ett exempel: Arbetsordern för Field Service innehåller ett fält som kallas för Systemstatus som standard. Det här fältet är alternativuppsättning (typ "val") med alternativ som Ej schemalagt, Schemalagt, Pågår, Slutförd, Avbruten osv. Alternativen har en etikett och ett associerat numeriskt värde. Systemadministratörer kan redigera etiketterna för alternativuppsättningar (som "Unscheduled") men kan aldrig redigera det associerade numeriska värdet för 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 vid uppgradering.

Så här undviker du dessa problem:

  • Minimera skript som körs vid belastning.
  • Skriv inte skript som anropar många data eller skriv flera skript som anropar samma data.

Följ metodtipsen för formulärskript, inklusive följande metodtips:

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 ett formulär att läsa 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 sidindata.

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. Se blogginlägg för fler exempel. 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. du hittar mer information här.

Undvika att ta med onödiga JavaScript-webbresursbibliotek

Ju fler skript du lägger till i formuläret, desto längre tid tar det att hämta dem. Vanligtvis cachelagras skript i webbläsaren när de har lästs in första gången, men prestanda första gången ett formulär visas skapar 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 laddningen av dessa bibliotek skjutas upp och öka prestanda när formuläret läses in.

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

När webbresurser eller iFrame-komponenter ingår i avsnitt i en dold flik laddas de inte. De laddas när fliken visas. När fliken status ändras inträffar händelsen TabStateChange. All kod som krävs för att stödja webbresurser eller iFrame i dolda flikar kan använda händelsehanteraren för TabStateChange-händelsen och minska kod 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 också asynkrona nätverksbegäranden som nämnts tidigare.

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. Se följande artikel om att övergå från synkrona förfrågningar. Undvik på samma sätt 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. Ange i stället standardvärdet för synlighetsalternativ för formulärelement som kan vara dolda så att de inte visas 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 visa.

Mer information finns i de här resurserna:

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.

Mer information finns i de här resurserna:

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

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 köra arbetsflöden asynkront.

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

Field Service och Resursschemaläggning levereras med 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 läge.

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ö. Navet för lösningens hälsotillstånd kör regler i en instans för att verifiera miljöns konfiguration, vilket kan förändras över tid genom naturliga systemåtgärder. Vissa regler är specifika för Dynamics 365 Field Service, och du kan köra reglerna 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 också påverka prestanda. Mer information finns i den här artikeln: Att tänka på när du anpassar mobilappen