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

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

Syntaxe

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

Paramètres

Nom  Type Obligatoire Description
entityFormOptions Objet Oui Options de formulaire pour ouvrir le formulaire. L’objet contient les valeurs suivantes :
  • entityName : Chaîne. Nom logique de la table pour laquelle afficher le formulaire.
  • entityId : Chaîne (facultatif). ID de l’enregistrement de table pour lequel afficher le formulaire.
  • formId : Chaîne (facultatif). ID de l’instance de formulaire à afficher.
  • cmdbar : (Facultatif) booléen. 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 : Rechercher (facultatif). 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).
  • hauteur : Nombre (Facultatif). Hauteur de la fenêtre du formulaire à afficher, en pixels.
  • navbar : Chaîne (facultatif). 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.
  • openInNewWindow : (Facultatif) Boolean. 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.
  • windowPosition : Nombre (facultatif). Spécifiez une des valeurs suivantes pour la position du formulaire sur l’écran :
    • 1:center
    • 2:side
    Cela ne s’applique pas à l’ouverture d’une nouvelle fenêtre de navigateur.
  • relation : Objet (facultatif). Définissez un objet de relation pour afficher les enregistrements associés dans le formulaire. L’objet a les valeurs suivantes.
    Nom  Type Description
    attributeName String Nom de la colonne utilisée pour la relation.
    nom String Nom de la relation.
    navigationPropertyName Chaîne Nom de la propriété de navigation pour cette relation.
    relationshipType Numéro Type de relation. Spécifiez l’une des valeurs suivantes :
    • 0:OneToMany
    • 1:ManyToMany
    roleType Numéro Type de rôle dans la relation Spécifiez l’une des valeurs suivantes :
    • 1:Referencing
    • 2:AssociationEntity
  • selectedStageId : Chaîne (facultatif). ID de la phase sélectionnée dans l’instance de processus d’entreprise.
  • useQuickCreateForm : (Facultatif) booléen. 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.
  • width : Nombre (Facultatif). Largeur de la fenêtre du formulaire à afficher, en pixels.
formParameters Objet 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 Fonction Non Une fonction à exécuter lorsque l’enregistrement est enregistré dans le formulaire de création rapide.

Un objet est transmis à cette fonction 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.

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.
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);
    });

Exemple : 3 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é).