Sdílet prostřednictvím


Osvědčení postupy přizpůsobení

Postupujte podle těchto doporučených postupů, abyste se vyhnuli problémům s výkonem, použitelností a podporou u služby Dynamics 365 Field Service.

Minimalizujte vlastní pole ve formulářích

Systémové přizpůsobení přidávají do formulářů entit vlastní pole pro zachycení informací specifických pro jejich odvětví a podnikání, pro spouštění obchodních procesů a pro shromažďování informací, o kterých lze podávat zprávy. Příliš mnoho vlastních polí ve formuláři však může způsobit problémy s výkonem.

Chcete-li se problémům s výkonem vyhnout:

  • Minimalizujte počet vlastních polí ve všech formulářích. Je vhodné začít formulářem pracovního příkazu, pokud je to váš nejpoužívanější formulář v aplikaci Field Service.
  • Minimalizujte počet polí typu vyhledávání a podmřížek mezi vlastními poli.
  • Přesuňte vlastní pole (především vyhledávací a podmřížky) z první karty formuláře na jiné karty formuláře.
  • Ve výchozím nastavení skryjte ve formuláři méně používaná pole.

Neměňte předpřipravené webové prostředky, sady možností ani pracovní postupy

Neměňte ani nepřizpůsobujte předpřipravené webové prostředky, sady možností nebo role zabezpečení nebo pracovní postupy. V opačném případě může dojít k neúmyslnému chování systému.

Organizace, které přizpůsobují tyto komponenty, nemusí problémy v prostředí zaznamenat okamžitě. Změny, které Microsoft provede přizpůsobeným předdefinovaným komponentům, se však nepoužijí na horní vrstvu těchto komponent. Místo toho konkrétní přizpůsobená vrstva přepíše všechny budoucí změny a tato přepsání nakonec způsobí nepředvídatelné chyby a chování.

Neměňte, neupravujte ani neodstraňujte pole s daty ani stavy systému

Změny, úpravy nebo odstranění polí s kalendářními daty a stavů může ovlivnit obchodní logiku a způsobit problémy s aktualizacemi řešení. Jako příklad polí s kalendářním datem na pracovním příkazu můžeme uvést Slíbený počáteční čas a Slíbený koncový čas. Jako příklad stavových polí můžeme uvést Systémový stav pracovního příkazu nebo Systémový stav smlouvy.

Neupravujte ani neodebírejte předem připravená pole z formulářů

Zákazníci upravují předem připravená pole, aby vyhovovala jejich obchodním potřebám. Úpravy předem připravených polí však mohou způsobit chyby, zejména pokud procesy závisejí na hodnotách těchto polí.

Chcete-li se vyhnout chybám:

  • Ve formuláři skryjte nežádoucí pole.
  • Přesuňte nežádoucí pole na jinou kartu formuláře.

Například procesy Field Service počítají hodnotu pole Odhadovaný čas příjezdu v záznamu Rezervace rezervovatelného zdroje, aby bylo vidět, kdy asi pracovník v první linii dorazí na místo. Pokud vaše organizace toto pole nepotřebuje, neodebírejte jej, ale spíše jej ve formuláři skryjte.

Neupravujte hodnoty sady možností (voleb)

Úpravy hodnot sad možností předem připravených mohou způsobit chyby, zejména pokud procesy závisejí na hodnotách těchto polí nebo během aktualizací.

Chcete-li se vyhnout chybám:

  • Upravujte pouze popisky sady možností pro předem připravená pole. Nikdy neupravujte hodnoty sady možností v těchto polích.
  • Neodstraňujte žádné volby sady možností.
  • Nepřidávejte žádné volby sady možností.

Například pracovní příkaz Field Service obsahuje ve výchozím nastavení pole Stav systému. Toto pole je sada možností (typ volby ) a obsahuje možnosti jako Neplánované, Plánované, Probíhá, Dokončeno a Zrušeno. Každá volba má popisek a přidruženou číselnou hodnotu. Správci systému mohou upravovat popisky sad možností (například Neplánováno), ale nikdy nemohou upravovat číselnou hodnotu přidruženou k popisku.

Používejte méně vlastních skriptů a dodržujte osvědčené postupy

Úpravci systému píší skripty, obvykle webové prostředky JavaScript, k provádění obchodní logiky. Vlastní skripty však mohou způsobit problémy s výkonem, chyby a komplikace při upgradech.

Chcete-li se těmto problémům vyhnout:

  • Minimalizujte počet skriptů, které se spouštějí při načítání.
  • Nepište skripty, které volají velké množství dat, ani nepište více skriptů, které volají stejná data.

Následující pododdíly popisují osvědčené postupy. Kromě toho postupujte podle osvědčených postupů pro skripty formuláře v tématu Osvědčené postupy pro vývoj s Dynamics 365 Customer Engagement.

Minimalizujte počet síťových požadavků a množství požadovaných dat v události OnLoad

Čím vyšší je počet síťových požadavků provedených během načítání formuláře a čím je více dat stažených z těchto požadavků, tím více času trvá načtení formuláře. Požadujte pouze minimální množství potřebných dat. Mimo to zvažte také ukládání dat do mezipaměti, abyste se vyhnuli zbytečnému vyžádání dat při budoucích načteních formuláře.

Nepoužívejte synchronní síťové požadavky

