Bewährte Methoden für Anpassungen

Befolgen Sie diese Best Practices, um Probleme mit Leistung, Benutzerfreundlichkeit und Supportfähigkeit mit Dynamics 365 Field Service zu vermeiden.

Benutzerdefinierte Felder in Formularen minimieren

Systemanpasser fügen Entitätsformularen benutzerdefinierte Felder hinzu, um branchen- und geschäftsspezifische Informationen zu erfassen, Geschäftsprozesse auszuführen und Informationen für Berichte zu sammeln. Zu viele benutzerdefinierte Felder in einem Formular können jedoch Leistungsprobleme verursachen.

Um diese Leistungsprobleme zu vermeiden:

  • Minimieren Sie die Anzahl der benutzerdefinierten Felder auf allen Formularen. Es ist eine gute Idee, mit dem Arbeitsauftragsformular zu beginnen, wenn dies das am häufigsten verwendete Formular in der Field Service-App ist.
  • Unter benutzerdefinierten Feldern, haben die Felder des Typs „Suchen“ und Unterraster den größten Einfluss auf die Formularleistung, wie beispielsweise die Ladezeiten.
  • Verschieben Sie benutzerdefinierte Felder (insbesondere Suchen und Unterrster) von der ersten Formularregisterkarte in andere Formularregisterkarten.
  • Blenden Sie weniger verwendete Felder standardmäßig im Formular aus.

Sofort einsatzbereite Webressourcen, Optionssätze, Sicherheitsrollen oder Workflows nicht ändern

Das Anpassen, die Übernahme von Abhängigkeiten oder der benutzerdefinierte Aufruf von vorgefertigten Webressourcen, Optionssätzen, Sicherheitsrollen oder Workflows wird nicht unterstützt und kann zu unbeabsichtigtem Systemverhalten führen.

Organisationen, die diese Komponenten anpassen, erkennen Probleme in ihrer Umgebung möglicherweise nicht sofort. Wenn Microsoft jedoch Änderungen an den angepassten sofort einsatzbereiten Standardkomponenten veröffentlicht, werden diese Änderungen nicht auf die oberste Ebene dieser Komponente angewendet. Die spezifische angepasste Ebene überschreibt alle zukünftigen Änderungen, die schließlich zu unvorhersehbaren Fehlern und Verhalten führen.

Datumsfelder oder Systemstatus nicht ändern, bearbeiten oder löschen

Das Ändern, Bearbeiten oder Löschen von Datumsfeldern und -status kann die Geschäftslogik beeinträchtigen und zu Problemen mit Lösungsupdates führen. Beispiele für Arbeitsauftragsdaten sind Zeit von zugesagt und Zeit bis zugesagt. Beispiele für Statusfelder sind Arbeitsauftragssystemstatus und Vereinbarungssystemstatus.

Vorgefertigte Felder aus Formularen nicht bearbeiten oder entfernen

Kunden bearbeiten sofort einsatzbereite Felder, um ihren Geschäftsanforderungen gerecht zu werden. Das Bearbeiten von vorgefertigten Feldern kann jedoch zu Fehlern führen, insbesondere wenn Prozesse von diesen Feldwerten abhängen.

Um Fehler zu vermeiden:

  • Blenden Sie unerwünschte Felder aus einem Formular aus.
  • Verschieben Sie unerwünschte Felder auf eine andere Formularregisterkarte.

Hier nur ein Beispiel: Field Service-Prozesse berechnen den Feldwert Geschätzte Ankunftszeit im Datensatz „Buchbare Ressourcenbuchung“, um anzugeben, wann ein Frontline-Mitarbeiter voraussichtlich vor Ort eintreffen wird. Wenn Ihre Organisation dieses Feld nicht benötigt, blenden Sie es im Formular aus, anstatt es zu entfernen.

Weitere Informationen finden Sie in diesen Artikeln:

Optionssatz (Auswahl)-Werte nicht bearbeiten

Das Bearbeiten von Optionssatz-Werten von Standard-Feldern kann Fehler verursachen, insbesondere wenn Prozesse von diesen Feldwerten abhängen oder während Aktualisierungen.

Um Fehler zu vermeiden:

  • Bearbeiten Sie nur den Optionssatz Beschriftung und bearbeiten Sie nie Optionssatz-Werte aus Standardfeldern.
  • Entfernen Sie keine Optionssatz-Optionen.
  • Fügen Sie keine Optionssatz-Optionen hinzu.

