Procedure consigliate sulla personalizzazione
Segui queste informazioni consigliate per evitare problemi di prestazioni, usabilità e supportabilità con Dynamics 365 Field Service.
Riduci i campi personalizzati sui moduli
I personalizzatori di sistema aggiungono campi personalizzati ai moduli delle entità per acquisire informazioni specifiche del loro settore e della loro attività, per eseguire processi aziendali e per raccogliere informazioni su cui creare report. Tuttavia, troppi campi personalizzati su un modulo possono causare problemi di prestazioni.
Per evitare problemi di prestazioni:
- Riduci il numero di campi personalizzati in tutti i moduli. Se il modulo ordine di lavoro è quello che utilizzi più spesso nell'app Field Service, è un buon modo per iniziare con idea.
- Ridurre al minimo il numero di campi di tipo ricerca e sottogriglie tra i campi personalizzati.
- Sposta i campi personalizzati (specialmente il campo ricerca e le griglie secondarie) dalla prima scheda del modulo ad altre schede del modulo.
- Nascondi per impostazione predefinita i campi meno utilizzati in un modulo.
Non modificare le risorse Web predefinite, i set di opzioni, i ruoli di sicurezza o i flussi di lavoro predefiniti
Non modificare o personalizzare le risorse Web, i set di opzioni o i ruoli di sicurezza o i flussi di lavoro predefiniti. In caso contrario, si potrebbero verificare comportamenti indesiderati del sistema.
Le organizzazioni che personalizzano questi componenti potrebbero non riscontrare immediatamente problemi nel loro ambiente. Tuttavia, le modifiche che Microsoft rilascia ai componenti predefiniti personalizzati non vengono applicate al primo layer di tali componenti. Al contrario, lo specifico layer personalizzato sovrascrive tutte le modifiche future, e tali sostituzioni alla fine causano errori e comportamenti imprevedibili.
Non modificare o eliminare i campi data o gli stati di sistema
La modifica o l'eliminazione dei campi data e stato può influire sulle regole business e può causare problemi con gli aggiornamenti delle soluzioni. Esempi di campi data ordine di lavoro includono Tempo dalla promessa e Tempo fino alla promessa. Esempi di campi di stato includono Stato del sistema per ordine di lavoro e Stato del sistema per l'accordo.
Non modificare i campi predefiniti o rimuoverli dai moduli
I clienti modificano i campi predefiniti per adattarli alle loro esigenze aziendali. Tuttavia, la modifica dei campi predefiniti può causare errori, soprattutto quando i processi dipendono dai valori di tali campi.
Per evitare errori:
- Nascondi i campi indesiderati in un modulo.
- Sposta i campi indesiderati in un'altra scheda del form.
Ad esempio, i processi di Field Service calcolano il valore del campo Ora di arrivo stimata nel record Prenotazione risorsa prenotabile per indicare quando è previsto l'arrivo in loco di un lavoratore in prima linea. Se la tua organizzazione non ha bisogno di questo campo, nascondilo nel modulo invece di rimuoverlo.
Non modificare i valori del set di opzioni (scelta)
La modifica dei valori set di opzioni dei campi predefiniti può causare errori, soprattutto quando i processi dipendono dai valori di tali campi o durante gli aggiornamenti.
Per evitare errori:
- Modifica solo le etichette set di opzioni dei campi predefiniti. Non modificare mai i valori set di opzioni di questi campi.
- Non rimuovere nessuna scelta di set di opzioni.
- Non aggiungere nessuna scelta di set di opzioni.
Ad esempio, il servizio sul campo ordine di lavoro include per impostazione predefinita un campo Stato del sistema . Questo campo è un set di opzioni (di tipo scelta ) e presenta opzioni quali Non programmato, Programmato, In corso, Completato e Annullato. Ogni opzione ha un'etichetta e un valore numerico associato. Gli amministratori di sistema possono modificare le etichette dei set di opzioni (ad esempio Non pianificato), ma non possono mai modificare il valore numerico associato all'etichetta.
Usa meno script personalizzati e segui le procedure consigliate
I personalizzatori di sistema scrivono script, in genere risorse web JavaScript, per eseguire la logica aziendale. Tuttavia, gli script personalizzati possono causare problemi di prestazioni, errori e complicazioni durante gli aggiornamenti.
Per evitare questi problemi:
- Ridurre al minimo il numero di script eseguiti al caricamento.
- Non scrivere script che richiamano molti dati e non scrivere più script che richiamano gli stessi dati.
Le sottosezioni seguenti descrivono le best practice. Inoltre, seguire le best practice per lo script del modulo in Best practice per lo sviluppo con Dynamics 365 Customer Engagement.
Ridurre al minimo il numero di richieste di rete e la quantità di dati richiesti nell'evento OnLoad
Maggiore è il numero di richieste di rete effettuate durante il caricamento di un modulo e maggiore è la quantità di dati scaricati da tali richieste, maggiore sarà il tempo necessario per caricare il modulo. Richiedi solo la quantità minima di dati necessaria. Inoltre, se possibile, si consiglia di memorizzare i dati nella cache, per evitare di richiederli inutilmente durante i futuri caricamenti del modulo.
Evita di utilizzare richieste di rete sincrone
Le richieste di rete sincrone possono causare caricamenti lenti di pagine e moduli che non rispondono. Usare invece richieste asincrone. Il seguente post del blog fornisce altri esempi: Potenzia le tue app basate su modello abbandonando le richieste sincrone. Inoltre, si consiglia di prendere in considerazione l'utilizzo di "async and wait" in qualsiasi scenario in cui siano necessarie più chiamate di rete per la stessa entità e record. Scopri di più su async e await.
Evitare di includere librerie di risorse Web JavaScript non necessarie
Più script aggiungi a un modulo, più tempo ci vorrà per scaricarli. Solitamente gli script vengono memorizzati nella cache del browser dopo essere stati caricati per la prima volta. Tuttavia, la prestazione che si ottiene quando si visualizza un modulo per la prima volta spesso suscita un'impressione significativa.
Evitare di caricare eventuali script in un evento Onload
Se si dispone di codice che supporta solo eventi per le colonne o solo l'evento, assicurarsi di impostare la libreria di script con il gestore eventi per tali eventi anziché per l'evento. OnChange
OnSave
OnLoad
In questo modo, il caricamento di tali librerie può essere posticipato e le prestazioni aumentano quando il modulo viene caricato.
Utilizzare le schede compresse per differire il caricamento delle risorse Web
Le risorse Web o i componenti inclusi nelle sezioni di una scheda comprimibile non vengono caricati se la scheda è compressa. iFrame Vengono caricati solo quando la scheda è espansa. Quando cambia lo stato della scheda, si verifica l'evento TabStateChange
. Qualsiasi codice necessario per supportare risorse web o iFrame su schede compresse può utilizzare gestori di eventi per l'evento TabStateChange
e ridurre il codice che altrimenti potrebbe dover essere presente nell'evento OnLoad
.
Evita richieste di rete duplicate nel codice lato client
Richieste di rete multiple o duplicate possono causare il blocco del browser Web e influire sul tempo di caricamento del modulo. La riduzione del numero di richieste può migliorare le prestazioni. Un'alternativa è consolidare le richieste di rete e memorizzarne il valore nella chace. Inoltre, come accennato in precedenza, bisogna considerare anche le richieste di rete asincrone.
Evitare di utilizzare ruoli e chiamate specifiche dell'utente del sistema se le informazioni rilevanti sono disponibili nelle API XRM
Utilizzare le API XRM per evitare richieste di rete volte a ottenere informazioni sui privilegi degli utenti. Scopri di più su come abbandonare le richieste sincrone. Inoltre, evita le chiamate degli utenti di sistema se le informazioni provenienti dalle API XRM soddisfano i tuoi requisiti.
Impostare opzioni di visibilità predefinite
In tal caso, evitare di utilizzare script di modulo che nascondono gli elementi del modulo. OnLoad
Invece, per gli elementi del modulo che potrebbero essere nascosti, imposta le opzioni di visibilità predefinite in modo che gli elementi siano nascosti per impostazione predefinita quando il modulo viene caricato. Quindi utilizzare gli script nell'evento OnLoad
per mostrare gli elementi del modulo che si desidera siano visibili.
Per saperne di più consulta le seguenti risorse:
Esegui il controllo delle soluzioni sui tuoi script
La verifica della soluzione di Power Apps è uno strumento utile di Microsoft che controlla le soluzioni ai problemi di Power Apps e suggerisce le procedure consigliate. Tra questi rientrano problemi con JavaScript, HTML, plugin e attività di flusso di lavoro personalizzate.
Per saperne di più consulta le seguenti risorse:
- Migliora le prestazioni, la stabilità e l'affidabilità dei componenti con il verificatore di soluzioni
- Come eseguire e utilizzare il Power Apps Solution Checker
- Dataverse Verifica soluzione
Utilizzare flussi di lavoro asincroni anziché sincroni
I personalizzatori di sistema spesso scrivono flussi di lavoro sincroni per eseguire, in tempo reale, la logica aziendale che viene eseguita quando i dati vengono modificati in Field Service. Tuttavia, l'esecuzione dei flussi di lavoro in modo sincrono peggiorerà le prestazioni. Per evitare problemi di prestazioni, esegui i flussi di lavoro in modo asincrono.
Attivare i processi predefiniti di Field Service e Pianificazione risorse
L'assistenza sul campo e la pianificazione delle risorse includono molti processi che eseguono la logica aziendale necessaria. I processi disattivati possono generare errori. Per evitare problemi, assicurarsi che tutti i processi di Field Service e Resource Scheduling siano attivi. Per identificare se i processi sono in uno stato disattivato, eseguire regolarmente il Field Service Hub integrità soluzione.
Esegui Hub integrità soluzione per rilevare i problemi
Hub integrità soluzione ti aiuta a ottenere un quadro più chiaro dello stato del tuo ambiente e a rilevare eventuali problemi con il tuo Dynamics 365 ambiente. La configurazione di un ambiente potrebbe cambiare nel tempo attraverso le operazioni naturali del sistema. Hub integrità soluzione esegue regole all'interno di un'istanza per convalidare la configurazione di ambiente. Alcune regole sono specifiche per Field Service e puoi applicarle su richiesta quando riscontri un problema. Alcune regole vengono attivate automaticamente quando Field Service viene installato o aggiornato.
Per monitorare lo stato di salute del tuo ambiente, esegui regolarmente il set di regole Hub integrità soluzione.
Considerazioni sulle prestazioni dell'app per dispositivi mobili
La personalizzazione dell'app mobile può influire sulle prestazioni. Per ulteriori informazioni, consulta la sezione Considerazioni sulle prestazioni durante la personalizzazione dell'app mobile.