Najlepsze rozwiązania dotyczące dostosowywania

Postępuj zgodnie z tymi sprawdzonymi metodami, aby uniknąć problemów z wydajnością, użytecznością i obsługą związanych z Dynamics 365 Field Service.

Minimalizuj pola niestandardowe w formularzach

Konfiguratorzy systemu dodają pola niestandardowe do formularzy encji, aby przechwytywać informacje specyficzne dla ich branży i działalności, uruchamiać procesy biznesowe i zbierać informacje do raportowania. Zbyt wiele pól niestandardowych w formularzu może powodować problemy z wydajnością.

Aby uniknąć problemów z wydajnością:

  • Zminimalizuj liczbę pól niestandardowych we wszystkich formularzach. Rozpoczęcie pracy z formularzem zlecenia pracy jest dobrym pomysłem, jeśli jest to najczęściej używany formularz w aplikacji Field Service.
  • W przypadku pól niestandardowych ograniczenie pól i podsiatki typu wyszukiwania ma największy wpływ na wydajność formularza, na przykład czasy ładowania.
  • Przenieś pola niestandardowe (zwłaszcza wyszukiwanie i podsiatki) z pierwszej karty formularza na inne karty formularza.
  • Domyślnie ukryj w formularzu rzadziej używane pola.

Nie mogę dostosować gotowych zasobów internetowych, zestawów opcji lub przepływów pracy

Dostosowywanie, podejmowanie zależności lub niestandardowe wywoływanie dostępnych zasobów internetowych, zestawów opcji, ról zabezpieczeń lub przepływów pracy nie jest obsługiwane i może powodować niezamierzone zachowanie systemu.

Organizacje, które dostosowują te składniki, mogą nie od razu zauważyć problemy w środowisku. Jednak w miarę, jak Microsoft wprowadza zmiany w dostosowanych, gotowych składnikach, zmiany te nie są stosowane do górnej warstwy tego składnika. Określona niestandardowa warstwa zastępuje wszystkie przyszłe zmiany, które ostatecznie powodują nieoczekiwane błędy i zachowania.

Nie mogę modyfikować, edytować ani usuwać pól daty ani stanów systemu

Modyfikowanie, edytowanie i usuwanie pól danych i stanów może mieć wpływ na logikę biznesową i może powodować problemy z aktualizacjami rozwiązań. Przykładami dat zlecenia pracy są uzgodniony czas początkowy i uzgodniony czas zakończenia. Przykłady pól stanu obejmują stan systemowego zlecenia pracy i stan umowy systemowej.

Nie edytuj ani nie usuwaj standardowych pól z formularzy

Klienci edytują pola standardowe, aby dostosować je do swoich potrzeb biznesowych. Jednak edytowanie pól standardowych może powodować błędy, zwłaszcza gdy procesy zależą od wartości tych pól.

Aby uniknąć błędów:

  • Ukryj niepożądane pola w formularzu.
  • Przenieś niechciane pola na inną kartę formularza.

Poniżej podano tylko jeden przykład: procesy usługi Field Service obliczają szacowany czas przybycia w rekordzie rezerwacji zasobu, który można zarezerwować, aby wskazać, kiedy pracownik pierwszej linii ma przybyć na miejsce. Jeśli dane pole nie jest potrzebne w organizacji, zamiast usuwania ukryj je w formularzu.

Więcej informacji można znaleźć w tych artykułach:

Nie edytuj wartości zestawu opcji (do wyboru)

Edytowanie wartości zestawu opcji standardowych pól może powodować błędy, zwłaszcza gdy procesy zależą od wartości tych pól lub podczas aktualizacji.

Aby uniknąć błędów:

  • Edytuj tylko etykiety zestawu opcji i nigdy nie edytuj wartości zestawu opcji pól standardowych.
  • Nie usuwaj żadnych zestawów opcji do wyboru.
  • Nie dodawaj żadnych zestawów opcji do wyboru.

