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.
- Minimalizowanie liczby pól typów wyszukiwania i podsiatek między polami niestandardowymi.
- 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
Nie zmieniaj ani nie dostosowuj standardowych zasobów sieci Web, zestawy opcji, role zabezpieczeń lub przepływów pracy. W przeciwnym razie może dojść do niezamierzonego zachowania systemu.
Organizacje, które dostosowuje te składniki, mogą doświadczyć nie od razu problemów w ich środowisku. Jednak zmiany, które firma Microsoft wydaje w dostosowanych, gotowych składnikach, nie są stosowane do wierzchniej warstwy tych składników. Zamiast tego określona warstwa dostosowana zastępuje wszystkie przyszłe zmiany, które ostatecznie powodują nieprzewidywalne 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 uaktualniania rozwiązań. Przykładami pól daty w zleceniu pracy są Uzgodniona godzina od i Uzgodniona godzina do. Przykłady pól stanu obejmują Stanu systemu w zleceniu pracy i Stan systemu w umowie.
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ą wartość pola Szacowany czas przyjazdu w rekordzie Rezerwacja zasobu, który można zarezerwować, aby wskazać, kiedy pracownik pierwszego kontaktu ma przybyć na miejsce. Jeśli dane pole nie jest potrzebne w organizacji, zamiast usunąć ukryj je w formularzu.
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 zestawów opcji gotowych pól. Nigdy nie edytuj wartości zestawu opcji w tych polach.
- Nie usuwaj żadnych zestawów opcji do wyboru.
- Nie dodawaj żadnych zestawów opcji do wyboru.
Na przykład zlecenie pracy usługi Field Service domyślnie zawiera pole Stan systemu. To pole jest zestawem opcji (typu wybór) i zawiera opcje, takie jak Niezaplanowane, Zaplanowane, W toku, Zakończone i Anulowane. Każda opcja 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 liczbę skryptów uruchamianych podczas ładowania.
- Nie pisz skryptów, które wywołują wiele danych, ani nie pisz wielu skryptów, które wywołują te same dane.
W poniższych podsekcjach opisano najlepsze rozwiązania. Ponadto postępuj zgodnie z najlepszymi rozwiązaniami dotyczącymi skryptu formularza opisanymi w temacie Najlepsze rozwiązania dotyczące programowania za pomocą Dynamics 365 Customer Engagement.
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 w ramach tych żądań i tym więcej czasu zajmie 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. Poniższy wpis w blogu zawiera więcej przykładów: Turbodoładowanie aplikacji opartych na modelu poprzez odejście od żądań synchronicznych. 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. Więcej informacji o „async and await”.
Unikaj dołączania niepotrzebnych bibliotek JavaScript z zasobów sieci web
Im więcej skryptów dodasz do formularza, tym dłużej będzie trwało ich pobranie. Zazwyczaj skrypty są buforowane w przeglądarce po ich pierwszym załadowaniu. Jednak wydajność przy pierwszym wyświetleniu formularza często robi 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
, pamiętaj, aby dla tych zdarzeń ustawić bibliotekę skryptów za pomocą programu obsługi zdarzeń, a nie za pomocą 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
Zasoby sieci Web lub składniki iFrame zawarte w sekcjach na zwijanej karcie nie są ładowane, jeśli karta jest zwinięta. Zostaną załadowane tylko po rozwinięciu karty. Gdy zmieni się stan karty, wystąpi zdarzenie TabStateChange
. Wszelki kod, który jest wymagany do obsługi zasobów sieci web lub elementów iFrame w obrębie zwiniętych kart, może korzystać z programu obsługi zdarzeń w przypadku zdarzeń TabStateChange
. W ten sposób można zmniejszyć wielkość kodu, który w przeciwnym razie mógłby wystąpić jako zdarzenie 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ń. Ponadto należy wziąć pod uwagę asynchroniczne żądania sieciowe, jak wspomniano 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. Informacje na temat, jak odejść 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 dla elementów formularza, które mogą być ukryte lepiej ustawić domyślne opcje widoczności jako ukryte, tak że nie będą on 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.
Dowiedz się więcej z następujących zasobów:
Uruchamianie sprawdzania rozwiązania 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.
Dowiedz się więcej z następujących zasobów:
- Poprawienie wydajności, stabilności i niezawodności składnika za pomocą sprawdzania rozwiązania
- Uruchamianie i używanie modułu sprawdzania rozwiązań Power Apps Solution Checker
- Moduł sprawdzania rozwiązań Dataverse
Używanie 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 zawierają wiele procesów, 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. Konfiguracja środowiska może z czasem ulec zmianie w wyniku naturalnych operacji systemowych. Centrum kondycji rozwiązania uruchamia reguły w wystąpieniu w celu zweryfikowania konfiguracji środowiska. Niektóre reguły są specyficzne dla Field Service i można uruchamiać je na żądanie, kiedy wystąpią problemy. Niektóre reguły są wyzwalane automatycznie po zainstalowaniu lub zaktualizowaniu usługi Field Service.
Regularnie uruchamiaj zestaw reguł Centrum kondycji rozwiązania, w celu monitorowania stanu środowiska.
Zagadnienia dotyczące wydajności aplikacji mobilnej
Dostosowanie aplikacji mobilnej może również mieć wpływ na wydajność. Więcej informacji: Rozważania dotyczące wydajności podczas dostosowywania aplikacji mobilnej.