Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Ouvre un formulaire d’entité ou un formulaire de création rapide.
Note
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. Les 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 | Fonction à exécuter lorsque l’enregistrement est enregistré dans le formulaire de création rapide. Cette fonction accepte un objet comme paramètre. L’objet a un savedEntityReference tableau 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éé.NOTE : - La successCallback fonction 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 ce paramètre, la barre de commandes s’affiche par défaut. Nécessite de transmettre le paramètre openInNewWindow comme true. |
createFromEntity |
Lookup | Non | Désigne un enregistrement qui fournit des valeurs par défaut basées sur les valeurs de colonne mappées. 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 un formulaire dans une nouvelle fenêtre ou un nouvel onglet. Si vous spécifiez et ne spécifiez true pas de valeurs pour la hauteur ou la largeur, le formulaire s’affiche 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 sous le même onglet ; envisagez d’ouvrir un formulaire dans la boîte de dialogue du formulaire principal à la place. Cette propriété n’est actuellement pas prise en charge pour les formulaires de création rapide, car elles ne peuvent pas être ouvertes 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 n’est pas affichée. 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 est définie falsesur . |
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"] = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee";
// 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 des valeurs préremplies (y compris 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);
});