Oto tylko jeden przykład: zlecenie pracy Field Service zawiera domyślnie pole o nazwie „Stan systemu”. To pole to pole zestaw opcji (typ "wybór") z opcjami, takim jak Niezaplanowane, Zaplanowane, W toku, Zakończono, Anulowano itp. Każda z tych opcji ma etykietę i skojarzoną wartość liczbową. Administratorzy systemu mogą edytować etykiety zestawów opcji (na przykład "Niezaplanowane"), ale nigdy nie mogą edytować skojarzonej wartości liczbowej etykiety.

Używaj mniej skryptów niestandardowych i postępuj zgodnie ze sprawdzonymi metodami

Konfiguratorzy systemu piszą skrypty, zazwyczaj zasoby sieci Web JavaScript, w celu wykonania logiki biznesowej. Jednak skrypty niestandardowe mogą powodować problemy z wydajnością, błędy i komplikacje podczas uaktualniania.

Aby uniknąć tych problemów:

  • Zminimalizuj skrypty uruchamiane po załadowaniu.
  • Nie pisz skryptów, które wywołują wiele danych, ani nie pisz wielu skryptów, które wywołują te same dane.

Korzystaj z większej ilości najlepszych rozwiązań w zakresie skryptów formularzy, w tym następujących najlepszych rozwiązań:

Minimalizowanie liczby żądań sieciowych i ilości danych żądanych w zdarzeniu OnLoad

Im większa jest liczba żądań sieciowych wykonanych podczas ładowania formularza, tym większa jest ilość danych pobranych z tych żądań i tym więcej czasu trzeba na załadowanie formularza. Wystarczy zażądać minimalnej ilości potrzebnych danych. Ponadto należy rozważyć buforowanie danych w miarę możliwości, aby uniknąć niepotrzebnych żądań danych podczas przyszłego ładowania strony.

Unikanie używania synchronicznych żądań sieciowych

Synchroniczne żądania sieciowe mogą powodować wolne ładowanie stron i nie odpowiadanie na formularze. Zamiast tego należy użyć żądań asynchronicznych. Zobacz ten wpis w blogu, aby zobaczyć więcej przykładów. Ponadto warto rozważyć użycie funkcji "async and wait" w dowolnym scenariuszu, w którym wiele wywołań sieciowych dla tej samej encji i rekordu jest potrzebnych; znajdź więcej informacji szczegółowych tutaj.

Unikaj dołączania niepotrzebnych bibliotek JavaScript z zasobów sieci web

Im więcej skryptów dodasz do formularza, tym dłużej trwa ich pobieranie. Po pierwszym załadowaniu skrypty są zazwyczaj przechowywane w pamięci podręcznej przeglądarki, jednak wydajność uzyskana podczas pierwszego wyświetlania formularza często wywiera znaczące wrażenie.

Nie należy ładować wszystkich skryptów za pomocą zdarzenia Onload

Jeśli używany kod obsługuje tylko zdarzenia OnChange dla kolumn lub zdarzenia OnSave, upewnij się, aby ustawić bibliotekę skryptów za pomocą programu obsługi zdarzeń dla tych zdarzeń, zamiast zdarzenia OnLoad. W ten sposób ładowanie tych bibliotek może zostać odroczone i zwiększy się wydajność podczas ładowania formularzy.

Używaj zwiniętych kart, aby odroczyć ładowanie zasobów sieci web

Jeśli zasoby internetowe lub składniki iFrame znajdują się w sekcjach wewnątrz zwiniętej karty, nie ładują się, jeśli karta pozostaje zwinięta. Są ładowane po rozwinięciu karty. Gdy zmieni się stan karty, wystąpi zdarzenie TabStateChange. Każdy kod, który jest wymagany do obsługi zasobów internetowych lub ramek iFrame w obrębie zwiniętych kart, może używać procedur obsługi zdarzeń dla zdarzenia TabStateChange, co pozwoli zmniejszyć ilość kodu, który w przeciwnym razie musiałby pojawić się w zdarzeniu OnLoad.

Unikaj zduplikowanych żądań sieciowych w kodzie po stronie klienta