Synchronní požadavky na síť mohou způsobit pomalé načítání stránek a nereagující formuláře. Místo toho použijte asynchronní požadavky. Následující příspěvek na blogu obsahuje více příkladů: Přechodem od synchronních požadavků můžete své modelem řízené aplikace značně zrychlit. Kromě toho zvažte použití „asynchronního chování a čekání“ v jakémkoli scénáři, kde je potřeba více síťových volání pro stejnou entitu a záznam. Další informace o synchronizaci a čekání.

Zabránění zahrnutí zbytečných knihoven webových prostředků jazyka JavaScript

Čím více skriptů přidáte do formuláře, tím déle bude trvat jejich stažení. Skripty se obvykle ukládají do mezipaměti v prohlížeči po jejich prvním načtení. Výkon při prvním zobrazení formuláře však často vytváří silný dojem.

Zabránění načtení všech skriptů v události OnLoad

Pokud máte kód, který podporuje pouze události OnChange u sloupců nebo pouze události OnSave, nastavte pro tyto události knihovnu skriptů pomocí obslužné rutiny události namísto události OnLoad. Tímto způsobem lze odložit načítání těchto knihoven a zvýšit výkon při načítání formuláře.

Použití sbalených karet k odložení načítání webových prostředků

Webové prostředky nebo komponenty iFrame, které jsou v sekcích sbalitelné karty nejsou načteny, pokud je karta sbalená. Budou načteny pouze při rozbalení karty. Při změně stavu karty dojde k události TabStateChange. Jakýkoli kód, který je vyžadován pro podporu webových prostředků nebo prvků iFrame v rámci sbalených karet, může používat obslužné rutiny události pro událost TabStateChange a zkrátit kód, který by se jinak možná musel objevit v události OnLoad.

Vyhněte se duplicitním síťovým požadavkům v kódu na straně klienta

Vícenásobné nebo duplicitní síťové požadavky mohou způsobit zablokování webového prohlížeče a ovlivnit dobu načítání formuláře. Snížení počtu požadavků může zlepšit výkon. Alternativou je konsolidace síťových požadavků a ukládání hodnoty těchto požadavků do mezipaměti. Kromě toho zvažte asynchronní síťové požadavky, jak bylo zmíněno dříve.

Vyhněte se používání rolí a specifická systémová uživatelská volání, pokud jsou relevantní informace dostupné v XRM API

Použijte XRM API, abyste se vyhnuli síťovým požadavkům na získání informací o uživatelských oprávněních. Přečtěte si další informace, jak přejít od synchronních požadavků. Mimo to nepoužívejte systémová uživatelská volání, pokud informace z XRM API splňují vaše požadavky.

Nastavení výchozích možností viditelnosti

V události OnLoad nepoužívejte skripty formuláře, které skrývají prvky formuláře. Namísto toho pro prvky formuláře, které mohou být skryty, nastavte výchozí možnosti viditelnosti, takže tyto prvky jsou ve výchozím nastavení při načtení formuláře skryté. Potom použijte skripty v události OnLoad k zobrazení prvků formuláře, které chcete zobrazit.

Další informace najdete v těchto materiálech:

Spusťte ve svých skriptech kontrolu řešení

Kontrola řešení Power Apps je užitečný nástroj od společnosti Microsoft, který vyhledává v řešeních Power Apps problémy a doporučuje použití osvědčených postupů. Tyto problémy zahrnují problémy s kódem jazyka JavaScript, HTML, moduly plug-in a vlastními aktivitami pracovního postupu.

Další informace najdete v těchto materiálech:

Používání asynchronních pracovních postupů namísto synchronních

Úpravci systému často píší synchronní pracovní postupy pro provádění obchodní logiky v reálném čase, která se spouští při změně dat ve Field Service. Synchronní spouštění pracovních postupů však sníží výkon. Chcete-li se vyhnout problémům s výkonem, spouštějte pracovní postupy asynchronně.

Aktivace předem připravených procesů Field Service a Resource Scheduling

Field Service a Resource Scheduling zahrnují mnoho procesů, které provádějí nezbytnou obchodní logiku. Deaktivované procesy mohou vést k chybám. Abyste předešli problémům, ujistěte se, že všechny procesy Field Service a Resource Scheduling jsou v aktivním stavu. Pravidelně spouštějte Centrum stavu řešení Field Service, ve kterém zjistíte, zda jsou procesy v deaktivovaném stavu.

Spuštění Centra stavu řešení k detekci problémů

Centrum stavu řešení vám umožní získat lepší představu o stavu vašeho prostředí a odhalit problémy s prostředím Dynamics 365. Konfigurace prostředí se může v průběhu času měnit prostřednictvím přirozených systémových operací. Centrum stavu řešení spouští pravidla v rámci instance, která ověřují konfiguraci prostředí. Některá pravidla jsou specifická pro Field Service a pokud narazíte na problém, můžete tato pravidla spustit na vyžádání. Některá pravidla jsou automaticky aktivována, když je aplikace Field Service nainstalována nebo aktualizována.

Pravidelně spouštějte sadu pravidel Centrum stavu řešení a sledujte stav vašeho prostředí.

Důležité informace o výkonu mobilní aplikace

Přizpůsobení mobilní aplikace může ovlivnit výkon. Další informace naleznete v článku Důležité informace o výkonu při přizpůsobení mobilní aplikace.