Référence rapide des scripts de formulaires
Date de publication : janvier 2017
S’applique à : Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online
Cette rubrique présente une référence rapide des méthodes de scripts des formulaires fréquemment utilisées et basées sur les tâches exécutées. Pour obtenir la référence complète, consultez Référence par programmation côté client. Tous les exemples de cette page utilisent le formulaire principal d’entité de compte par défaut, sauf mention contraire.
Contenu de la rubrique
Attributs
Accès aux attributs
Obtention ou définition des données d'attribut d'entité
Obtention des métadonnées d’attribut
Enregistrement des arguments de l’événement
Affichage des notifications
Contrôles
Accès aux contrôles du formulaire
Accès aux contrôles de l'en-tête
Accès aux contrôles du flux des processus d'entreprise
Méthodes de contrôle de formulaire
Méthodes du contrôle de groupe d’options
Méthodes de contrôle de ressource Web et IFRAME
Méthodes de contrôle de recherche
Méthodes de contrôle SubGrid
Méthodes de contrôle Date
Navigation du formulaire
Onglets et sections
Ajouter ou supprimer des gestionnaires d’événements au moment de l’exécution
Méthodes d'informations contextuelles
Obtenir, actualiser ou enregistrer les données d'entité
Attributs
Les attributs stockent les données disponibles dans l’enregistrement.
Accès aux attributs
Les attributs sont disponibles à partir de la collection Xrm.Page.data.entity.attributes. Pour accéder à un attribut vous pouvez utiliser la méthode **Xrm.Page.data.entity.attributes.**9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_get ou la version abrégée Xrm.Page.getAttribute. La méthode get accepte quatre types d’arguments :
String (chaîne) : renvoie un objet d’attribut où le nom de l’attribut correspond à la chaîne.
Number (nombre) : renvoie l’objet d’attribut où l’index de la collection Xrm.Page.data.entity.attributes correspond au nombre.
None (aucun) : renvoie un tableau de tous les attributs.
Delegate function(attribute,index): Renvoie un tableau des attributs de la collection Xrm.Page.data.entity.attributes qui entraîne un retour de la valeur true par la fonction déléguée.
Tâche |
Exemple |
---|---|
Accéder à un attribut par son nom |
var nameAttribute = Xrm.Page.getAttribute("name"); Affecte l’attribut du champ Nom du compte à la variable nameAttribute |
Accéder à un attribut par son index |
var firstAttribute = Xrm.Page.getAttribute(0); Affecte le premier attribut de la collection Xrm.Page.data.entity.attributes à la variable firstAttribute. |
Accéder à tous les attributs |
var allAttributes = Xrm.Page.getAttribute(); Affecte un tableau de tous les attributs de la collection Xrm.Page.data.entity.attributes à la variable allAttributes. |
Accéder à tous les attributs qui répondent à un critère spécifique |
var optionsetAttributes = Xrm.Page.getAttribute(function (attribute, index) { Affecte un tableau de tous les attributs de la collection Xrm.Page.data.entity.attributes qui répondent aux critères définis dans la fonction anonyme, qui renvoie true lorsque le type d’attribut est « optionsetà la variable optionsetAttributes. |
La collection Xrm.Page.data.entity.attributes possède également une méthode 9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_forEach qui vous permet d’accéder aux attributs d’une fonction. La fonction writeRequiredAttributesToConsole suivante écrit les noms de tous les attributs qui nécessitent des données sur la console de débogage :
function writeRequiredAttributesToConsole() {
var requiredAttributeNames = [];
Xrm.Page.data.entity.attributes.forEach(
function (attribute, index) {
if (attribute.getRequiredLevel() == "required")
{ requiredAttributeNames.push(attribute.getName()); }
});
if (requiredAttributeNames.length > 0) {
if (typeof console != "undefined") {
console.log(requiredAttributeNames.join());
}
}
else {
if (typeof console != "undefined") {
console.log("No required attributes detected");
}
}
}
Contenu de la rubrique
Obtention ou définition des données d'attribut d'entité
Les exemples du tableau suivant montrent comment récupérer ou modifier les données stockées dans les attributs.
Tâche |
Méthode |
Exemple |
---|---|---|
Obtenir la valeur d’un attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getValue |
var nameValue = Xrm.Page.getAttribute("name").getValue(); Affecte la valeur du champ Nom du compte à la variable nameValue. |
Définir la valeur d’un attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setValue |
Xrm.Page.getAttribute("name").setValue("new name"); Définit la valeur du champ Nom du compte sur « nouveau nom ». |
Obtenir le texte de l’option sélectionnée en cours d’un attribut de groupe d’options |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getText |
var addressType = Xrm.Page.getAttribute("address1_addresstypecode").getText(); Affecte le texte de l’option sélectionnée du champ Type d’adresse à la variable addressType. |
Obtenir l’objet sélectionné en cours dans un attribut optionset |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getSelectedOption |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getSelectedOption(); Affecte l’option sélectionnée du champ Type d’adresse à la variable addressTypeOption. |
Contenu de la rubrique
Obtention des métadonnées d’attribut
Les exemples du tableau suivant indiquent comment interroger les propriétés d’attribut pour comprendre de quel type d’attribut il s’agit ou modifier le comportement de l’attribut.
Tâche |
Méthode |
Exemple |
---|---|---|
Obtenir le type de l’attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getAttributeType |
var attributeType = Xrm.Page.getAttribute(0).getAttributeType(); Affecte la valeur de chaîne représentant le type d’attribut du premier attribut à la variable attributeType. |
Obtenir le mode de format de l’attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getFormat |
var attributeFormat = Xrm.Page.getAttribute(0).getFormat(); Affecte la valeur de chaîne représentant le format du premier attribut à la variable attributeFormat. |
Obtenir la valeur initiale d’un attribut Boolean ou optionset |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getInitialValue |
var attributeInitialValue = Xrm.Page.getAttribute("address1_addresstypecode").getInitialValue(); Affecte la valeur numérique initiale du champ Type d’adresse à la variable attributeInitialValue. |
Déterminer si une valeur d’attribut a été modifiée |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getIsDirty |
var isNameChanged = Xrm.Page.getAttribute("name").getIsDirty(); Attribue une valeur Boolean qui indique si la valeur du champ Nom du compte a été modifiée en la variable isNameChanged |
Détermine si un attribut de recherche représente une recherche PartyList. |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getIsPartyList |
var isPartyList = Xrm.Page.getAttribute("to").getIsPartyList(); Attribue une valeur Boolean qui indique si le champ À de l’entité Email représente une recherche de liste de groupes. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Obtenir la valeur maximale autorisé d’un attribut contenant un nombre |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getMax |
var newValue = 100000000000001; Attribue une valeur Boolean indiquant si la valeur de la variable newValue dépasse la valeur maximale autorisée pour le champ Limite de crédit à la variable newValueBelowMax. |
Obtenir la longueur maximale autorisé d’un attribut contenant une chaîne |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getMaxLength |
var newAccountName = "A Store"; Attribue une valeur Boolean indiquant si la valeur de la variable newAccountName dépasse la longueur maximale autorisée pour le champ Nom du compte à la variable nameTooLong. |
Obtenir la valeur minimale autorisée d’un attribut contenant un nombre |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getMin |
var newValue = -1; Attribue une valeur Boolean indiquant si la valeur de la variable newValue est inférieure à la valeur minimale autorisée pour le champ Limite de crédit à la variable newValueBelowMin. |
Obtient le nom logique d’un attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getName |
var attributeName = Xrm.Page.getAttribute(0).getName(); Affecte la valeur de nom logique du premier attribut de la page à la variable attributeName. |
Obtenir l’objet d’option représentant une valeur |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getOption |
var addressTypeOption = Xrm.Page.getAttribute("address1_addresstypecode").getOption(1); Affiche une alerte qui contient le texte de l’option de champ Type d’adresse avec une valeur égale à 1. |
Obtenir un nombre représentant le niveau de précision de l’attribut numérique |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getPrecision |
var creditLimitPrecision = Xrm.Page.getAttribute("creditlimit").getPrecision(); Affecte la valeur de précision du champ Limite de crédit à la variable creditLimitPrecision. |
Obtenir une valeur de chaîne indiquant si un attribut est requis pour avoir une valeur |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getRequiredLevel |
var creditLimitRequired = Xrm.Page.getAttribute("creditlimit").getRequiredLevel(); La valeur de la variable creditLimitRequired peut être none, required ou recommended. |
Modifier si des données sont requises dans un champ pour enregistrer un enregistrement |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setRequiredLevel |
Xrm.Page.getAttribute("creditlimit").setRequiredLevel("required"); Rend obligatoire le champ Limite de crédit. |
Déterminer si les données d’un attribut sont envoyées lorsque l’enregistrement est enregistré |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getSubmitMode |
var nameSubmitMode = Xrm.Page.getAttribute("name").getSubmitMode(); La valeur de la variable nameSubmitMode est always, never ou dirty pour représenter le submitMode du champ Nom du compte. |
Contrôler si les données d’un attribut sont sauvegardées lorsque l’enregistrement est enregistré |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_setSubmitMode |
Xrm.Page.getAttribute("name").setSubmitMode("always"); L’exemple force la valeur du champ Nom du compte à toujours être enregistrée même quand elle n’a pas changé. |
Lorsque la sécurité au niveau des champs est appliquée à un attribut, |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getUserPrivilege |
var canUpdateNameAttribute = Xrm.Page.getAttribute("name").getUserPrivilege().canUpdate; Attribue une valeur Boolean représentant le privilège de l’utilisateur de mettre à jour le champ Nom du compte à la variable d’canUpdateNameAttribute. |
Contenu de la rubrique
Enregistrement des arguments de l’événement
Lors de l’application de la logique métier, il est souvent nécessaire d’empêcher l’enregistrement d’un enregistrement afin que l’utilisateur puisse inclure les informations requises. Pour ce faire, vous devez configurer le gestionnaire d’événements à transmettre dans le contexte d’exécution. Le contexte du runtime contient la méthode getEventArgs pour extraire les arguments de l’événement. Les arguments contiennent les méthodes que vous pouvez utiliser pour déterminer si un enregistrement est enregistré ou les propriétés de la requête qui vous informeront sur l’événement save.
Tâche |
Exemple |
---|---|
Empêcher un enregistrement d’être enregistré. |
function My_PreventSaveFunction(eContext) { Utilisez le paramètre eContext pour capturer le contexte d’exécution et utilisez la méthode preventDefault incluse dans les arguments d’événement. |
Déterminez quelle action a initié l’enregistrement. |
function My_GetSaveModeTextFunction(eContext) { Utilisez le paramètre eContext pour capturer le contexte d’exécution et utilisez la méthode getSaveMode incluse dans les arguments d’événement pour convertir en texte la valeur du code au format entier. |
Contenu de la rubrique
Affichage des notifications
Les notifications offrent un moyen d’afficher un message à l’utilisateur.
Tâche |
Méthode |
Exemple |
---|---|---|
Afficher un message en regard du contrôle pour indiquer que les données ne sont pas valides. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setnotification |
Xrm.Page.getAttribute("name").controls.forEach( Définit un message d’erreur de validation sur chaque contrôle du formulaire pour l’attribut Nom du compte. Tant que ce message est affiché, l’enregistrement ne peut pas être enregistré. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Supprimer un message déjà affiché pour un contrôle. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_clearnotification |
Xrm.Page.getAttribute("name").controls.forEach( Efface tous les messages d’erreur de validation sur chaque contrôle du formulaire pour l’attribut Nom du compte. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Afficher les notifications de niveau formulaire. |
0375b206-d2bf-4034-a41d-fb476ecb4438#BKMK_setFormNotification |
Xrm.Page.ui.setFormNotification( Affiche le message « Bonjour » en haut du formulaire avec une icône d’informations système. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Supprimer les notifications de niveau formulaire |
0375b206-d2bf-4034-a41d-fb476ecb4438#BKMK_clearFormNotification |
Xrm.Page.ui.clearFormNotification("helloMsg"); Efface le message précédemment configuré avec « helloMsg » comme paramètre uniqueid. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Afficher une boîte de dialogue d’alerte non bloquante avec une fonction de rappel. |
72a66f93-92df-42b9-a8fd-b6125c7fe83b#BKMK_alertDialog |
var alertDisplayed = false; Afficher une alerte et définir la valeur de la variable alertDisplayed lorsqu’elle est fermée. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Afficher une boîte de dialogue de confirmation non bloquante avec différents rappels selon le bouton sur lequel l’utilisateur a cliqué. |
72a66f93-92df-42b9-a8fd-b6125c7fe83b#BKMK_confirmDialog |
var agree = false; Afficher un message de confirmation et définir la valeur de la variable agree selon la réponse. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Contenu de la rubrique
Contrôles
Les contrôles représentent les éléments de l’interface utilisateur du formulaire. Chaque attribut du formulaire dispose au moins d’un contrôle associé. Tous les contrôles ne sont pas associés à un attribut.IFRAME, la ressource Web et les sous-grilles sont des contrôles qui n’ont pas d’attributs.
Accès aux contrôles du formulaire
Les contrôles sont disponibles dans la collection Xrm.Page.ui.controls. Pour accéder à un contrôle, vous pouvez utiliser la méthode **Xrm.Page.ui.controls.**9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_get ou la version abrégée Xrm.Page.getControl.
La méthode get accepte quatre types d’arguments :
Chaîne : renvoie un contrôle où le nom logique correspond à la chaîne.
Number (nombre) : renvoie le contrôle où l’index de la collection Xrm.Page.ui.controls correspond au nombre.
None (aucun) : renvoie un tableau de tous les contrôles.
Delegate function(control,index): Renvoie un tableau des contrôles de la collection Xrm.Page.ui.controls qui entraîne un retour de la valeur true par la fonction déléguée.
Tâche |
Exemple |
---|---|
Accéder à tous les contrôles d’un attribut spécifique |
var nameControls = Xrm.Page.getAttribute("name").controls.get(); Affecte un tableau de tous les contrôles de l’attribut name à la variable nameControls. |
Accéder à un contrôle par son nom |
var nameControl = Xrm.Page.getControl("name"); Affecte le premier contrôle représentant le champ Nom du compte à la variable nameControl. Le premier contrôle ajouté à un formulaire d’un attribut aura le même nom que l’attribut. Chaque nom de contrôle supplémentaire aura un numéro d’index ajouté au nom. Par exemple, trois contrôles de l’attribut de nom ont respectivement les noms name, name1 et name2. |
Accéder à un contrôle par son index |
var firstControl = Xrm.Page.getControl(0); Affecte le premier contrôle de la collection Xrm.Page.ui.controls à la variable firstControl. |
Accéder à tous les contrôles |
var allControls = Xrm.Page.getControl(); Affecte un tableau de tous les contrôles de la collection Xrm.Page.ui.controls à la variable allControls. |
Accéder à tous les contrôles qui répondent à un critère spécifique |
var optionsetControls = Xrm.Page.getControl(function (control, index) { Affecte un tableau de tous les attributs de la collection Xrm.Page.ui.controls qui répondent aux critères définis dans la fonction anonyme, qui renvoie true lorsque le type de contrôle est « groupe d’options » à la variable optionsetControls. |
Chaque section comprend également un ensemble de contrôles contenant uniquement les contrôles de cette section. L’exemple de code suivant affecte la variable generalTabAccountInfoSectionControls à un tableau de contrôles de la section Adresse de l’onglet Général.
var generalTabAccountInfoSectionControls = Xrm.Page.ui.tabs.get("general").sections.get("address").controls.get();
Notes
Chaque attribut n’existe qu’une seule fois dans le formulaire, mais un champ peut être ajouté plusieurs fois au formulaire pour cet attribut. Chaque champ ajoutée crée un autre contrôle. Les formulaires peuvent être personnalisés plus avant une fois que vous avez écrit vos scripts. Les scripts que vous écrivez pour les contrôles d’attribut doivent présumer que le champ a été ajouté plusieurs fois dans le formulaire. Toutes les actions que vous voulez mener sur le contrôle d’un attribut doivent généralement s’appliquer à tous les contrôles de cet attribut. Par exemple, si vous voulez désactiver un contrôle, mais uniquement l’un d’entre eux, l’utilisateur peut continuer à entrer des données à l’aide d’un autre contrôle. Pour cette raison, nous vous recommandons d’utiliser le modèle suivant à l’aide de la méthode 9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_forEach de la collection pour appliquer la même logique à tous les contrôles d’un attribut, même s’il n’existe qu’un seul contrôle au moment où vous écrivez votre script.
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); });
Contenu de la rubrique
Accès aux contrôles de l'en-tête
Les contrôles de l'en-tête respectent la convention d'affectation de noms où « header_ » est ajouté au nom du contrôle. Par exemple, si l'attribut name se trouve dans l'en-tête, vous pouvez y accéder en utilisant :
var nameControlInHeader = Xrm.Page.getControl("header_name");
Accès aux contrôles du flux des processus d'entreprise
Les contrôles du contrôle du flux des processus d'entreprise respectent la convention d'affectation de noms où « header_process_ » est ajouté au nom du contrôle. Par exemple, si l'attribut name se trouve dans l'en-tête, vous pouvez y accéder en utilisant :
var nameControlInBPF = Xrm.Page.getControl("header_process_name");
Notes
Seuls les contrôles à la phase active se trouvent dans la collection de Xrm.Page.ui.controls lors du chargement du formulaire. Les autres contrôles de flux des processus d'entreprise sont ajoutés lorsqu'une phase de l'entité actuelle est sélectionné.
Méthodes de contrôle de formulaire
Après que vous avez accédé à un contrôle, vous pouvez appeler les méthodes suivantes.
Tâche |
Méthode |
Exemple |
---|---|---|
Déterminer si un contrôle est visible |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getVisible |
var isNameVisible = Xrm.Page.getControl("name").getVisible(); Attribue une valeur Boolean à la variable isNameVisible qui indique si le champ Nom du compte est visible. |
Masquer ou afficher un contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setVisible |
Xrm.Page.getControl("name").setVisible(false); Masque le champ Nom du compte. |
Obtenir une référence à l’attribut du contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getAttribute |
var nameAttribute = Xrm.Page.getControl("name").getAttribute(); Affecte l’attribut du contrôle du champ Nom du compte à la variable nameAttribute. Notes Certains contrôles n’ont pas d’attributs. |
Déterminer le type du contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getControlType |
var optionSetControls = Xrm.Page.getControl(function (control, index) { return control.getControlType() == "optionset"; }); Attribue un tableau optionset de contrôles à la variable optionSetControls. |
Déterminer si un contrôle est activé |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getDisabled |
var disabledControls = Xrm.Page.getControl(function(control, index) { return control.getDisabled(); }); Attribue un tableau de contrôles désactivés à la variable disabledControls. Notes Les contrôles de ressources Web et de sous-grille ne prennent pas en charge cette méthode. |
Activer ou désactiver un contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setDisabled |
Xrm.Page.getAttribute("name").controls.forEach(function (control, index) { control.setDisabled(true); }); Désactiver chaque contrôle de l’attribut name. Conseil N’oubliez pas qu’un attribut peut avoir plusieurs contrôles. |
Obtenir l’étiquette d’un contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getLabel |
var nameControlLabel = Xrm.Page.getControl("name").getLabel(); Affecte la valeur du contrôle du champ Nom du compte à la variable nameControlLabel. |
Modifier l’étiquette d’un contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setLabel |
Xrm.Page.getControl("name").setLabel("Company Name"); Modifie l’étiquette du champ Nom du compte en Nom de la société. |
Obtenir le nom d’un contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getName |
var firstControlName = Xrm.Page.getControl(0).getName(); Affecte le nom du premier contrôle de la collection Xrm.Page.ui.controls à la variable firstControlName. |
Obtenir le parent d’un contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getParent |
var parentSection = Xrm.Page.getControl("name").getParent(); Affecte la section parente du contrôle du champ Nom du compte à la variable parentSection. |
Définir le focus sur un contrôle |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setFocus |
Xrm.Page.getControl("name").setFocus(); Définit le focus sur le champ Nom du compte. |
Contenu de la rubrique
Méthodes du contrôle de groupe d’options
Les groupes d’options possèdent certaines méthodes particulières. Il est important de ne pas oublier que l’attribut définit les options valides pour un optionset. Lorsque vous utilisez un contrôle optionset, vous pouvez manipuler les options disponibles, mais vous ne pouvez pas créer de nouvelles options.
Tâche |
Méthode |
Exemple |
---|---|---|
Ajouter une option à un contrôle de groupe d’options |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addOption |
var addressTypeCodeControl = Xrm.Page.getControl("address1_addresstypecode"); À l’aide d’une référence au contrôle du champ Type d’adresse, accédez à l’attribut du contrôle et utilisez la méthode 6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_getOption pour définir la variable billToAddressOption sur l’option représentant l’option Facturer à. Utilisez 51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_clearOptions pour supprimer toutes les options existantes et utilisez addOption pour définir billToAddressOption comme seule option disponible pour ce contrôle. |
Supprimer toutes les options d’un contrôle de groupe d’options |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_clearOptions |
Xrm.Page.getControl("address1_addresstypecode").clearOptions(); Supprimez toutes les options du contrôle du champ Type d’adresse. |
Supprimez une seule option d’un contrôle de groupe d’options. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_removeOption |
Xrm.Page.getControl("address1_addresstypecode").removeOption(1); Supprimez l’option Facturer à du contrôle du champ Type d’adresse. |
Contenu de la rubrique
Méthodes de contrôle de ressource Web et IFRAME
Un contrôle IFRAME vous permet d’inclure une page dans un formulaire en fournissant une URL. Une ressource Web HTML est ajoutée au formulaire avec un élément IFRAME.Silverlight et les ressources Web d'images sont intégrés directement à la page.
Tâche |
Méthode |
Exemple |
---|---|---|
Obtenez la valeur du paramètre de chaîne de requête de données passé à une ressource Web Silverlight. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getData |
var dataValue = Xrm.Page.getControl("WebResource_SilverLightControl").getData(); Affecte la valeur passée via le paramètre de chaîne de requête de données à la variable dataValue. |
Obtenez l’URL du contenu actuellement affiché dans un IFRAME. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getSrc |
var iframeSource = Xrm.Page.getControl("IFRAME_targetPage").getSrc(); Affecte la chaîne représentant la valeur en cours de l’attribut IFRAME.src à la variable iframeSource. |
Définissez l’URL pour que le contenu soit affiché dans un IFRAME. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setSrc |
Xrm.Page.getControl("IFRAME_targetPage").setSrc("http://www.bing.com"); Définit une URL comme l’IFRAME.src du contrôle. |
Obtenez l’URL qui représente l’URL configurée par défaut pour un IFRAME. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getUrl |
var initialUrl = Xrm.Page.getControl("IFRAME_bing").getInitialUrl(); Attribue l’URL initiale configurée pour être affichée dans l’ IFRAME à la variable initialUrl. |
Obtient l’objet du formulaire qui représente la ressource Web ou l’IFRAME. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getObject |
var obj = Xrm.Page.getControl("IFRAME_bing").getObject(); Attribue une référence d’objet à la variable obj. Pour IFRAME, ce sera l’élément du modèle DOM de l’ IFRAME. Pour une ressource Web Silverlight, ce sera l’élément Objet représentant le plug-in Silverlight incorporé. |
Contenu de la rubrique
Méthodes de contrôle de recherche
Une exigence commune des contrôles de recherche consiste à spécifier la vue par défaut affichée lorsqu’un utilisateur met à jour le champ.
Tâche |
Méthode |
Exemple |
---|---|---|
Ajoutez une vue personnalisée pour une recherche. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addCustomView |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Définit les variables viewId, viewDisplayName, fetchXml et layoutXml à passer comme arguments afin qu’une vue personnalisée soit ajoutée comme vue par défaut au contrôle du champ de recherche Compte parent. |
Obtenez la vue par défaut d’une recherche. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_getDefaultView |
var defaultViewId = Xrm.Page.getControl("parentaccountid").getDefaultView(); Attribuez la valeur id de la vue par défaut à la variable defaultViewId. |
Définir la vue par défaut d’une recherche. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setDefaultView |
var viewId = "{C7034F4F-6F92-4DD7-BD9D-9B9C1E996380}"; Définit la vue par défaut du contrôle du champ Compte parent à la valeur id de la variable viewId. |
Filtrage des enregistrements renvoyés pour un contrôle de recherche |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addCustomFilter |
L’exemple de code suivant concerne la recherche de Compte (parentaccountid) du formulaire d'opportunité. Lorsque la fonction Sdk.setParentAccountIdFilter est défini dans le gestionnaire d’événements de formulaire Onload, la fonction Sdk.filterCustomAccounts est ajoutée à l’événement PreSearch pour cette recherche. Le résultat est que des comptes avec la valeur Catégorie (accountcategorycode) de Client favori ) (1) sont renvoyés.
|
Contenu de la rubrique
Méthodes de contrôle SubGrid
Le contrôle SubGrid représente une grille dans un formulaire. Il possède une seule méthode.
Tâche |
Méthode |
Exemple |
---|---|---|
Actualiser les données affichées dans la sous-grille |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_refresh |
Xrm.Page.getControl("accountcontactsgrid").refresh(); Actualisez les Contactssubgrid. |
Contenu de la rubrique
Méthodes de contrôle Date
Le contrôle Date possède une seule méthode.
Tâche |
Méthode |
Exemple |
---|---|---|
Spécifiez si un contrôle de date doit afficher la partie heure d’une date. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_setShowTime |
Xrm.Page.getControl("createdon").setShowTime(false); Définissez le champ Créé le afin que l’heure n’apparaisse pas. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Contenu de la rubrique
Navigation du formulaire
Vous pouvez utiliser et manipuler les éléments de navigation à gauche du formulaire. Ces éléments de navigation affichent généralement les enregistrements associés à l’enregistrement affiché dans le formulaire.
Vous pouvez accéder aux éléments de navigation à l’aide de la collection Xrm.Page.ui.navigation.items. Comme pour toutes les collections du formulaire, il existe une méthode 9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_get et une méthode 9b85e46f-ca6e-4313-af04-4290e3c6ab8b#BKMK_forEach.
Tâche |
Méthode |
Exemple |
---|---|---|
Obtenir le nom d’un élément de navigation |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_getId |
var navItemIds = []; Créez un tableau navItemIds contenant les valeurs id de chaque élément de navigation de la collection Xrm.Page.ui.navigation.items. |
Obtenez l’étiquette d’un élément de navigation. |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_getLabel |
var navAddressesLabel = Xrm.Page.ui.navigation.items.get("navAddresses").getLabel(); Attribuez l’étiquette de l’élément de navigation Adr. supplém. à la variable navAddressesLabel. |
Définir l’étiquette d’un élément de navigation |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_setLabel |
Xrm.Page.ui.navigation.items.get("navAddresses").setLabel("Other Addresses"); Modifiez l’étiquette de l’élément de navigation Adr. supplém. en Autres adresses. |
Masquer ou afficher un élément de navigation |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_setVisible |
Xrm.Page.ui.navigation.items.get("navAddresses").setVisible(false); Masquez l’élément de navigation More Addresses. |
Déterminer si un élément de navigation est visible |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_getVisible |
var moreAddressesVisible = Xrm.Page.ui.navigation.items.get("navAddresses").getVisible() Attribuer une valeur Boolean à la variable moreAddressesVisible pour représenter si l’élément de navigation Adr. supplém. apparaît. |
Définissez le focus sur un élément de navigation. |
bcf7210d-df71-43a5-8052-a76de0d4763d#BKMK_setFocus |
Xrm.Page.ui.navigation.items.get("navAddresses").setFocus(); Définissez le focus sur l’élément de navigation Adr. supplém.. |
Contenu de la rubrique
Onglets et sections
Chaque formulaire possède une collection d’onglets. Chaque onglet contient un ensemble de sections. Chaque section comporte un ensemble de contrôles. Vous pouvez par programmation accéder à ces éléments et utiliser leurs méthodes.
Tâche |
Méthode |
Exemple |
---|---|---|
Déterminer si un onglet est développé ou réduit |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_getDisplayState |
var isGeneralTabExpanded = (Xrm.Page.ui.tabs.get("general").getDisplayState() == "expanded") Attribuez une valeur Boolean à la variable d’isGeneralTabExpanded qui indique si l’onglet Général est développé. |
Développer ou réduire un onglet |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabsetDisplayState |
Xrm.Page.ui.tabs.get("general").setDisplayState("collapsed"); Réduisez l’onglet Général. |
Déterminer si un onglet est visible |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabgetVisible |
var isGeneralTabVisible = Xrm.Page.ui.tabs.get("general").getVisible(); Attribuez une valeur Boolean à la variable isGeneralTabVisible indiquant si l’onglet Général est visible. |
Masquer ou afficher un onglet |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabsetVisible |
Xrm.Page.ui.tabs.get("general").setVisible(false); Masquez l’onglet Général. |
Obtenir l’étiquette d’un onglet |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabgetLabel |
var generalTabLabel = Xrm.Page.ui.tabs.get("general").getLabel(); Attribuez l’étiquette de l’onglet Général à la variable generalTabLabel. |
Modifier l’étiquette d’un onglet |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabsetLabel |
Xrm.Page.ui.tabs.get("general").setLabel("Major"); Modifier l’étiquette de l’onglet Général en Principal. |
Définir le focus sur un onglet |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabsetFocus |
Xrm.Page.ui.tabs.get("general").setFocus(); Définissez le focus sur l’onglet Général. |
Obtenir le nom de l’onglet. |
205390b9-3eda-4a2b-87cb-2a8f83f953da#BKMK_tabgetName |
var firstTabName = Xrm.Page.ui.tabs.get(0).getName(); Attribuez le nom du premier onglet à la variable firstTabName. |
Obtenir l’onglet parent d’une section |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_sectionGetParent |
Xrm.Page.getControl("industrycode").getParent().getParent().setFocus(); Définir le focus sur l’onglet contenant le champ Industrie. |
Déterminer si une section est visible |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_sectionGetVisible |
var industrySectionVisible = Xrm.Page.getControl("industrycode").getParent().getVisible(); Attribuez une valeur Boolean à la variable industrySectionVisible indiquant si la section contenant le champ Industrie est visible. |
Masquer ou afficher une section |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_sectionSetVisible |
Xrm.Page.getControl("industrycode").getParent().setVisible(false); Masquez la section contenant le champ Industrie. |
Obtenir l’étiquette d’une section |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_getLabel |
var industryFieldSectionLabel = Xrm.Page.getControl("industrycode").getParent().getLabel(); Attribuez l’étiquette de la section contenant le champ Industrie à la variable d’industryFieldSectionLabel. |
Modifier l’étiquette d’une section |
a90df20b-42a6-444e-9912-e0ffab11daec#BKMK_sectionSetLabel |
Xrm.Page.getControl("industrycode").getParent().setLabel("Detailed Information"); Modifiez l’étiquette de la section contenant le champ Industrie en Informations détaillées. |
Contenu de la rubrique
Ajouter ou supprimer des gestionnaires d’événements au moment de l’exécution
Les gestionnaires d’événements sont généralement configurés à l’aide de l’éditeur de formulaires dans l’application, mais vous pouvez également les ajouter à l’événement OnSave de formulaire et aux événements OnChange d’attribut au moment de l’exécution à l’aide de ces APIs. Les exemples de cette section se rapportent à la définition de fonction suivante :
function myFunction() {
//perform action here
}
Même si vous pouvez ajouter une fonction anonyme, la fonction doit avoir un nom de référence afin de pouvoir la supprimer.
Tâche |
Méthode |
Exemple |
---|---|---|
Ajouter une fonction à l’événement OnSave |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_addOnSave |
Xrm.Page.data.entity.addOnSave(myFunction); Ajoutez la fonction myFunction à l’événement OnSave. |
Supprimer une fonction de l’événement OnSave |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_removeOnSave |
Xrm.Page.data.entity.removeOnSave(myFunction); Supprimez la fonction myFunction de l’événement OnSave. |
Ajoutez une fonction à l’événement OnChange d’un attribut. |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_addOnChange |
Xrm.Page.getAttribute("name").addOnChange(myFunction); Ajoutez la fonction myFunction à l’événement OnChange du champ Nom du compte. |
Supprimer une fonction de l’événement OnChange d’un attribut |
6881e99b-45e4-4552-8355-2eef296f2cd8#BKMK_removeOnChange |
Xrm.Page.getAttribute("name").removeOnChange(myFunction); Supprimez la fonction myFunction de l’événement OnChange du champ Nom du compte. |
Ajoutez une fonction à l’événement PreSearch d’un contrôle de recherche. |
51828fe3-f6ff-4f97-80ed-b06b3a354955#BKMK_addPreSearch |
L’exemple de code suivant concerne la recherche de Compte (parentaccountid) du formulaire Opportunité. Lorsque la fonction Sdk.setParentAccountIdFilter est défini dans le gestionnaire d’événements de formulaire Onload, la fonction Sdk.filterCustomAccounts est ajoutée à l’événement PreSearch pour cette recherche. Le résultat est que des comptes avec la valeur Catégorie (accountcategorycode) de Client favori ) (1) sont renvoyés.
|
Utilisez d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageChange et d88d5f21-6385-443b-91f2-0ec0c16b1324#BKMK_OnStageSelected pour les événements qui se produisent dans le contrôle de flux des processus d'entreprise. Ces événements disposent uniquement de méthodes permettant d'ajouter ou de supprimer des gestionnaires d'événements par programme.Pour plus d'informations :Méthodes pour gérer des gestionnaires d'événements.
Contenu de la rubrique
Méthodes d'informations contextuelles
Utilisez ces méthodes pour obtenir des informations sur l’utilisateur, l’organisation et le client. Le tableau suivant présente certaines méthodes de contexte les plus utiles. Pour toutes les méthodes de contexte, voir Contexte côté client (référence côté client)
Tâche |
Méthode |
Exemple |
---|---|---|
Obtenez l’URL pour se connecter à l’organisation. |
var serverUrl = Xrm.Page.context.getClientUrl(); Attribuez une chaîne représentant l’URL à la variable serverUrl. |
|
Obtenez l’identificateur unique de l’utilisateur actuel. |
var userId = Xrm.Page.context.getUserId(); Attribuez une chaîne représentant l’ID utilisateur à la variable userId. |
|
Obtenez le nom de l’utilisateur actuel. |
var userName = Xrm.Page.context.getUserName(); Attribuez une chaîne représentant le nom de l’utilisateur à la variable userName. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
|
Obtenez le code de langue représentant la langue préférée de l’utilisateur pour l’interface utilisateur. |
var userLCID = Xrm.Page.context.getUserLcid(); Attribuez un numéro qui indique la langue préférée de l’utilisateur à la variable userLCID. |
|
Obtenez un tableau de chaînes qui représente les valeurs GUID de chaque rôle de sécurité attribué à l’utilisateur actuel et à toutes les équipes auxquelles l’utilisateur est associé. |
var userRoles = Xrm.Page.context.getUserRoles(); Attribuez un tableau de chaînes qui représente les rôles de sécurité de l’utilisateur à la variable userRoles. |
|
Déterminez si le script s’exécute dans le client Microsoft Dynamics 365 pour Outlook. |
var isOutlookClient = (Xrm.Page.context.client.getClient() == "Outlook"); Attribuez une valeur Boolean qui représente si votre code s’exécute dans le client Dynamics 365 pour Outlook à la variable isOutlookClient. |
|
Déterminez si l’utilisateur travaille hors connexion avec le client Microsoft Dynamics 365 pour Microsoft Office Outlook avec accès hors connexion. |
var IsOffline = (Xrm.Page.context.client.getClientState() == "Offline"); Attribuez une valeur Boolean qui représente si l’utilisateur travaille actuellement hors connexion à la variable IsOffline. |
Contenu de la rubrique
Obtenir, actualiser ou enregistrer les données d'entité
Le tableau suivant contient les méthodes que vous pouvez utiliser pour obtenir des informations sur l’enregistrement actuel ou pour enregistrer des modifications. Pour plus d'informations, consultez les rubriques Xrm.Page.data.entity (référence côté client) et Xrm.Page.data (référence côté client).
Tâche |
Méthode |
Exemple |
---|---|---|
Obtenir le nom logique de l’entité actuelle |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getEntityName |
var entityName = Xrm.Page.data.entity.getEntityName(); Attribuez le nom logique de l’entité à la variable entityName. |
Obtenez la valeur de l’attribut principal de l’entité en cours. |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getPrimaryAttributeValue |
var primaryAttributeValue = Xrm.Page.data.entity.getPrimaryAttributeValue(); Attribuez la valeur de l’attribut principal à la variable primaryAttributeValue. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Obtenez l’Id de l’utilisateur actuel. |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getId |
var recordId = Xrm.Page.data.entity.getId(); Attribuez l’id de l’enregistrement à la variable recordId. |
Actualisez de manière asynchrone les données du formulaire sans recharger la page. |
ab100e06-a3ba-47f8-a8f8-7b5fab2ab66d#BKMK_refresh |
Xrm.Page.data.refresh(); Actualise les données du formulaire. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Enregistrer l’enregistrement en cours |
Xrm.Page.data.entity.fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_save |
Xrm.Page.data.entity.save(); Enregistre l’enregistrement. Il existe des arguments facultatifs. Utilisez saveandclose ou saveandnew pour exécuter les actions équivalentes. |
Enregistre l’enregistrement en cours de manière asynchrone avec la possibilité de définir des |
Xrm.Page.data.ab100e06-a3ba-47f8-a8f8-7b5fab2ab66d#BKMK_dataSave |
Xrm.Page.data.save().then( Enregistre l’enregistrement et affiche un message indiquant le statut de l’enregistrement. Cette méthode est uniquement disponible pour 41462684-3e5d-4858-8be4-1a7c4fcdeff6#BKMK_UpdatedEntties. |
Déterminez si les données de l’enregistrement en cours ont changé. |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getIsDirty |
var isDirty = Xrm.Page.data.entity.getIsDirty(); Attribuez une valeur Boolean représentant si les données de l’enregistrement ont changé à la variable isDirty. |
Obtenez une chaîne représentant les données envoyées au serveur lorsque l’enregistrement est enregistré. |
fbaf2e7a-db2f-448f-bd24-6b3ca1ccb28e#BKMK_getDataXml |
var dataXml = Xrm.Page.data.entity.getDataXml(); Attribuez une chaîne représentant les données à enregistrer à la variable dataXml. |
Contenu de la rubrique
Voir aussi
Utiliser le modèle d’objet Xrm.Page
Écrire du code pour les formulaires Microsoft Dynamics 365
Référence par programmation côté client
Microsoft Dynamics 365
© 2017 Microsoft. Tous droits réservés. Copyright