Partajați prin


Cele mai bune practici de personalizare

Urmați aceste bune practici pentru a evita problemele de performanță, utilizare și suportabilitate Dynamics 365 Field Service.

Minimizați câmpurile personalizate din formulare

Personalizatorii de sistem adaugă câmpuri personalizate la formularele de entitate pentru a capta informații specifice industriei și afacerii lor, pentru a rula procese de afaceri și pentru a colecta informații despre care să raporteze. Cu toate acestea, prea multe câmpuri personalizate dintr-un formular pot cauza probleme de performanță.

Pentru a evita problemele de performanță:

  • Minimizați numărul de câmpuri personalizate din toate formularele. Începând cu formularul de comandă de lucru este un idee bun dacă acesta este cel mai folosit formular în aplicația Field Service.
  • Minimizați câmpurile de tip de căutare și subgrila dintre câmpurile personalizate.
  • Mutați câmpurile personalizate (în special căutări și subgrile) din prima filă de formular în alte file de formular.
  • Ascundeți câmpurile mai puțin utilizate în mod implicit în formular.

Nu modificați resursele web disponibile, seturile de opțiuni, rolurile de securitate sau fluxurile de lucru

Nu modificați și nu personalizați resursele web disponibile, seturile de opțiuni, rolurile de securitate sau fluxurile de lucru. Poate duce la un comportament neintenționat al sistemului.

Este posibil ca organizațiile care personalizează aceste componente să nu vadă imediat probleme în mediul lor. Cu toate acestea, pe măsură ce Microsoft lansează modificări ale componentelor personalizate out-of-box, aceste modificări nu sunt aplicate la partea de sus strat a acelei componente. Specificul strat personalizat anulează toate modificările viitoare, care în cele din urmă provoacă erori și comportament imprevizibil.

Nu modificați, editați sau ștergeți câmpurile de date sau stările sistemului

Modificarea, editarea sau ștergerea câmpurilor de date și a stărilor poate afecta logica afacerii și poate cauza probleme cu actualizările soluției. Exemple de date ale comenzii de lucru sunt timpul de la promis și timpul până la promis. Exemple de câmpuri de stare includ starea sistemului de comandă de lucru și starea sistemului de acord.

Nu editați și nu eliminați câmpurile din formulare

Clienții editează câmpuri disponibile pentru a se potrivi nevoilor lor de afaceri. Cu toate acestea, editarea câmpurilor disponibile poate provoca erori, mai ales atunci când procesele depind de acele valori de câmp.

Pentru a evita erorile:

  • Ascundeți câmpurile nedorite dintr-un formular.
  • Mutați câmpurile nedorite într-o altă filă de formular.

Iată doar un exemplu: procesele Field Service calculează valoarea câmpului Ora estimată de sosire din înregistrarea Rezervării resurselor rezervabile pentru a indica când este de așteptat să sosească un lucrător din prima linie la fața locului. Dacă organizația dvs. nu are nevoie de acest câmp, ascundeți-l în formular în loc să-l eliminați.

Nu editați valorile set de opțiuni (alegerea).

Editarea valorilor set de opțiuni ale câmpurilor disponibile poate provoca erori, mai ales atunci când procesele depind de acele valori de câmp sau în timpul upgrade-urilor.

Pentru a evita erorile:

  • Editați numai set de opțiuni labels and never edit set de opțiuni valorile din câmpurile disponibile.
  • Nu eliminați nicio opțiune set de opțiuni.
  • Nu adăugați nicio opțiune set de opțiuni.

Iată doar un exemplu: comanda de lucru Field Service include în mod implicit un câmp numit „Stare sistem”. Acest câmp este un set de opțiuni (tip „alegere”) cu opțiuni precum Neprogramat, Programat, În curs, Terminat, Anulat etc. Fiecare dintre aceste opțiuni are o etichetă și o valoare numerică asociată. Administratorii de sistem pot edita etichetele seturilor de opțiuni (cum ar fi „Neprogramat”), dar nu pot edita niciodată valoarea numerică asociată etichetei.

Utilizați mai puține scripturi personalizate și urmați cele mai bune practici

Personalizatorii de sistem scriu scripturi, de obicei resurse web JavaScript, pentru a executa logica de afaceri. Cu toate acestea, scripturile personalizate pot cauza probleme de performanță, erori și complicații la actualizare.

Pentru a evita aceste probleme:

  • Minimizați scripturile care rulează la încărcare.
  • Nu scrieți scripturi care apelează o mulțime de date sau nu scrieți mai multe scripturi care apelează aceleași date.

Urmați mai multe cele mai bune practici pentru scripturi de formular, inclusiv următoarele cele mai bune practici.

Minimizați numărul de solicitări de rețea și cantitatea de date solicitate în evenimentul OnLoad

Cu cât este mai mare numărul de solicitări de rețea făcute în timpul încărcării unui formular și cu cât este mai mare cantitatea de date descărcate din acele solicitări, cu atât este nevoie de mai mult timp pentru încărcarea unui formular. Solicitați doar cantitatea minimă de date necesare. De asemenea, luați în considerare stocarea datelor în cache atunci când este posibil, pentru a evita solicitarea inutilă a datelor pentru încărcările viitoare de pagină.

Evitați utilizarea solicitărilor de rețea sincrone

Solicitările de rețea sincronă pot provoca încărcări lente ale paginii și formulare care nu răspund. Folosiți în schimb solicitări asincrone. Consultați această postare de blog pentru mai multe exemple. În plus, luați în considerare utilizarea „async and wait” în orice scenariu în care sunt necesare mai multe apeluri de rețea pentru aceeași entitate și înregistrare; găsiți mai multe detalii aici.

Evitați includerea bibliotecilor de resurse web JavaScript inutile

Cu cât adăugați mai multe scripturi în formular, cu atât este nevoie de mai mult timp pentru a le descărca. De obicei, scripturile sunt stocate în cache în browser după ce sunt încărcate prima dată, dar performanța la prima vizualizare a unui formular creează adesea o impresie semnificativă.

Evitați încărcarea tuturor scripturilor în evenimentul Onload

Dacă aveți cod care acceptă numai evenimente OnChange pentru coloane sau evenimentul OnSave, asigurați-vă că setați biblioteca de scripturi cu handlerul de evenimente pentru acele evenimente în loc de evenimentul OnLoad. În acest mod, încărcarea bibliotecilor poate fi amânată și crește performanța atunci când se încarcă formularul.

Utilizați file restrânse pentru a amâna încărcarea resurselor web

Când resursele web sau componentele iframe sunt incluse în secțiuni dintr-o filă restrânsă, acestea nu se încarcă dacă fila este restrânsă. Se încarcă atunci când fila este extinsă. Când starea filei se schimbă, are loc evenimentul TabStateChange. Orice cod care este necesar pentru a susține resurse web sau iframe în filele restrânse poate folosi handlere de evenimente pentru evenimentul TabStateChange și poate reduce codul care altfel ar trebui să apară în evenimentul OnLoad.

Evitați solicitările de rețea duplicate în codul clientului

Solicitările de rețea multiple sau duplicate pot face ca browserul web să se blocheze și să afecteze timpul de încărcare a formularului. Reducerea numărului de solicitări poate îmbunătăți performanța. O alternativă este consolidarea cererilor de rețea și stocarea în cache a valorii cererilor. Luați în considerare, de asemenea, solicitările de rețea asincrone, așa cum sa menționat anterior.

Evitați utilizarea rolurilor și a apelurilor specifice utilizatorului de sistem dacă informațiile relevante sunt disponibile în API-urile XRM

Utilizați API-urile XRM pentru a evita solicitările de rețea pentru a obține informații despre privilegiile utilizatorului. Vezi următorul articol despre trecerea de la cererile sincrone. În mod similar, evitați apelurile utilizatorilor de sistem dacă informațiile din API-urile XRM îndeplinesc cerințele dvs.

Setați opțiunile implicite de vizibilitate

Evitați utilizarea scripturilor de formular în evenimentul OnLoad care ascund elementele formularului. În schimb, setați opțiunile de vizibilitate implicite pentru elemente de formular care ar putea fi ascunse, pentru a nu fi vizibile în mod implicit atunci când se încarcă formularul. Apoi, utilizați scripturi în evenimentul OnLoad pentru a afișa acele elemente de formular pe care doriți să le afișați.

Pentru mai multe informații, consultați aceste resurse:

Rulați Solution Checker pe scripturile dvs

Power Apps Verificatorul de soluții este un instrument util de la Microsoft care verifică Power Apps soluțiile pentru probleme și recomandă cele mai bune practici. Aceste probleme includ probleme cu JavaScript, HTML, pluginuri și activități personalizate ale fluxului de lucru.

Pentru mai multe informații, consultați aceste resurse:

Utilizați fluxuri de lucru asincrone în loc de sincrone

Personalizatorii de sistem scriu adesea fluxuri de lucru sincrone pentru a realiza logica de afaceri în timp real, care se execută atunci când datele sunt modificate în Field Service. Cu toate acestea, rularea fluxurilor de lucru sincron scade performanța.

Pentru a evita problemele de performanță, rulați fluxurile de lucru în mod asincron.

Activați procesele de tip Field Service și Planificarea resurselor

Field Service și Resource Scheduling sunt livrate cu multe procese care realizează logica de afaceri necesară.

Procesele dezactivate pot duce la erori.

Pentru a evita probleme, asigurați-vă că toate procesele Field Service și Resource Scheduling sunt într-o stare activă. Pentru a identifica dacă procesele sunt într-o stare dezactivată, rulați în mod regulat Field Service Hub pentru starea soluțiilor.

Rulați Hub pentru starea soluțiilor pentru a detecta probleme

Hub pentru starea soluțiilor vă permite să obțineți o imagine mai bună a stării mediului dvs. și să detectați problemele legate de mediul dvs. Dynamics 365. Hub pentru starea soluțiilor execută reguli în cadrul unei instanțe pentru a valida configurația mediului, care s-ar putea schimba în timp prin operații ale sistemului natural. Unele dintre reguli sunt specifice Dynamics 365 Field Service și puteți rula regulile la cerere atunci când întâmpinați o problemă. Unele reguli se declanșează automat atunci când este instalat sau actualizat Field Service.

Pentru a monitoriza starea de sănătate a mediului dvs., rulați în mod regulat setul de reguli Field Service Hub pentru starea soluțiilor .

Considerații privind performanța aplicației mobile

Personalizarea aplicației mobile poate afecta, de asemenea, performanța. Pentru mai multe informații, accesați Considerații privind performanța atunci când personalizați aplicația mobilă.