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.
Définissez les valeurs par défaut des nouveaux enregistrements en spécifiant des valeurs dans l’URL qui ouvre le formulaire. Par défaut, le formulaire définit ces valeurs, mais les utilisateurs peuvent les modifier avant d’enregistrer l’enregistrement.
Transmission des paramètres pour définir des valeurs d’enregistrement de colonne
Note
Utilisez la Xrm.Navigation. fonction openForm pour transmettre des valeurs de paramètre au formulaire pour définir des valeurs de colonne. Pour obtenir un exemple, consultez Exemple : Utiliser Xrm.Navigation.openForm pour ouvrir une nouvelle fenêtre.
Lorsque vous ouvrez un nouveau formulaire à l’aide de l’adresse URL, incluez des arguments dans le extraqs paramètre pour définir des valeurs de colonne. Les besoins suivants doivent être respectés :
- Encoder les paramètres que vous passez dans le
extraqsparamètre. Pour encoder les paramètres, utilisez encodeURIComponent. Pour utiliser des caractères spéciaux comme=ou&dans les valeurs des paramètres, double encodez-les. Par exemple, pour définirnamesurA=B&C, utilisezextraqs=name%3DA%253DB%2526C. - Les noms des arguments de chaîne de requête doivent correspondre ou inclure les noms des colonnes de la table.
- Les valeurs que vous transmettez doivent être valides.
- La valeur ne peut pas être un script.
- Toute tentative de transmission d’un paramètre ou d’une valeur non valide entraîne une erreur.
- Pour les colonnes booléennes, utilisez une valeur entière
0ou1, ou une valeur de textetrueoufalsepour définir la valeur. - Pour les colonnes DateTime, utilisez la valeur de texte de la date.
Exemple : définissez la valeur des colonnes de chaîne
L’exemple suivant définit la valeur de la colonne Nom d’un nouvel enregistrement de compte sur « Nouveau compte ».
La valeur non codée du extraqs paramètre est name=New Account.
/main.aspx?etn=account&extraqs=name%3DNew%20Account&pagetype=entityrecord
Définition des valeurs pour les colonnes de recherche
Le tableau suivant décrit cinq types de colonnes de recherche. Pour des exemples d’utilisation des colonnes de recherche, voir Exemple : définir la valeur des colonnes de recherche et Exemple : utiliser Xrm.Navigation.openForm pour ouvrir une nouvelle fenêtre.
| Type de recherche | Description |
|---|---|
| Recherche simple | Référence unique à un type de table. |
| Recherche client | Référence unique à un compte ou à un enregistrement de contact. |
| recherche de propriétaire | Référence unique à une équipe ou à un enregistrement utilisateur système. |
| Consultation de liste des partis | Références multiples à plusieurs tables. |
| Concernant la recherche | Référence unique à plusieurs tables. |
Les instructions suivantes s’appliquent lors de la définition de la valeur d’une recherche sur un formulaire à l’aide d’un argument de chaîne de requête :
Pour les recherches simples, définissez la valeur et le texte à afficher dans la recherche. Utilisez le suffixe
nameavec le nom de la colonne pour définir la valeur du texte.N’utilisez pas d’autres arguments.
Pour les recherches client et propriétaire, définissez la valeur et le nom de la même façon que vous les définissez pour les recherches simples. En outre, utilisez le suffixe
typepour spécifier le type de table. Les valeurs acceptables sontaccount, ,contactsystemuseretteam.Vous ne pouvez pas définir les valeurs pour partylist ou concernant les recherches.
Exemple : définissez la valeur des colonnes de recherche
Pour définir les valeurs des colonnes de recherche, utilisez la valeur de données, la valeur de nom et pour les recherches par le client et par le propriétaire uniquement, spécifiez la valeur type pour la colonne respective. L’exemple suivant assigne la colonne de propriétaire à un utilisateur nommé « Mark Folkerts ».
La valeur non codée pour le paramètre extraqs correspond à « ownerid={B8C6E040-656E-DF11-B414-00155DB1891A}&owneridname=Mark Folkerts&owneridtype=systemuser ».
/main.aspx?etn=lead&pagetype=entityrecord&extraqs=ownerid%3D%7bB8C6E040-656E-DF11-B414-00155DB1891A%7d%26owneridname%3DMark%20Folkerts%26owneridtype%3Dsystemuser
L’exemple suivant définit la colonne de contact principal sur une utilisatrice appelée « Yvonne McKay (sample) ». La valeur non codée du paramètre extraqs est « primarycontactid={43b58571-eefa-e311-80c1-00155d2a68c4}&primarycontactidname=Yvonne McKay (sample) ».
/main.aspx?etn=account&pagetype=entityrecord&extraqs=primarycontactid%3D%7B43b58571-eefa-e311-80c1-00155d2a68c4%7D%26primarycontactidname%3DYvonne%20McKay%20(sample)
Note
Pour une recherche simple comme celle-ci, vous n’avez pas besoin de définir une valeur de type.
Exemple : définissez la valeur pour les colonnes de date
L’exemple suivant définit la colonne Date de fermeture estimée pour une nouvelle opportunité au 31 janvier 2011. La valeur non codée du extraqs paramètre est estimatedclosedate=01/31/11.
/main.aspx?etn=opportunity&extraqs=estimatedclosedate%3D01%2F31%2F11&pagetype=entityrecord
Exemple : définissez la valeur des colonnes d’option
Pour définir la valeur d'une colonne Choix, définissez la valeur entière pour l'option. L’exemple suivant définit la valeur de la colonne Rôle sur « Décisionnaire » dans un nouvel enregistrement de contact.
La valeur non codée du extraqs paramètre est accountrolecode=1.
/main.aspx?etn=contact&extraqs=accountrolecode%3D1&pagetype=entityrecord
Exemple : définissez la valeur des colonnes d’option
Pour définir la valeur d’une colonne Choix , spécifiez des valeurs entières pour les options de l’URL que vous utilisez pour ouvrir le formulaire. Par exemple, pour définir les options de la colonne Loisirs , la valeur non codée pour le extraqs paramètre est hobbies=[1,3,4].
/main.aspx?etn=contact&extraqs=hobbies%3D%5B1%2C3%2C4%5D&pagetype=entityrecord
Exemple : utiliser Xrm.Navigation.openForm pour ouvrir une nouvelle fenêtre
La fonction suivante openNewContactExample définit les valeurs par défaut sur plusieurs colonnes différentes et montre comment utiliser la Xrm.Navigation.openForm fonction. Il équivaut à l’exemple précédent qui a utilisé la window.open méthode.
/**
* Opens a new contact form with pre-populated default values
* @returns {Promise<void>}
*/
async function openNewContactExample() {
// Define form parameters with default values
const formParameters = {
parentcustomerid: "2878282E-94D6-E111-9B1D-00155D9D700B",
parentcustomeridname: "Contoso",
parentcustomeridtype: "account",
address1_addresstypecode: "3", // Primary address type
description: "Default values for this record were set programmatically.",
donotemail: "1" // Do not allow emails
};
// Configure form options
const entityFormOptions = {
entityName: "contact"
};
try {
const result = await Xrm.Navigation.openForm(entityFormOptions, formParameters);
console.log("Form opened successfully:", result);
} catch (error) {
console.error("Failed to open contact form:", error);
throw error; // Re-throw to allow caller to handle if needed
}
}
Exemple : utilisation de window.open pour ouvrir une nouvelle fenêtre
La fonction suivante openNewContactExample définit les valeurs par défaut sur plusieurs colonnes différentes et montre comment utiliser encodeURIComponent pour encoder la valeur du extraqs paramètre. Si vous utilisez la méthode window.open , vous pouvez contrôler les fonctionnalités de la fenêtre qui s’ouvre.
/**
* Opens a new contact form in a new window with pre-populated default values
* @returns {Window|null} Reference to the opened window or null if blocked
*/
function openNewContactExample() {
// Define form parameters with default values
const formParameters = {
parentcustomerid: "{F01F3F6D-896E-DF11-B414-00155DB1891A}",
parentcustomeridname: "Contoso",
parentcustomeridtype: "account",
address1_addresstypecode: "3", // Primary address type
description: "Default values for this record were set programmatically.",
donotemail: "1" // Do not allow emails
};
// Build query string using URLSearchParams for better handling
const params = new URLSearchParams(formParameters);
const extraqs = params.toString();
// Configure window features
const windowFeatures = "location=no,menubar=no,status=no,toolbar=no";
// Build the URL
const baseUrl = "/main.aspx";
const url = `${baseUrl}?etn=contact&pagetype=entityrecord&extraqs=${encodeURIComponent(extraqs)}`;
try {
// Open the window
const newWindow = window.open(url, "_blank", windowFeatures, false);
if (!newWindow) {
console.warn("Window opening was blocked by the browser");
return null;
}
return newWindow;
} catch (error) {
console.error("Failed to open contact form window:", error);
throw error;
}
}
Voir aussi
Ouvrir les formulaires et les vues avec une URL
openForm
Configurer un formulaire pour accepter les paramètres de chaîne de requête personnalisés