Contexte d'exécution (référence côté client)

 

Date de publication : janvier 2017

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

Le contexte d'exécution est un paramètre optionnel pouvant être transmis à une fonctionnalité de la bibliothèque JavaScript via un gestionnaire d'événements. Cette option est présente dans la boîte de dialogue des propriétés du gestionnaire lorsque vous spécifiez le nom de la fonctionnalité. Cette option est définie pour un élément <Handler> (FormXml) à l'aide de l'attribut passExecutionContext.

Le contexte d'exécution est automatiquement transmis aux fonctions définies avec les méthodes Xrm.Page.data.fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_addOnSave et Xrm.Page.data.entityAttribute.6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_addOnChange et Xrm.Page.uiControl.51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addPreSearch.

Méthodes du contexte d’exécution

  • getContext
    Méthode qui renvoie l'objet Contexte côté client (référence côté client).

  • getDepth
    Méthode qui renvoie la valeur indiquant l’ordre dans lequel ce gestionnaire est exécuté.

  • getEventArgs
    Méthode qui renvoie un objet avec les méthodes pour gérer l'événement Save.

  • getEventSource
    Méthode qui renvoie une référence à l’objet sur lequel l’événement s’est produit.

  • getFormContext
    Méthode qui renvoie une référence à un formulaire ou à une grille modifiable selon la méthode appelée.

  • Variables partagées
    Les variables partagées permettent le partage d'une variable avec d'autres gestionnaires du même événement. Vous utilisez les méthodes setSharedVariable et getSharedVariable pour utiliser les variables partagées.

getContext

Méthode qui renvoie l'objet Contexte côté client (référence côté client).

ExecutionContextObj.getContext()
  • Valeur renvoyée
    Type : Objet

getDepth

Méthode qui renvoie la valeur indiquant l’ordre dans lequel ce gestionnaire est exécuté.

  • Valeur renvoyée
    Type : Nombre

    La commande commence par 0.

getEventArgs

Méthode qui renvoie un objet avec les méthodes pour gérer l'événement Save.

Notes

Cette méthode renvoie null pour tout autre événement que l'événement Save.

ExecutionContextObj.getEventArgs()

getEventSource

Méthode qui renvoie une référence à l’objet sur lequel l’événement s’est produit.

ExecutionContextObj.getEventSource()
  • Valeur renvoyée
    Type : Objet

    Cette méthode renvoie l'objet du modèle d'objet Xrm.Page qui est la source de l'événement, pas un objet HTMLDOM. Par exemple, dans un événement OnChange, cette méthode renvoie l'objet d'attribut Xrm.Page.data.entity représentant l'attribut modifié.

getFormContext

Méthode qui renvoie une référence au formulaire (Xrm.Page) ou à une grille modifiable selon la méthode appelée.

ExecutionContextObj.getFormContext()
  • Valeur renvoyée
    Type : Objet

    Cette méthode renvoie une référence à l'objet à partir du modèle d'objet Xrm.Page ou à l'objet dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_GridRow dans une grille modifiable selon la méthode appelée. Cette méthode vous permet de créer des gestionnaires d'événements communs qui peuvent s'exécuter sur un formulaire ou une grille modifiable selon l'emplacement d'appel.

    Pour plus d'informations, consultez les rubriques Utiliser le modèle d’objet Xrm.Page et Méthodes et objets de grille modifiables (référence côté client)

    Notes

    Cette méthode a été introduite dans Mise à jour de décembre 2016 pour Dynamics 365 (en ligne et local).

  • Exemple
    L'exemple de code suivant illustre comment créer une méthode qui définit une notification sur un champ de formulaire ou une cellule de grille modifiable selon l'emplacement d'enregistrement du script (d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_FieldOnChangeEvent ou événement dabc9332-54f3-4b1e-ac98-a3c5a4641b0c#BKMK_OnChange sur une grille modifiable) :

    function commonEventHandler(executionContext) {
        var entityObject = executionContext.getFormContext().data.entity;
        var telephoneAttr = entityObject.attributes.getByName('telephone1');
        var isNumberWithCountryCode = telephoneAttr.getValue().substring(0,1) === '+';
    
        // telephoneField will be an Xrm.Page control if invoked from a form OnChange event;
        // telephoneField will be a editable grid GridCell object if invoked from editable grid OnChange event.
        var telephoneField = telephoneAttr.controls.getByIndex(0);
    
        if (!isNumberWithCountryCode) {
            telephoneField.setNotification('Please include the country code beginning with ‘+’.', 'countryCodeNotification');
        }
        else {
            telephoneField.clearNotification('countryCodeNotification');
        }
    }
    

Variables partagées

Les variables partagées permettent le partage d'une variable avec d'autres gestionnaires du même événement. Vous utilisez les méthodes setSharedVariable et getSharedVariable pour passer des variables entre les fonctions.

setSharedVariable

Définit la valeur d’une variable qui peut être utilisée par un gestionnaire une fois que le gestionnaire actuel a terminé.

ExecutionContextObj.setSharedVariable(key, value)
  • Arguments
    String : nom de la variable

    Object : valeur à définir.

getSharedVariable

Récupère une variable définie à l’aide de setSharedVariable.

ExecutionContextObj.getSharedVariable(key)
  • Arguments
    String : nom de la variable.

  • Valeur renvoyée
    Type : Objet

    Le type spécifique dépend de ce qu'est l'objet valeur.

Voir aussi

Référence par programmation côté client

Microsoft Dynamics 365

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