Share via


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.
  • Tra i campi personalizzati, riduci al minimo i campi Ricerca e griglia secondaria per avere un impatto maggiore sulle prestazioni del modulo, come i tempi di caricamento.
  • 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 nel modulo.

Non modificare le risorse Web predefinite, i set di opzioni, i ruoli di sicurezza o i flussi di lavoro predefiniti

La personalizzazione, l'acquisizione di dipendenze o l'invocazione personalizzata di risorse Web, set di opzioni, ruoli di sicurezza o flussi di lavoro predefiniti non sono supportati e possono causare un comportamento imprevisto del sistema.

Le organizzazioni che personalizzano questi componenti potrebbero non rilevare immediatamente i problemi nel loro ambiente. Tuttavia, poiché Microsoft rilascia modifiche ai componenti predefiniti personalizzati, queste modifiche non vengono applicate al livello superiore di tale componente. Il livello personalizzato specifico sostituisce tutte le modifiche future, che alla fine causano errori e comportamenti imprevedibili.

Non modificare o eliminare i campi data o gli stati di sistema

La modifica o l'eliminazione di campi data e di stati può influire sulle regole business e può causare problemi con gli aggiornamenti della soluzione. Esempi di data dell'ordine di lavoro sono ora dalla promessa e ora dalla promessa. Esempi dei campi stato includono lo stato di sistema dell'ordine di lavoro e stato del sistema del 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 da un form.
  • Sposta i campi indesiderati in un'altra scheda del form.

Ecco un 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.

Vedi questi articoli per ulteriori informazioni:

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:

  • Valori dei set di opzioni etichette e mai modifica del set di opzioni impostare valori dei campi predefiniti.
  • Non rimuovere nessuna scelta di set di opzioni.
  • Non aggiungere nessuna scelta di set di opzioni.

Ecco un esempio: l'ordine di lavoro Field Service include un campo chiamato "Stato del sistema" per impostazione predefinita. Questo campo è un insieme di opzioni (tipo "scelta") con opzioni come Non pianificato, Pianificato, In corso, Completato, Annullato, ecc. Ciascuna di queste opzioni 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:

  • Riduci al minimo gli script in esecuzione al caricamento.
  • Non scrivere script che richiamano molti dati o più script che richiamano gli stessi dati.

Segui altre procedure consigliate per gli script dei moduli, incluse le seguenti procedure consigliate:

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 di un modulo. Richiedi solo la quantità minima di dati necessari. Inoltre, considera la possibilità di memorizzare nella cache i dati quando possibile per evitare di richiedere dati inutilmente per i futuri caricamenti delle pagine.

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. Visualizza questo post del blog per ulteriori esempi. 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, puoi trovare altri dettagli qui.

Evitare di includere librerie di risorse Web JavaScript non necessarie

Maggiore è il numero di script aggiunti al voto, maggiore è la quantità di tempo necessario per scaricarli. In genere gli script vengono memorizzati nella cache nel browser dopo che sono stati caricati la prima volta, ma le prestazioni relative alla prima volta che un modulo viene visualizzato spesso generano una significativa impressione.

Evitare di caricare eventuali script in un evento Onload

Se hai del codice che supporta solo gli eventi OnChange per le colonne o l'evento OnSave, assicurati di impostare la libreria di script con il gestore di eventi per gli eventi supportati invece che 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

Quando le risorse Web o i componenti iframe vengono inclusi in sezioni in una scheda compressa non verranno 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 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. Considera anche di eseguire richieste di rete in modo asincrono come menzionato sopra.

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. Visualizza il seguente articolo su transizione da richieste sincrone. Allo stesso modo, evita le chiamate degli utenti di sistema se le informazioni dalle API XRM soddisfano i tuoi requisiti.

Impostare opzioni di visibilità predefinite

Evita di utilizzare gli script del modulo nell'evento OnLoad che nascondono gli elementi del modulo. ma 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.

Per ulteriori informazioni, vedi queste risorse:

Esegui verifica soluzione 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. Questi errori includono problemi con JavaScript, HTML, plug-in e attività di flusso di lavoro personalizzate.

Per ulteriori informazioni, vedi queste risorse:

Usare flussi di lavoro asincroni anziché 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. Esegui regolarmente l'Hub integrità soluzione di Field Service per identificare se i procesi sono in stato disattivato.

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. L'Hub integrità soluzione esegue regole in un'istanza per convalidare la configurazione dell'ambiente, che potrebbe cambiare nel tempo con operazioni di sistema naturali. Alcune delle regole sono specifiche a Dynamics 365 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.

Esegui regolarmente l'Hub integrità soluzione di Field Service per monitorare l'integrità del tuo ambiente.

Considerazioni sulle prestazioni dell'app per dispositivi mobili

Anche la personalizzazione dell'app per dispositivi mobili può influire sulle prestazioni. Per ulteriori informazioni, vedere questo articolo: Considerazioni sulle prestazioni durante la personalizzazione dell'app per dispositivi mobili