Bibliothèques JavaScript pour Microsoft Dynamics 365

 

Date de publication : janvier 2017

S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Les bibliothèques JavaScript sont Ressources Web de script (JScript) contenant des fonctions qui vous permettent d’effectuer les opérations suivantes :

  • Gérer des événements de formulaire et de champ.

  • Utiliser les contrôles configurés dans le ruban.

  • Prendre en charge d’autres fonctions.

Utilisation des bibliothèques JScript

Vous pouvez utiliser les bibliothèques JavaScript comme vous utiliseriez les bibliothèques JavaScript dans n’importe quelle application Web.

Associer des fonctions aux événements de formulaire et de champ

Vous pouvez associer un maximum de 50 ressources Web de script afin qu’elles soient chargées avec un formulaire d’entité.

Après avoir ajouté une bibliothèque au formulaire, elle devient disponible à tous les événements du formulaire. Pour n’importe quel événement, vous pouvez définir les fonctions gestionnaires d’événements. Vous pouvez spécifier jusqu’à 50 fonctions comme gestionnaires d’événements pour n’importe quel événement.

Associer des fonctions au moment de l’exécution

Vous pouvez ajouter des fonctions à l’attribut OnChange, au formulaire OnSave et aux événements PreSearch de contrôle de recherche au moment de l’exécution en utilisant les méthodes Xrm.Page.data.entity attribute.addOnChange, Xrm.Page.data.entity.addOnSave et le contrôle de recherche addPreSearch. Lorsque ces méthodes sont utilisées, la fonction est ajoutée dans la partie inférieure du pipeline gestionnaire d’événements et elles reçoivent le contexte d’exécution comme premier paramètre. Vous pouvez utiliser les méthodes removeOnChange,removeOnSave et removePreSearch pour supprimer des fonctions ajoutées de cette façon.

Contexte d’exécution

Chaque gestionnaire d’événements peut être configuré pour accepter un objet de contexte d’exécution comme premier paramètre. Le contexte d’exécution inclut des fonctions qui peuvent être appelées pour déterminer :

  • La profondeur : l’ordre relatif dans lequel ce gestionnaire est exécuté.

  • Source de l’événement: une référence à l’objet qui a lancé l’événement.

    Cette capacité est importante lorsque vous créez une fonction qui peut répondre aux événements issus des différents événements de formulaire ou de champ.

  • Les variables partagées : cela permet à une fonction de définir une variable en tant que paire clé/valeur qui peut être accessible par d’autres gestionnaires d’événements.

Pour plus d'informations :Contexte d'exécution (référence côté client)

Dans la boîte de dialogue Propriétés du gestionnaire, vous pouvez entrer une liste de valeurs de chaîne séparées par des virgules qui seront transmises à la fonction. Cela peut être utile pour modifier le comportement d’une fonction sans en modifier le code.

Associer des fonctions aux fonctions de la barre de commandes (ruban)

Chaque contrôle de la barre de commandes ou du ruban est associé à <CommandUIDefinition> (RibbonDiffXml) qui contient un élément <Actions> (RibbonDiffXml) contenant une ou plusieurs actions.<JavaScriptFunction> (RibbonDiffXml) est l’une des actions disponibles. L’élément JavaScriptFunction requiert une référence à une bibliothèque et une fonction dans cette bibliothèque.

Développer et tester des scripts

Vous pouvez modifier des scripts dans le formulaire de ressource Web ou dans l’onglet Événements où vous configurez les bibliothèques de formulaire et les gestionnaires d’événements.

Ou, vous pouvez utiliser votre outil de modification de script préféré et charger vos modifications pour mettre à jour votre ressource Web de script. Vous devez publier la ressource Web une fois les modifications effectuées.

Création de bibliothèques de script

Lorsque vous concevez les fonctions qui seront utilisées dans les bibliothèques JavaScript, vos fonctions peuvent être chargées dans un formulaire avec d’autres bibliothèques JavaScript. Si une autre bibliothèque contient une fonction qui possède le même nom qu’une fonction que vous proposez, la fonction qui sera chargée en dernier sera définie pour la page. Pour éviter de remplacer les fonctions par des fonctions dans une autre bibliothèque, vous devez veiller à ce qu’elles aient un nom unique.

Vous pouvez utiliser deux stratégies pour vous assurer que vos fonctions ont bien un nom unique :

  • Préfixe de fonction unique
    Définissez chacune des fonctions à l’aide de la syntaxe standard avec un nom cohérent qui inclut une convention d’affectation de noms uniques, comme illustré dans l’exemple suivant.

    function MyUniqueName_performMyAction()
    {
    // Code to perform your action.
    }
    
  • Noms de la bibliothèque avec espace de noms
    Associez chacune des fonctions à un objet JavaScript pour créer un type d’espace de noms à utiliser lorsque vous appelez vos fonctions, comme illustré dans l’exemple suivant.

    //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
      }
    };
    

    Ensuite, lorsque vous utilisez votre fonction, vous pouvez spécifier le nom complet. L’exemple suivant le montre bien.

    MyUniqueName.MyFunctions.performMyAction();
    

    Si vous appelez une fonction dans une autre fonction, vous pouvez utiliser le mot clé this comme raccourci à l’objet qui contient les deux fonctions. Cependant, si votre fonction est utilisée comme gestionnaire d’événements, le mot clé this se rapportera à l’objet sur lequel l’événement se produit.

Débogage de scripts

Chaque navigateur a son propre jeu d’outils de développement. Les instructions ci-après décrivent ce point à l’aide de Internet Explorer.

Débogage de script dans les formulaires Microsoft Dynamics 365
  1. Appuyez sur F12 pour ouvrir les outils de développement.

  2. Sous l’onglet, Script à droite du bouton Démarrer le débogage, utilisez la liste déroulante pour localiser votre bibliothèque JavaScript.

  3. Définissez un point d’arrêt en cliquant sur la marge gauche dans votre fonction.

  4. Cliquez sur Démarrer le débogage.

  5. Si votre script se trouve dans l’événement Onload, il est possible que vous deviez sélectionner la fenêtre Microsoft Dynamics 365 et que vous deviez appuyer sur la touche F5 pour recharger la fenêtre.

Pour plus d’informations, voir Débogage de scripts avec les Outils de développement.

Voir aussi

Utilisation de JavaScript avec Microsoft Dynamics 365
Personnaliser les applications Microsoft Dynamics 365
Étendre Microsoft Dynamics 365 sur le client
Ressources Web de script (JScript)
Écrire du code pour les formulaires Microsoft Dynamics 365
Personnaliser les formulaires d’entités
Définir les actions du ruban
Exemple : Importer des fichiers en tant que ressources Web
Exemple : utilitaire de ressources Web

Microsoft Dynamics 365

© 2017 Microsoft. Tous droits réservés. Copyright