Wielokrotne lub zduplikowane żądania sieciowe mogą spowodować, że przeglądarka sieci Web będzie się blokować co wpłynie na czas ładowania formularza. Zmniejszenie liczby żądań może poprawić wydajność. Alternatywą jest skonsolidowanie żądań sieciowych i buforowanie wartości żądań. Należy również uwzględnić asynchroniczne żądania sieciowe wymienione wcześniej.

Należy unikać używania ról i określonych rozmów telefonicznych użytkowników systemowych, jeśli w interfejsach API zarządzania usługami XRM są dostępne odpowiednie informacje

Należy używać interfejsów API usług XRM, aby uniknąć żądań sieciowych, aby uzyskać informacje o uprawnieniach użytkowników. Zobacz poniższy artykuł o odchodzeniu od żądań synchronicznych. Należy również unikać wywołań użytkowników systemowych, jeśli informacje z interfejsów API zarządzania usługami XRM spełniają określone wymagania.

Ustaw domyślne opcje widoczności

Unikaj używania skryptów formularza w zdarzeniu OnLoad, które ukrywają elementy formularza. Zamiast tego lepiej ustawić domyślne opcje widoczności elementów formularza, które mogą być ukryte i nie będą wyświetlane domyślnie podczas ładowania formularza. Następnie należy użyć skryptów w zdarzeniu OnLoad, aby wyświetlić te elementy formularza, które mają być wyświetlane.

Aby uzyskać więcej informacji zobacz te zasoby:

Uruchamianie sprawdzania rozwiązań dla skryptów

Narzędzie Power Apps do sprawdzania rozwiązań to przydatne narzędzie firmy Microsoft, które sprawdza rozwiązania Power Apps pod kątem problemów i zaleca najlepsze metody postępowania. Kwestie te obejmują problemy z językiem JavaScript, kodem HTML, dodatkami plug-in i niestandardowymi działaniami przepływu pracy.

Aby uzyskać więcej informacji zobacz te zasoby:

Używaj asynchronicznych przepływów pracy zamiast synchronicznych

Konfiguratorzy systemu często piszą synchroniczne przepływy pracy, aby wykonywać logikę biznesową w czasie rzeczywistym, która jest wykonywana po zmianie danych w Field Service. Jednak uruchamianie przepływów pracy w sposób synchroniczny powoduje zmniejszenie wydajności.

Aby uniknąć problemów z wydajnością, należy uruchamiać przepływy pracy asynchronicznie.

Aktywowanie standardowych procesów Field Service i Planowania zasobów

Field Service i Planowanie zasobów są dostarczane z wieloma procesami, które wykonują niezbędną logikę biznesową.

Dezaktywowane procesy mogą prowadzić do błędów.

Aby uniknąć problemów, upewnij się, że wszystkie procesy Field Service i Planowanie zasobów są w stanie aktywnym. Regularnie uruchamiaj Centrum kondycji rozwiązania Field Service Solution, aby sprawdzić, czy procesy są w stanie Dezaktywowany.

Uruchamiaj Centrum kondycji rozwiązań w celu wykrycia problemów

Centrum kondycji rozwiązania umożliwia uzyskanie lepszego obrazu stanu środowiska i wykrywa problemy ze środowiskiem Dynamics 365. Centrum kondycji rozwiązania obsługuje reguły w wystąpieniu w celu sprawdzenia poprawności konfiguracji środowiska, która mogą ulec zmianie w czasie, korzystając z operacji systemu naturalnego. Niektóre reguły są specyficzne dla Dynamics 365 Field Service i można uruchamiać reguły na żądanie, kiedy wystąpią problemy. Niektóre reguły są wyzwalane automatycznie po zainstalowaniu lub zaktualizowaniu usługi Field Service.

Regularnie uruchamiaj Centrum kondycji rozwiązania Field Service Solution, zestaw reguł, w celu monitorowania stanu środowiska.

Zagadnienia dotyczące wydajności aplikacji mobilnej

Dostosowanie aplikacji mobilnej może również mieć wpływ na wydajność. Aby uzyskać więcej informacji, zobacz ten artykuł: Rozważania dotyczące wydajności podczas dostosowywania aplikacji mobilnej