Événements de formulaire (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

Tout le code côté client est initié par des événements. Dans Microsoft Dynamics 365, vous associez une fonction spécifique au sein d'une bibliothèque JavaScript à exécuter lorsque des événements spécifiques se produisent.

Tous les événements de formulaire disposent d'une interface utilisateur que vous utilisez pour spécifier un ou plusieurs gestionnaires d'événements. Chaque gestionnaire d'événements spécifie une fonction unique au sein d'une bibliothèque JavaScript et tous les paramètres qui peuvent être transmis à la fonction.

Événements

Événement OnLoad

Événement OnSave

Événement OnChange de champ

Événement TabStateChange de l'onglet

Événement OnReadyStateComplete IFRAME

Événement PreSearch de contrôle de recherche

Événement OnProcessStatusChange

Événement OnStageChange

Événement OnStageSelected

Événements du contrôle de recherche de la Base de connaissances

Événement OnLoad de sous-grille en lecture seule

Événements de grille modifiable

Événement OnLoad

L’événement OnLoad se produit après le chargement du formulaire. Vous ne pouvez pas empêcher le chargement de la fenêtre. Utilisez l'événement OnLoad pour appliquer la logique sur la façon dont le formulaire doit être affiché, pour définir des propriétés sur des champs et interagir avec d'autres éléments de page.

Lorsque le client de Microsoft Dynamics 365 pour tablettes est déconnecté, l'événement OnLoad est le seul événement qui a lieu.

Notes

Les formulaires pour Entités mises à jour ne rechargent pas la page après l'enregistrement initial, ce qui crée un enregistrement ou des enregistrements consécutifs. Par conséquent, l'événement OnLoad se produit uniquement lors du chargement initial du formulaire.

Événement OnSave

L’événement OnSave se produit lorsque :

  • L’utilisateur clique sur le bouton Bouton de sauvegarde automatique dans le coin inférieur droit du formulaire, même lorsqu’il n’existe aucune donnée modifiée à enregistrer.

  • Le code exécute la méthode Xrm.Page.data.entity.Enregistrer, même lorsqu’il n’existe aucune donnée modifiée à enregistrer.

  • L’utilisateur quitte le formulaire et qu’il existe des données non enregistrées dans le formulaire.

  • Lorsque l’enregistrement automatique est activé, 30 secondes après la modification de données et lorsqu’il existe des données non enregistrées dans le formulaire.

  • Le code exécute la méthode Xrm.Page.data.Enregistrer et qu’il existe des données non enregistrées dans le formulaire.

  • Le code exécute la méthode Xrm.Page.data.refresh qui passe une valeur true en tant que premier paramètre et qu’il existe des données non enregistrées dans le formulaire.

Pour déterminer quel bouton a été activé pour exécuter l'enregistrement, utilisez la méthode getSaveMode.

Vous pouvez annuler l'action d'enregistrement en utilisant la méthode preventDefault au sein de l'objet d'arguments de l'événement. Méthode preventDefault accessible via la méthode getEventArgs qui fait partie du contexte d'exécution. Vous devez configurer le gestionnaire d’événements de formulaire pour transmettre le contexte d’exécution. Pour plus d'informations, voir Utiliser le contexte d’exécution et le pipeline d’événements de formulaire.

Événement OnChange de champ

L'événement OnChange se produit habituellement lorsque les données du champ d'un formulaire ont été modifiées et qu'il n'est plus activé

Notes

Il existe une exception à ceci, qui s’applique aux champs à deux options (booléens) qui sont formaté pour utiliser des cases d’option ou des cases à cocher. Dans ces cas, l'événement se produit immédiatement.

Cet événement se produit également lorsque des modifications de données sur le serveur sont récupérées pour mettre à jour un champ lorsque le formulaire est actualisé, par exemple après la sauvegarde d'un enregistrement.

Avec l'attribut Xrm.Page.data.entity. La méthode fireOnChange génère également cet événement.

L’événement OnChange ne se produit pas si le champ est modifié par programme à l’aide de la méthode setValue. Si vous souhaitez que les gestionnaires de l’événement OnChange s’exécutent une fois que vous avez défini la valeur, vous devez utiliser l'attribut Xrm.Page.data.entity.la méthode fireOnChange dans votre code.

Tous les champs prennent en charge l'événement OnChange. Les données du champ sont validées avant et après l'événement OnChange.

Notes

Bien que le champ Status prenne en charge l'événement OnChange, il est en lecture seule dans le formulaire afin que l'événement ne puisse pas se produire par l'intervention de l'utilisateur. Un autre script peut entraîner cet événement en utilisant la méthode fireOnChange dans le champ.

Événement TabStateChange de l'onglet

L'événement TabStateChange se produit lorsque l'DisplayState de l'onglet change en raison de l'intervention de l'utilisateur ou lorsque la méthode setDisplayState est appliquée dans le code. Utilisez cet événement lorsque vous voulez modifier la propriété src d'un IFRAME dans l'onglet.

Notes

Cet événement n'est pas pris en charge pour les clients mobiles Dynamics 365 (téléphones et tablettes) car les onglets ne s'étendent pas ou ne se réduisent pas.

Comme dans les clients mobiles Dynamics 365, les onglets ne se développent pas ou ne se réduisent pas dans le centre de services interactifs, mais l'événement TabStateChange se produit lorsque l'utilisateur se déplace d'un onglet à un autre dans le centre de services interactifs.

Si vous définissez l'iFrame. La propriété src dans l'événement OnLoad pour un IFRAME dans un onglet réduit, la valeur est remplacée quand l'onglet est étendu.

Événement OnReadyStateComplete IFRAME

L'événement OnReadyStateComplete indique que le contenu de l'IFRAME est chargé et est accessible dans le code. Utilisez cet événement lors du référencement des contrôles IFRAME dans vos scripts.

Notes

Cet événement n'est pas pris en charge pour Dynamics 365 pour téléphones et le centre de services interactifs.

Événement PreSearch de contrôle de recherche

Le contrôle de recherche dispose d'un événement PreSearch qui se produit juste avant que le contrôle lance un dialogue afin de rechercher des enregistrements. Il n'existe aucune interface utilisateur pour définir des gestionnaires d'événements pour cet événement. Vous devez utiliser les méthodes addPreSearch et removePreSearch dans le contrôle de recherche pour ajouter ou supprimer des gestionnaires d'événements pour cet événement.

Utilisez cet événement avec d'autres Recherche de méthodes et d’événements de contrôle pour modifier les résultats affichés dans une recherche basée sur les données de formulaire juste avant que le contrôle de recherche affiche les résultats de recherche parmi lesquels un utilisateur doit choisir.

Événement OnProcessStatusChange

Cet événement se produit lorsque le statut d'une instance de processus change. Utilisez la méthode Xrm.Page.data.process.addOnProcessStatusChange pour ajouter des gestionnaires d'événements pour cet événement et la méthode Xrm.Page.data.process.removeOnProcessStatusChange pour les supprimer.Pour plus d'informations :Écriture d'événements pour les flux de processus d'entreprise.

Notes

Cet événement a été introduit dans Mise à jour de décembre 2016 pour Dynamics 365 (en ligne et local).

Événement OnStageChange

Cet événement se produit lorsque la phase d'un contrôle de flux des processus d'entreprise change. Cet événement se produit lorsque l'utilisateur clique sur les boutons Phase suivante ou Revenir à la phase précédente dans l'interface utilisateur ou qu'un développeur utilise les méthodes Xrm.Page.data.process.moveNext ou Xrm.Page.data.process.movePrevious. Vous ne pouvez pas annuler le changement de phase à l'aide du code dans un gestionnaire pour cet événement.

Un objet de contexte d'exécution est transmis aux gestionnaires d'événements pour cet événement. Vous pouvez utiliser la fonction getEventArgs pour récupérer un objet disposant des méthodes suivantes :

  • getDirection.
    Renvoie une chaîne qui est « next » ou « previous »pour indiquer la direction du changement de phase.

  • getStage
    Renvoie un objet de phase. La phase renvoyée représente l'objet de phase de destination, c'est-à-dire la prochaine phase active, sauf si la navigation passe à une nouvelle entité. Lorsque la navigation passe à une nouvelle entité, la phase correspond à celle qui est quittée, c'est-à-dire la précédente phase active.Pour plus d'informations :Méthodes de la phase.

Utilisez la méthode Xrm.Page.data.process.addOnStageChange pour ajouter des gestionnaires d'événements pour cet événement et la méthode Xrm.Page.data.process.removeOnStageChange pour les supprimer.Pour plus d'informations :Écriture d'événements pour les flux de processus d'entreprise.

Événement OnStageSelected

Cet événement se produit lorsqu'une phase d'un contrôle de flux des processus d'entreprise est sélectionnée. Vous ne pouvez pas annuler la sélection de phase à l'aide du code dans un gestionnaire pour cet événement.

Un objet de contexte d'exécution est transmis aux gestionnaires d'événements pour cet événement. Vous pouvez utiliser la fonction getEventArgs pour récupérer un objet disposant des méthodes suivantes :

  • getStage
    Renvoie un objet de phase représentant la phase sélectionnée.Pour plus d'informations :Méthodes de la phase.

Utilisez la méthode Xrm.Page.data.process.addOnStageSelected pour ajouter des gestionnaires d'événements pour cet événement et la méthode Xrm.Page.data.process.removeOnStageSelected pour les supprimer.Pour plus d'informations :Écriture d'événements pour les flux de processus d'entreprise.

Événements du contrôle de recherche de la Base de connaissances

Le contrôle de Recherche dans la base de connaissances peut être ajouté uniquement aux formulaires pour les organisations ayant la fonctionnalité de gestion des connaissances activée. Ce contrôle comporte deux événements (OnResultOpened et OnSelection) auxquels les développeurs peuvent affecter des gestionnaires d'événements par programme.Pour plus d'informations :Contrôle de recherche de la Base de connaissances (référence côté client)

Événement OnLoad de sous-grille en lecture seule

Joignez des gestionnaires d'événements à l'événement OnLoad des sous-grilles.Pour plus d'informations :Écriture de scripts pour les sous-grilles

Événements de grille modifiable

Joignez des gestionnaires d'événements aux événements de grilles modifiables.Pour plus d'informations :Méthodes et objets de grille modifiables (référence côté client)

Voir aussi

Référence rapide des scripts de formulaires
Écrire du code pour les formulaires Microsoft Dynamics 365
Utiliser le modèle d’objet Xrm.Page
Référence par programmation côté client
Écriture d'événements pour les flux de processus d'entreprise

Microsoft Dynamics 365

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