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
Gli addetti alla personalizzazione del sistema aggiungono campi personalizzati a moduli di entità per acquisire informazioni specifiche del loro settore e attività, per eseguire processi aziendali e per raccogliere informazioni con 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. È una buona idea iniziare con il modulo dell'ordine di lavoro se è quello che userai più spesso nell'applicazione Field Service.
- Riduci al minimo il numero di campi di tipo ricerca e le griglie secondarie 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 usati 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. Altrimenti, si potrebbe verificare un comportamento imprevisto del sistema.
Le organizzazioni che personalizzano questi componenti potrebbero non riscontrare immediatamente i problemi nel proprio ambiente. Tuttavia, le modifiche che Microsoft rilascia ai componenti predefiniti personalizzati non vengono applicate al livello superiore di tali componenti. Al contrario, il livello personalizzato specifico 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 degli ordini di lavoro includono Tempo da promessa e Tempo a promessa. Esempi di campi di stato includono Stato di sistema dell'ordine di lavoro e Stato del sistema per il contratto.
Non modificare o rimuovere i campi predefiniti dai moduli
I clienti modificano i campi predefiniti per soddisfare le proprie esigenze aziendali. Tuttavia, la modifica dei campi predefiniti può causare errori, specialmente quando i processi dipendono dai valori di quei campi.
Per evitare errori:
- Nascondi i campi indesiderati su 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 prevista sul record di Prenotazione delle risorse prenotabili per indicare quando si prevede che un operatore in prima linea arrivi sul posto. Se la tua organizzazione non ha bisogno di questo campo, nascondilo nel modulo piuttosto che rimuoverlo.
Non modificare i valori del set di opzioni (scelta)
La modifica dei valori dei set di opzioni dei campi predefiniti può causare errori, specialmente durante gli aggiornamenti o quando i processi dipendono dai valori di quei campi.
Per evitare errori:
- Modifica solo le etichette del set di opzioni dei campi predefiniti. Non modificare mai i valori del set di opzioni di questi campi.
- Non rimuovere nessuna scelta di set di opzioni.
- Non aggiungere nessuna scelta di set di opzioni.
Ad esempio, l'ordine di lavoro di Field Service include un campo Stato sistema per impostazione predefinita. Questo campo è un set di opzioni (del tipo di scelta) e contiene opzioni quali Non pianificato, Pianificato, 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 (come Non pianificato) ma non possono modificare il valore numerico associato all'etichetta.
Usa meno script personalizzati e segui le procedure consigliate
Gli addetti alla personalizzazione del sistema scrivono script, in genere risorse Web JavaScript, per eseguire la logica di business. 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 o più script che richiamano gli stessi dati.
Le seguenti sezioni secondarie descrivono le procedure consigliate. Inoltre, segui le procedure consigliate per gli script del modulo in Procedure consigliate 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, maggiore è la quantità di dati scaricati da tali richieste, maggiore è il tempo necessario per il caricamento del modulo. Richiedi solo la quantità minima di dati necessaria. Inoltre, considera la possibilità di memorizzare nella cache i dati quando possibile per evitare di richiedere dati inutilmente per i futuri caricamenti dei moduli.
Evita di utilizzare richieste di rete sincrone
Le richieste di rete sincrone possono causare caricamenti lenti di pagine e moduli che non rispondono. Utilizzare invece richieste asincrone. Il seguente post di blog fornisce più esempi: Ottimizzare le tue app basate su modello eseguendo la transizione dalle richieste sincrone. Inoltre, considera di usare "asincrono e attendi" in ogni scenario in cui sono necessarie chiamate di rete multiple per la stessa entità e lo stesso record. Ulteriori informazioni su asincrono e attesa.
Evitare di includere librerie di risorse Web JavaScript non necessarie
Maggiore è il numero di script aggiunti al modulo, maggiore è la quantità di tempo necessario per scaricarli. Di solito, gli script vengono memorizzati nella cache del browser dopo essere stati caricati per la prima volta. Tuttavia, le prestazioni la prima volta che un modulo viene visualizzato spesso creano un'impressione significativa.
Evitare di caricare eventuali script in un evento Onload
Se si utilizza codice che supporta solo eventi OnChange
per le colonne o solo l'evento OnSave
, assicurati di impostare la libreria di script con il gestore eventi per tali eventi per l'evento OnLoad
. In questo modo, il caricamento di tali librerie può essere rinviato con un conseguente aumento delle prestazioni quando il modulo viene caricato.
Usare le schede compresse per rinviare il caricamento delle risorse Web
Le risorse Web o i componenti iFrame che sono inclusi in sezioni in una scheda comprimibile non verranno caricati se la scheda è compressa. Vengono caricati solo quando la scheda è espansa. Quando lo stato della scheda cambia, si verifica l'evento TabStateChange
. Qualsiasi codice necessario per supportare le risorse Web o gli elementi iFrame in schede compresse può utilizzare i gestori eventi per l'evento TabStateChange
e ridurre il codice che potrebbe essere generato altrimenti 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. Prendi anche in considerazione le richieste di rete asincrone, come accennato in precedenza.
Evita di utilizzare ruoli e chiamate specifiche dell'utente di sistema se le informazioni pertinenti sono disponibili nelle API XRM
Usa le API XRM per evitare richieste di rete e ottenere informazioni sui privilegi dell'utente. Ulteriori informazioni su come abbandonare le richieste sincrone. Inoltre, evita le chiamate degli utenti di sistema se le informazioni dalle API XRM soddisfano i tuoi requisiti.
Impostare opzioni di visibilità predefinite
Evitare di utilizzare script del modulo nell'evento OnLoad
che nasconde gli elementi del modulo. Impostare le opzioni di visibilità predefinite per gli elementi del modulo che potrebbero essere nascosti in modo che siano visibili per impostazione predefinita quando il modulo viene caricato. Quindi, usa gli script nell'evento OnLoad
per mostrare gli elementi del modulo che desideri visualizzare.
Ulteriori informazioni nelle seguenti risorse:
Esegui la verifica della soluzione sugli 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. Questi errori includono problemi con JavaScript, HTML, plug-in e attività di flusso di lavoro personalizzate.
Ulteriori informazioni nelle seguenti risorse:
- Migliora le prestazioni, la stabilità e l'affidabilità dei componenti con la verifica della soluzione
- Come eseguire e utilizzare la verifica della soluzione di Power Apps
- Dataverse Verifica soluzione
Usare flussi di lavoro asincroni anziché flussi di lavoro sincroni
Gli addetti alla personalizzazione del sistema spesso scrivono flussi di lavoro sincroni per eseguire la logica aziendale in tempo reale 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
Field Service e Pianificazione risorse includono molti processi che eseguono la logica di business necessaria. I processi disattivati possono generare errori. Per evitare problemi, assicurati che tutti i processi di Field Service e Pianificazione risorse siano attivi. Per identificare se i procesi sono in stato disattivato, eseguire regolarmente l'Hub integrità soluzione di Field Service.
Esegui l'Hub integrità soluzione per individurare i problemi
L'Hub integrità soluzione consente di ottenere un quadro migliore dello stato dell'ambiente e di rilevare i problemi con l'ambiente di Dynamics 365. La configurazione di un ambiente può cambiare nel tempo a causa di operazioni di sistema naturali. L'hub integrità soluzione esegue regole all'interno di un'istanza per convalidare la configurazione dell'ambiente. Alcune delle regole sono specifiche di Field Service ed è possibile eseguire regole su richiesta quando si verifica un problema. Alcune regole vengono avviate automaticamente quando si installa o si aggiorna Field Service.
Per monitorare l'integrità del tuo ambiente eseguire regolarmente l'Hub integrità soluzione.
Considerazioni sulle prestazioni dell'app per dispositivi mobili
La personalizzazione dell'app per dispositivi mobili può influire sulle prestazioni. Ulteriori informazioni in Considerazioni sulle prestazioni durante la personalizzazione dell'app per dispositivi mobili.