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);
});
Articles associés
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é).