Share via


Schreiben und Debuggen von Skripts für Dynamics 365 für Smartphones und Tablets

 

Veröffentlicht: Januar 2017

Gilt für: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Microsoft Dynamics 365 für Telefone und Microsoft Dynamics 365 für Tablets verwenden Sie dieselben Formulardefinitionen wie in der Webanwendung. Jeder JavaScript-Code, den Sie Formularereignishandlern oder Menübandbefehlen in der Webanwendung hinzufügen, kann unter Umständen auch auf mobilen Dynamics 365-Clients (Smartphones und Tablets) ausgeführt werden. Es gibt einige Unterschiede, die Sie kennen müssen.

In diesem Thema

Einige Xrm.Page- oder Fensterobjektfunktionen funktionieren nicht in Dynamics 365 für Smartphones und Tablets

Angeben, welcher Code in Dynamics 365 für Smartphones und Tablets ausgeführt wird

Angeben, welche Befehle in Dynamics 365 für Smartphones und Tablets angezeigt werden

Berücksichtigen Sie die Unterschiede zwischen mobilen Dynamics 365-Clients und der Webanwendung in einem Browser

Debuggen von Skripts für Dynamics 365 für Smartphones und Tablets

Einige Xrm.Page- oder Fensterobjektfunktionen funktionieren nicht in Dynamics 365 für Smartphones und Tablets

MobileDynamics 365-Clients lassen keine Funktionen zu, die die Ausführung von Skripts blockieren können. Allgemeine JavaScript-Funktionen wie window.alert, window.confirm und window.prompt funktionieren nicht wie erwartet oder lösen Fehler aus.

Verwenden Sie die Funktionen Xrm.UtilityalertDialog und confirmDialog, um Benutzern Nachrichten anzuzeigen. Diese Funktionen funktionieren anders als Windows-Funktionen, da sie die Verarbeitung von Skripts erst anhalten, wenn der Benutzer sie schließt. Sie bieten Rückruffunktionen, um die asynchrone Antwort auf Benutzereingaben zu ermöglichen. Mit window.confirm, window.prompt oder einer anderen systemeigenen Fensterfunktion, die die Ausführung von Skripts blockiert, wird ein Fehler ausgegeben.

Hinweis

Wenn Sie window.alert in Formularskripten verwenden, wird die festgelegte Nachricht automatisch mithilfe von Xrm.Utility.alertDialog ohne angegebene Rückruffunktion angezeigt. Dies ist jedoch temporär und wird als veraltet angesehen. Sie sollten jeden Code, der window.alert verwendet, auf die Verwendung von Xrm.Utility.alertDialog ändern.

Mobile Dynamics 365-Clients unterstützen auch nicht die window.open-Methode. Wenn Sie ein Entitätsformular für einen neuen oder vorhandenen Datensatz öffnen möchten, verwenden Sie stattdessen Xrm.Utility.openEntityForm.

Die folgenden Methoden funktionieren nicht für mobile Dynamics 365-Clients (Smartphone und Tablets).

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiViewPort-Methoden

Xrm.Page.data.entity.getDataXml

Xrm.Page.ui.navigation.items-Sammlung

Xrm.Page.ui.formSelector Objektmethoden

Xrm.Page.ui tab.setDisplayState

Die meisten dieser Funktionen führen einfach eine leere Funktion aus und geben nichts zurück. Wenn Sie Code haben, der einen Rückgabewert von einer dieser Funktionen erwartet, ist er undefiniert.

Zusätzlich unterstützt Dynamics 365 für Smartphones keine Webressourcen und IFRAMES, sodass die Client-APIs für diese Steuerelemente nicht funktionieren Client-APIs für Webressourcen und IFRAMES werden aber von Dynamics 365 für Tablets unterstützt. Weitere Informationen: Webressourcen- und IFRAME-Steuerelementmethoden

Angeben, welcher Code in Dynamics 365 für Smartphones und Tablets ausgeführt wird

Wenn sich die Funktionen der Client-API unterscheiden, sollten Sie Code einschließen, der Folgendem ähnelt, um die Logik zu trennen, die Sie auf die einzelnen Clients anwenden.