Hier nur ein Beispiel: Der Field Service-Arbeitsauftrag enthält standardmäßig ein Feld namens Systemstatus. Dieses Feld ist ein Optionssatz (Typ Auswahl) mit Optionen wie Ungeplant, Geplant, In Bearbeitung, Abgeschlossen, Abgebrochen usw. Jede dieser Optionen hat eine Bezeichnung und einen zugehörigen numerischen Wert. Systemadministratoren können die Beschriftungen von Optionssätzen bearbeiten (wie Ungeplant), aber niemals den zugehörigen numerischen Wert der Beschriftung.

Verwenden Sie weniger benutzerdefinierte Skripts und folgen Sie Best Practices

Systemanpasser schreiben Skripte, normalerweise JavaScript-Webressourcen, um Geschäftslogik auszuführen. Benutzerdefinierte Skripts können jedoch beim Upgrade Leistungsprobleme, Fehler und Komplikationen verursachen.

Um diese Probleme zu vermeiden:

  • Minimieren Sie Skripts, die unter Last ausgeführt werden.
  • Schreiben Sie keine Skripte, die viele Daten aufrufen, oder schreiben Sie keine Skripte, die dieselben Daten aufrufen.

Folgen Sie mehr Best Practices für Formularskripte, einschließlich der folgenden Best Practices:

Minimieren Sie die Anzahl der Netzwerkanforderungen und die im OnLoad-Ereignis angeforderte Datenmenge

Je höher die Anzahl der Netzwerkanforderungen ist, die während des Ladens eines Formulars gestellt werden, und je mehr Daten von diesen Anforderungen heruntergeladen werden, desto länger dauert das Laden eines Formulars. Fordern Sie nur die erforderliche Mindestdatenmenge an. Ziehen Sie außerdem in Betracht, die Daten nach Möglichkeit zwischenzuspeichern, um zu vermeiden, dass beim zukünftigen Laden von Seiten unnötig Daten angefordert werden.

Vermeiden Sie synchrone Netzwerkanforderungen

Synchrone Netzwerkanforderungen können zu langsamen Seitenladevorgängen und nicht reagierenden Formularen führen. Ersatzweise asynchrone Anfragen verwenden. Weitere Beispiele finden Sie in diesem Blog-Eintrag. Ziehen Sie außerdem in Erwägung, in jedem Szenario, in dem mehrere Netzwerkaufrufe für dieselbe Entität und denselben Datensatz erforderlich sind, asynchron und warten zu verwenden. Sie finden weitere Details hier.

Vermeiden Sie nicht benötigte JavaScript-Webressourcebibliotheken

Je mehr Skripts Sie dem Formular hinzufügen, um so länger dauert ihr Download. Normalerweise werden Skripts in Ihrem Browser zwischengespeichert, wenn sie zum ersten Mal geladen werden, die Leistung beim ersten Anzeigen eines Formulars macht oft erheblichen Eindruck.

Vermeiden Sie es, alle Skripts im Onload-Ereignis zu laden

Wenn Sie einen Code haben, der nur OnChange-Ereignisse für Felder oder das OnSaveEreignis unterstützt, stellen Sie sicher, die Skriptbibliothek mit dem Ereignishandler für diese Ereignisse anstelle des OnLoad-Ereignisses festzulegen. Dadurch kann das Laden dieser Bibliotheken verschoben werden, was die Leistung beim Laden des Formulars erhöht.

Verwenden Sie eingeklappte Registerkarten, um das Laden von Webressourcen zu verschieben

Wenn Webressourcen oder iFrame-Komponenten in Abschnitten einer eingeklappten Registerkarte enthalten sind, werden sie nicht geladen. Sie werden geladen, wenn die Registerkarte erweitert wird. Wenn sich der Status der Registerkarte ändert, tritt das TabStateChange-Ereignis ein. Jeder Code, der erforderlich ist, um Webressourcen oder iFrames in eingeklappten Registerkarten zu unterstützen, kann Ereignishandler für das TabStateChange-Ereignis verwenden und Code reduzieren, der andernfalls im OnLoad-Ereignis ausgeführt werden müsste.

Vermeiden Sie doppelte Netzwerkanforderungen im clientseitigen Code

Mehrere oder doppelte Netzwerkanforderungen können dazu führen, dass der Webbrowser blockiert und die Ladezeit des Formulars beeinträchtigt wird. Die Reduzierung der Anzahl der Anfragen kann die Leistung verbessern. Eine Alternative besteht darin, Netzwerkanforderungen zu konsolidieren und den Wert der Anforderungen zwischenzuspeichern. Ziehen Sie auch in Betracht, asynchrone Netzwerkanforderungen wie zuvor erwähnt auszuführen.

Vermeiden Sie die Verwendung von Rollen und systembenutzerspezifischen Aufrufen, wenn die relevanten Informationen in XRM-APIs verfügbar sind

Verwenden Sie XRM-APIs, um Netzwerkanforderungen zum Abrufen von Informationen zu Benutzerberechtigungen zu vermeiden. Weitere Informationen im folgenden Artikel unter Übergang weg von synchronen Anfragen. Vermeiden Sie auf ähnliche Weise Systembenutzeraufrufe, wenn die Informationen von XRM-APIs Ihren Anforderungen entsprechen.

Richten Sie Standard-Sichtbarkeitsoptionen ein

Vermeiden Sie die Verwendung von Formularskripts im OnLoad-Ereignis, die Formularelemente ausblenden. Richten Sie stattdessen die standardmäßigen Sichtbarkeitsoptionen für Formularelementen, die ausgeblendet werden könnten, so ein, dass sie beim Laden des Formulars nicht standardmäßig sichtbar sind. Verwenden Sie dann Skripts im OnLoad-Ereignis, um die gewünschten Formularelemente anzuzeigen.

Weitere Informationen finden Sie unter diesen Ressourcen:

Führen Sie die Lösungsüberprüfung für Ihre Skripte aus

Der Power Apps Lösungsprüfer ist ein nützliches Tool von Microsoft, das Power Apps Lösungen für Probleme prüft und Best Practices empfiehlt. Zu diesen Problemen gehören Probleme mit JavaScript, HTML, Plugins und benutzerdefinierten Workflow-Aktivitäten.

Weitere Informationen finden Sie unter diesen Ressourcen:

Verwenden Sie asynchrone Workflows anstelle von synchronen

Systemanpasser schreiben häufig synchrone Workflows, um Geschäftslogik in Echtzeit auszuführen, die ausgeführt wird, wenn Daten in Field Service geändert werden. Die synchrone Ausführung von Workflows beeinträchtigt jedoch die Leistung.

Führen Sie Workflows asynchron aus, um Leistungsprobleme zu vermeiden.

Aktivieren Sie die Out-of-the-Box-Prozesse von Field Service und Ressourcenplanung

Field Service und Ressourcenplanung werden mit vielen Prozessen geliefert, die die notwendige Geschäftslogik ausführen.

Deaktivierte Prozesse können zu Fehlern führen.

Um Probleme zu vermeiden, stellen Sie sicher, dass sich alle Field Service- und Ressourcenplanungsprozesse in einem aktiven Zustand befinden. Führen Sie Field Service Lösungsintegritäts-Hub regelmäßig aus, um zu erkennen, ob sich Prozesse in einem deaktivierten Zustand befinden.

Führen Sie den Lösungsintegritäts-Hub aus, um Probleme zu erkennen

Solution Health Hub ermöglicht es Ihnen, sich einen besseren Überblick über den Zustand Ihrer Umgebung zu verschaffen und Probleme mit Ihrer Dynamics 365-Umgebung zu erkennen. Der Solution Health Hub führt Regeln innerhalb einer Instanz aus, um die Konfiguration der Umgebung zu validieren, die sich im Laufe der Zeit durch natürliche Systemabläufe ändern kann. Einige der Regeln sind spezifisch für Dynamics 365 Field Service und Sie können die Regeln bei Bedarf ausführen, wenn Sie auf ein Problem stoßen. Einige Regeln lösen automatisch aus, wenn der Field Service installiert oder aktualisiert wird.

Führen Sie den Field Service Lösungsintegritäts-Hub Regelsatz regelmäßig aus, um den Zustand Ihrer Umgebung zu überwachen.

Überlegungen zur Leistung von mobile App

Das Anpassen der mobile App kann sich auch auf die Leistung auswirken. Weitere Informationen finden Sie in diesem Artikel: Leistungsüberlegungen beim Anpassen der mobile App