Share via


Schreiben und Debuggen von Skripts für CRM für Tablets

 

Veröffentlicht: November 2016

Gilt für: Dynamics CRM 2015

Microsoft Dynamics CRM für Tablets verwendet die gleichen Formulardefinitionen, die in der Webanwendung verwendet werden. Jeder JavaScript-Code, den Sie Formularereignishandlern oder Menübandbefehlen in der Webanwendung hinzufügen, können unter Umständen auch in CRM für Tablets ausgeführt werden. Es gibt einige Unterschiede, die Sie kennen müssen.

In diesem Thema

Einige Xrm.Page- oder Fensterobjektfunktionen funktionieren nicht in CRM für Tablets

Angeben, welcher Code in CRM für Tablets ausgeführt wird

Angeben, welche Befehle in CRM für Tablets angezeigt werden

Berücksichtigen von Unterschieden zwischen CRM für Tablets und der Webanwendung in einem Browser

Debuggen von Skripts für CRM für Tablets

Einige Xrm.Page- oder Fensterobjektfunktionen funktionieren nicht in CRM für Tablets

CRM für Tablets lässt 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 einfach 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.

Die folgenden Methoden funktionieren nicht in CRM für Tablets.

Xrm.Page.context.getCurrentTheme

Xrm.Page.uiViewPort-Methoden

Xrm.Page.data.entity.getDataXml

Xrm.Page.ui controlWebressourcen- und IFRAME-Steuerelementmethoden

Xrm.Page.ui.formSelector-Objektmethoden

Xrm.Page.ui tab.setDisplayState

Xrm.Page.ui.navigation.items-Sammlung

Xrm.Utility.openWebResource

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.

Angeben, welcher Code in CRM für 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 isCrmForTablets = (Xrm.Page.context.client.getClient() == "Mobile")
if (isCrmForTablets)
{
 // Code for CRM for 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 CRM für 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 Aktionen, die Sie ausführen möchten, nicht mit CRM für Tablets funktioniert, sollten Sie Anzeigeregeln einschließen, sodass die Befehle nicht in CRM für Tablets angezeigt werden. Standardmäßig wird jeder definierte Befehl in CRM für Tablets angezeigt, sofern Sie dies nicht anderweitig konfigurieren. In der Regel sollten Sie die folgende Anzeigenregel definieren und in jeden Befehl einschließen werden, es sei denn, Sie wissen, dass er mit CRM für Tablets funktioniert.

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

Berücksichtigen von Unterschieden zwischen CRM für Tablets und der Webanwendung in einem Browser

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

  • Zusammengesetzte Felder
    CRM für Tablets implementiert zusammengesetzte Felder anders.CRM für Tablets schließt keine zusammengesetzten Attribute ein. Zugehörige Attribute werden automatisch ausgetauscht und stattdessen angezeigt.Weitere Informationen:Schreiben von Skripts für zusammengesetzte Attribute.

  • IFRAMEs und Webressourcen
    CRM für Tablets unterstützt nicht die Anzeige von Webressourcen oder IFRAMEs in Formularen. Sollte Ihr Code mit diesen Steuerelementtypem interagieren, können Sie davon ausgehen, dass die Steuerelemente nicht in einem CRM für Tablets-Formular angezeigt werden, und Sie sollten die Anweisungen in Angeben, welcher Code in CRM für Tablets ausgeführt wird berücksichtigen, damit dieser Code nur im Webbrowser-Client ausgeführt wird.

Debuggen von Skripts für CRM für Tablets

Da CRM für Tablets eine App ist, sind die regulären JavaScript-Debugtools, die Sie im Browser verwenden können, nicht verfügbar. Es wird die folgende Vorgehensweise empfohlen, um die Formularskripts 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 CRM für Tablets machen, geeignet ist. Die APIs, die für CRM für Tablets zur Verfügung stehen, ist 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 CRM für Tablets auf einem Computer mit Windows 8 und Microsoft Visual Studio. 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 CRM für Tablets anzuzeigen.

Siehe auch

Schreiben von Code für Microsoft Dynamics CRM 2015-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

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright