JavaScript-Bibliotheken für Microsoft Dynamics 365

 

Veröffentlicht: Januar 2017

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

JavaScript-Bibliotheken sind Webressourcen für Skripts (JScript), die Funktionen enthalten, die Sie für folgende Zwecke verwenden können:

  • Formular- und Feldereignisse behandeln

  • Aktionen für im Menüband konfigurierte Steuerelemente ausführen

  • Andere Funktionen unterstützen

Verwenden von JScript-Bibliotheken

Sie können JavaScript-Bibliotheken wie JavaScript-Bibliotheken in einer beliebigen Webanwendung verwenden.

Funktionen zu Formular- und Feldereignissen zuordnen

Sie können bis zu 50 Skriptwebressourcen zuordnen, damit sie unter einem Entitätsformular geladen werden.

Nachdem Sie eine Bibliothek dem Formular hinzugefügt haben, wird sie für alle Ereignisse im Formular verfügbar. Für jedes Ereignis können Sie entscheiden, welche Funktionen die Ereignishandler sind. Sie können für jedes Ereignis bis zu 50 Funktionen als Ereignishandler angeben.

Funktionen während der Laufzeit zuordnen

Funktionen können Sie zum OnChange-Attribut und zu den OnSave-Formular- und PreSearch-Nachschlagesteuerelementereignissen zur Laufzeit hinzufügen, indem Sie das Xrm.Page.data.entity attribute.addOnChange, die Xrm.Page.data.entity.addOnSave-Methode und die addPreSearch-Nachschlagesteuerelementmethode verwenden. Wenn diese Methoden verwendet werden, wird die Funktion am unteren Rand der Ereignishandlerpipeline hinzugefügt und sie erhalten den Ausführungskontext als ersten Parameter. Sie können die entsprechenden Methoden removeOnChange, removeOnSave und removePreSearch verwenden, um die auf diese Weise hinzugefügte Funktionen zu entfernen.

Ausführungskontext

Jeder Ereignishandler kann so konfiguriert werden, dass er ein Ausführungskontextobjekt als ersten Parameter annimmt. Der Ausführungskontext umfasst Funktionen, mit deren Aufruf Folgendes bestimmt werden kann:

  • Tiefe: Die relative Reihenfolge, nach der der Handler ausgeführt wird.

  • Ereignisquelle: Ein Verweis auf das Objekt, das das Ereignis initiiert hat.

    Diese Funktion ist wichtig, wenn Sie eine Funktion erstellen, die möglicherweise auf Ereignisse aus mehreren Formular- oder Feldereignissen antwortet.

  • Freigegebene Variablen: Damit kann eine Funktion eine Variable als Schlüssel-Wert-Paar festlegen, auf das von anderen Ereignishandlern zugegriffen werden kann.

Weitere Informationen:Ausführungskontext (clientseitige Referenz)

Im Dialogfeld der Handlereigenschaften können Sie eine durch Trennzeichen getrennte Liste von Zeichenfolgenwerten eingeben, die an die Funktion übergeben werden. Dadurch lässt es sich ermöglichen, dass das Verhalten einer Funktion geändert wird, ohne dass Änderungen am Code erforderlich sind.

Funktionen den Befehlen der Befehlsleiste (Menüband) zuordnen

Jedes Steuerelement in der Befehlsleiste oder im Menüband wird einer <CommandUIDefinition> (RibbonDiffXml) zugeordnet, die ein <Actions> (RibbonDiffXml)-Element enthält, das mindestens eine Aktion enthält.<JavaScriptFunction> (RibbonDiffXml) ist eine der verfügbaren Aktionen. Das JavaScriptFunction-Element erfordert einen Verweis auf eine Bibliothek und eine Funktion in dieser Bibliothek.

Skripte entwickeln und testen

Sie können Skripte über das Webressourceformular oder von der Registerkarte Ereignisse bearbeiten. Dort können Sie Formularbibliotheken und Ereignishandler konfigurieren.

Oder Sie können Ihr bevorzugtes Skriptbearbeitungstool verwenden und Ihre Änderungen hochladen, um die Skriptwebressource zu aktualisieren. Sie müssen die Webressource erneut veröffentlichen, nachdem Sie Änderungen vorgenommen haben.

Erstellen von Skriptbibliotheken

Wenn Sie Funktionen entwickeln, die möglicherweise in JavaScript-Bibliotheken verwendet werden, dann können diese Funktionen mit anderen JavaScript-Bibliotheken in ein Formular geladen werden. Wenn eine andere Bibliothek eine Funktion beinhaltet, die denselben Namen wie die von Ihnen bereitgestellte Funktion enthält, dann wird die zuletzt geladene Funktion für die Seite definiert. Damit Ihre Funktionen nicht in einer anderen Bibliothek von Funktionen überschrieben werden, sollten Sie sich vergewissern, dass Ihre Funktionen eindeutige Namen besitzen.

Mithilfe der folgenden zwei Strategien können Sie sicherstellen, dass Ihre Funktionen eindeutige Namen besitzen:

  • Eindeutiges Präfix für Funktionen
    Definieren Sie all Ihre Funktionen unter Verwendung der Standardsyntax mit einem einheitlichen Namen, der eine eindeutige Namenskonvention enthält, wie im folgenden Beispiel zu sehen ist.

    function MyUniqueName_performMyAction()
    {
    // Code to perform your action.
    }
    
  • Namespaced-Bibliotheksnamen
    Ordnen Sie jede Ihrer Funktionen einem JavaScript-Objekt zu, um eine Art Namespace zum Aufruf Ihrer Funktionen zu erstellen, wie im folgenden Beispiel zu sehen ist.

    //If the MyUniqueName namespace object isn’t defined, create it.
    if (typeof (MyUniqueName) == "undefined")
     { MyUniqueName = {}; }
      // Create Namespace container for functions in this library;
      MyUniqueName.MyFunctions = {
       performMyAction: function(){
       // Code to perform your action.
       //Call another function in your library
       this.anotherAction();
      },
      anotherAction: function(){
       // Code in another function
      }
    };
    

    Wenn Sie dann Ihre Funktion verwenden, können Sie den gesamten Namen angeben. Dies wird im folgenden Beispiel verdeutlicht.

    MyUniqueName.MyFunctions.performMyAction();
    

    Wenn Sie eine Funktion innerhalb einer anderen Funktion aufrufen, können Sie das this-Schlüsselwort als eine Verknüpfung zu dem Objekt verwenden, das beide Funktionen enthält. Wenn jedoch Ihre Funktion als Ereignishandler verwendet wird, dann verweist das this-Schlüsselwort auf das Objekt, in dem das Ereignis auftritt.

Debugskripte

Jeder Browser bietet einen eigenen Satz von Entwicklertools. Die folgenden Schritte gelten unter Internet Explorer.

Debuggen von Skripts in Microsoft Dynamics 365-Formularen
  1. Drücken Sie F12, um die Entwicklertools zu öffnen.

  2. Verwenden Sie auf der Registerkarte Skript rechts neben der Schaltfläche Debuggen starten die Dropdownliste, um die JavaScript-Bibliothek zu suchen.

  3. Legen Sie einen Haltepunkt fest, indem Sie in der Funktion auf den linken Rand klicken.

  4. Klicken Sie auf Debuggen starten.

  5. Wenn sich Ihr Skript im Onload-Ereignis befindet, müssen Sie möglicherweise das Microsoft Dynamics 365-Fenster auswählen und F5 drücken, um das Fenster erneut zu laden.

Weitere Informationen finden Sie unter Debuggen von Skripts mithilfe der Entwicklertools.

Siehe auch

Verwendung von JavaScript mit Microsoft Dynamics 365
Anpassen der Microsoft Dynamics 365-Anwendungen
Erweitern von Microsoft Dynamics 365 auf dem Client
Webressourcen für Skripts (JScript)
Schreiben von Code für Microsoft Dynamics 365-Formulare
Anpassen von Entitätsformularen
Definieren von Menübandaktionen
Beispiel: Importieren von Dateien als Webressourcen
Beispiel: Webressourcen-Dienstprogramm

Microsoft Dynamics 365

© 2017 Microsoft. Alle Rechte vorbehalten. Copyright