var isCrmForMobile = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForMobile)
{
 // Code for CRM for phones and tablets only goes here.
}
else
{
 // Code for web browser or CRM for Outlook only goes here.
}
// Code for any client goes here.

Angeben, welche Befehle in Dynamics 365 für Smartphones und Tablets angezeigt werden

Wenn Sie die <JavaScriptFunction> (RibbonDiffXml)-Aktion in der benutzerdefinierten Befehlsleiste (Menüband) verwenden, können Sie Ihren Code auch mithilfe von Xrm.Page.context.client.getClient trennen. Wenn die Aktion, die Sie ausführen möchten, nicht mit mobilen Dynamics 365-Clients funktioniert, sollten Sie Anzeigeregeln einschließen, sodass die Befehle nicht in Dynamics 365 für Tablets angezeigt werden. Standardmäßig wird jeder definierte Befehl in mobilen Dynamics 365-Clients angezeigt, sofern Sie dies über die Konfiguration nicht ausgeschlossen haben. In der Regel sollten Sie die folgende Anzeigenregel definieren und in jeden Befehl einschließen, es sei denn, Sie wissen, dass es mit mobilen Dynamics 365-Clients funktioniert.

<DisplayRule Id="My.HideOnModern">
 <CommandClientTypeRule Type="Modern"
                        InvertResult="true" />
</DisplayRule>

Berücksichtigen Sie die Unterschiede zwischen mobilen Dynamics 365-Clients und der Webanwendung in einem Browser

Im Gegensatz zu den Funktionen, die in Einige Xrm.Page- oder Fensterobjektfunktionen funktionieren nicht in Dynamics 365 für Smartphones und Tablets beschrieben sind, sollten Sie wissen, dass es auch andere Unterschiede gibt.

  • Zusammengesetzte Felder
    Mobile Dynamics 365-Clients implementieren zusammengesetzte Felder anders. Mobile Dynamics 365-Clients schließen keine zusammengesetzten Attribute ein. Sie ersetzen automatisch die zugehörigen Attribute und zeigen diese stattdessen an.Weitere Informationen:Schreiben von Skripts für zusammengesetzte Attribute.

Debuggen von Skripts für Dynamics 365 für Smartphones und Tablets

Da Dynamics 365 für Smartphones oder Dynamics 365 für TabletsApps sind, sind die regulären JavaScript-Debugtools, die Sie in einem Browser verwenden können, nicht verfügbar. Es wird die folgende Vorgehensweise empfohlen, um die Formularskripts und Menübandbefehle zu testen und zu debuggen:

  1. Testen Sie die Skripts gründlich mithilfe der Webanwendung.

  2. Als Teil der Tests mithilfe eines Webbrowsers kehren Sie die Kriterien um, wenn Sie überprüfen, ob der Client Xrm.Page.context.client.getClient verwendet und ob die Logik für die Erfahrung, die Benutzer mit mobilen Dynamics 365-Clients machen, geeignet ist. Die APIs, die für mobile Dynamics 365-Clients zur Verfügung stehen, sind eine Teilmenge der APIs, die für den Webbrowser zur Verfügung stehen, sodass Sie in der Lage sein sollten, den alternativen Ablauf in einem Webbrowser zu testen.

  3. Sofern möglich, installieren Sie mobile Dynamics 365-Clients auf einem Computer, auf dem Windows 10 und Microsoft Visual Studio installiert sind. Schließen Sie dort Debugger-Anweisungen ein, wo Sie den Debugger mit Visual Studio starten möchten.

  4. Verwenden Sie schließlich Xrm.Utility.alertDialog, um Werte aus dem Code in mobilen Dynamics 365-Clients anzuzeigen.

Siehe auch

Schreiben von Code für Microsoft Dynamics 365-Formulare
Formular- und Feldereignisse verwenden
Verwenden des Xrm.Page-Objektmodells
Schreiben von Skripts für zusammengesetzte Attribute
Kurzübersicht zum Formularskripting
Cclientseitige Programmierreferenz
Darstellen von Befehlsleisten und Menübändern

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright