openForm (référence de l’API client)

Ouvre un formulaire d’entité ou un formulaire de création rapide.

Notes

Pour ouvrir un formulaire principal en tant que boîte de dialogue, utilisez plutôt la méthode navigateTo. Pour plus d’informations : Ouvrir le formulaire principal dans une boîte de dialogue à l’aide de l’API client

Syntaxe

Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);

Paramètres

Nom Type Requise Description
entityFormOptions Object Oui Options de formulaire pour ouvrir le formulaire. Voir Objet EntityFormOptions
formParameters Object Non Objet de dictionnaire qui transmet des paramètres supplémentaires au formulaire. Des paramètres non valides provoquent une erreur.

Pour plus d’informations sur le passage des paramètres à un formulaire, voir Définir les valeurs de colonne utilisant les paramètres transmis à un formulaire et Configurer un formulaire pour accepter les paramètres de chaîne de requête personnalisés.
successCallback Function Non Une fonction à exécuter lorsque l’enregistrement est enregistré dans le formulaire de création rapide. Cette fonction reçoit un objet en tant que paramètre. L’objet possède un tableau savedEntityReference avec les propriétés suivantes pour identifier les enregistrements affichés ou créés :
- entityType : Nom logique de la table .
- id : Représentation sous forme de chaîne d’une valeur GUID de l’enregistrement.
- name : valeur de colonne principale de l’enregistrement affiché ou créé.

REMARQUE :
- La fonction successCallback n’est pas exécutée lorsque vous ouvrez un formulaire pour un enregistrement existant ou nouveau.
- La fonction successCallback est exécutée uniquement lorsque vous sauvegardez un enregistrement dans un formulaire de création rapide qui a été ouvert à l’aide de la méthode openForm.
errorCallback Function Non Fonction à exécuter lorsque l’opération échoue.

Objet EntityFormOptions

L’objet contient les valeurs suivantes :

Nom Type Requise Description
entityName String Oui Nom logique de la table pour laquelle afficher le formulaire.
entityId String Non ID de l’enregistrement de table pour lequel afficher le formulaire.
formId String Non ID de l’instance de formulaire à afficher.
cmdbar Bool Non Indique si afficher la barre de commandes. Si vous ne spécifiez pas de valeur pour ce paramètre, la barre de commandes est affichée par défaut. Nécessite de transmettre le paramètre openInNewWindow comme true.
createFromEntity Lookup Non Désigne un enregistrement qui fournira des valeurs par défaut en fonction des valeurs de colonne mappée. L’objet de recherche contient les propriétés de chaîne suivantes : entityType, id, et name (facultatif).
openInNewWindow Bool Non Indique s’il faut afficher le formulaire dans une nouvelle fenêtre ou un nouvel onglet. Si vous spécifiez true et ne spécifiez pas de valeurs pour la hauteur ou la largeur, le formulaire s’affichera dans un nouvel onglet. L’ouverture d’un formulaire dans une nouvelle fenêtre ou un nouvel onglet ralentit le rendu du formulaire par rapport à l’ouverture du formulaire dans le même onglet ; envisagez plutôt d’ouvrir un formulaire dans la boîte de dialogue principale du formulaire. Cette propriété n’est actuellement pas prise en charge pour les formulaires de création rapide, car ils ne peuvent pas être ouverts dans une nouvelle fenêtre ou un nouvel onglet.
height Chiffre Non Hauteur de la fenêtre du formulaire à afficher, en pixels. Nécessite de transmettre le paramètre openInNewWindow comme true.
width Chiffre Non Largeur de la fenêtre du formulaire à afficher, en pixels. Nécessite de transmettre le paramètre openInNewWindow comme true.
navbar String Non Contrôle si la barre de navigation est affichée et si la navigation dans l’application est disponible dans les zones et les sous-zones définies dans le plan de site. Les valeurs valides sont : on, off ou entity. Nécessite de transmettre le paramètre openInNewWindow comme true.
- on : la barre de navigation s’affiche. Il s’agit du comportement par défaut si le paramètre navbar n’est pas utilisé.
- off : la barre de navigation ne s’affiche pas. Les utilisateurs peuvent accéder à d’autres éléments de l’interface utilisateur ou aux boutons Précédent et Suivant.
- entity : dans un formulaire d’entité, seules les options de navigation pour les tables associées sont disponibles. Après la navigation vers une table associée, un bouton Précédent s’affiche dans la barre de navigation pour permettre le renvoi vers l’enregistrement d’origine.
relationship Object Non Définissez un objet de relation pour afficher les enregistrements associés dans le formulaire. Voir Objet de relation
selectedStageId String Non ID de la phase sélectionnée dans l’instance de processus d’entreprise.
useQuickCreateForm Bool Non Indique si ouvrir un formulaire de création rapide. La table doit avoir l’option Autoriser la création rapide activée pour le formulaire de création rapide à afficher et vous devez également ajouter le tableau et le formulaire de création rapide à votre application. Si vous ne spécifiez pas la valeur de useQuickCreateForm, la valeur par défaut sera false.

objet de relation

L’objet a les valeurs suivantes.

Nom Type Description
attributeName String Nom de la colonne utilisée pour la relation.
name String Nom de la colonne utilisée pour la relation.
navigationPropertyName String Nom de la colonne utilisée pour la relation.
relationshipType Chiffre Type de relation. Spécifiez l’une des valeurs suivantes :
- 0 : OneToMany
- 1 : ManyToMany
roleType Chiffre Type de rôle dans la relation. Spécifiez l’une des valeurs suivantes :
- 1 : Referencing
- 2 : AssociationEntity

Remarques

Vous devez utiliser cette méthode pour ouvrir la table ou pour créer rapidement des formulaires au lieu des méthodes Xrm.Utility.openEntityForm et Xrm.Utility.openQuickCreate obsolètes.

Utilisez setActiveProcess pour afficher un processus métier particulier et setActiveProcessInstance pour afficher une instance de processus métier particulière sur le formulaire.

Exemples

Exemple 1 : Ouvrir un formulaire pour un enregistrement existant

L’exemple de code suivant ouvre un formulaire de contact pour afficher un enregistrement de contact existant :

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["entityId"] = "8DA6E5B9-88DF-E311-B8E5-6C3BE5A8B200";

// Open the form.
Xrm.Navigation.openForm(entityFormOptions).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Exemple 2 : Ouvrir un formulaire pour un nouvel enregistrement

L’exemple de code suivant ouvre un formulaire de contact avec certaines valeurs remplies pour créer un enregistrement :

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";

// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Exemple 3 : Ouvrir un formulaire pour un nouvel enregistrement (recherche complexe)

L’exemple de code suivant ouvre un formulaire d’activité avec certaines valeurs remplies (notamment une recherche complexe) pour créer un enregistrement :

var entityFormOptions = {};
entityFormOptions["entityName"] = "email";

// Set default values for the Contact form
var formParameters = {};
formParameters["subject"] = "Sample";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["regardingobjectid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["regardingobjectidname"] = "Admin user"; // Name of the user.
formParameters["regardingobjectidtype"] = "systemuser"; // Table name. 
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Exemple : 4 Ouvrir un formulaire de création rapide

L’exemple de code suivant ouvre un formulaire de contact de création rapide avec certaines valeurs remplies :

var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["useQuickCreateForm"] = true;

// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "contact@adventure-works.com";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";

// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
formParameters["preferredsystemuseridtype"] = "systemuser"; // Table name.
// End of set lookup column

// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
    function (success) {
        console.log(success);
    },
    function (error) {
        console.log(error);
    });

Xrm.Navigation

Notes

Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)

Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).