Définir les valeurs des colonnes en utilisant les paramètres transmis à un formulaire

Vous pouvez définir des valeurs par défaut pour les enregistrements créés par les utilisateurs en spécifiant des valeurs dans l’URL utilisée pour ouvrir le formulaire. Par défaut, ces valeurs sont définies dans le formulaire, mais peuvent être modifiées par les utilisateurs avant qu’ils sauvegardent l’enregistrement.

Transmission des paramètres pour définir des valeurs d’enregistrement de colonne

Notes

Vous pouvez transmettre les valeurs de paramètre au formulaire pour définir des valeurs de colonne à l’aide de la fonction Xrm.Navigation.openForm. Pour un exemple, voir Exemple : utiliser Xrm.Navigation.openForm pour ouvrir une nouvelle fenêtre.

Lorsque vous ouvrez un nouveau formulaire à l’aide de l’adresse URL, vous pouvez inclure des arguments dans le paramètre extraqs pour définir des valeurs de colonne. Les besoins suivants doivent être respectés :

  • Vous devez encoder les paramètres transmis dans le paramètre extraqs. Pour encoder les paramètres, utilisez encodeURIComponent. Pour utiliser des caractères spéciaux tels que « = » ou « & » dans les valeurs des paramètres, vous devez coder deux fois (par exemple pour définir name sur A=B&C, ce serait extraqs=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 transmises 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 génèrera une erreur.

  • Pour les colonnes booléennes, utilisez une valeur entière 0 ou 1, ou une valeur de texte true ou false pour 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 pour le paramètre extraqs est « nom = Nouveau compte ».

/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 Permet une référence unique à un type de table.
recherche par le client Permet une référence unique à un enregistrement de compte ou à un enregistrement de contact.
recherche par l’utilisateur Permet une référence unique à un enregistrement d’équipe ou à un enregistrement d’utilisateur de système.
recherche PartyList Permet plusieurs références à plusieurs tables.
concernant la recherche Permet une référence unique à plusieurs tables.

Les instructions suivantes s’appliquent lors de la définition de la valeur d’une recherche dans un formulaire à l’aide d’un argument de chaîne de requête :

  • Pour les recherches simples, vous devez définir la valeur et le texte à afficher dans la recherche. Utilisez le suffixe « nom » avec le nom de la colonne pour définir la valeur du texte.

    N’utilisez pas d’autres arguments.

  • Pour les recherches par le client et le propriétaire, vous devez définir la valeur et le nom de la même façon que vous les définissez pour des recherches simples. En outre, vous devez utiliser le suffixe « type » pour spécifier le type de table. Les valeurs autorisées sont account, contact, systemuser, et team.

  • 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 définit la colonne de propriétaire sur 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)  

Notes

Pour une recherche simple telle que 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 d’une nouvelle opportunité au 31 janvier 2011. La valeur non codée du paramètre extraqs 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 colonnep Option, définissez l’entier 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 pour le paramètre extraqs 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 de la colonne Options, spécifiez des valeurs entières dans l’URL utilisée pour ouvrir le formulaire. Par exemple, pour définir les options pour la colonne Loisirs, la valeur non-codée pour le paramètre extraqs sera « loisirs=[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

L’exemple suivant définit les valeurs par défaut sur différentes colonnes et montre comment utiliser la fonction Xrm.Navigation.openForm. Elle correspond à l’exemple précédent qui utilisait la méthode window.open.

function OpenNewContact() {  
 var parameters = {};  
 //Set the Parent Customer column value to "Contoso".  
 parameters["parentcustomerid"] = "2878282E-94D6-E111-9B1D-00155D9D700B";  
 parameters["parentcustomeridname"] = "Contoso";  
 parameters["parentcustomeridtype"] = "account";  
 //Set the Address Type to "Primary".  
 parameters["address1_addresstypecode"] = "3";  
 //Set text in the Description column.  
 parameters["description"] = "Default values for this record were set programmatically.";  
 //Set Do not allow E-mails to "Do Not Allow".  
 parameters["donotemail"] = "1";  
  
 // Define the table name to open the form  
 var entityFormOptions = {};
 entityFormOptions["entityName"] = "contact";

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

Exemple : utilisation de window.open pour ouvrir une nouvelle fenêtre

L’exemple suivant définit les valeurs par défaut sur différentes colonnes et montre comment utiliser encodeURIComponent pour encoder la valeur du paramètre extraqs. Si vous utilisez la méthode window.open, vous pouvez contrôler les fonctionnalités de la fenêtre qui est ouverte.

function OpenNewContact() {  
    //Set the Parent Customer column value to "Contoso".  
    var extraqs = "parentcustomerid={F01F3F6D-896E-DF11-B414-00155DB1891A}";  
    extraqs += "&parentcustomeridname=Contoso";  
    extraqs += "&parentcustomeridtype=account";  
    //Set the Address Type to "Primary".  
    extraqs += "&address1_addresstypecode=3";  
    //Set text in the Description column.  
    extraqs += "&description=Default values for this record were set programatically.";  
    //Set Do not allow E-mails to "Do Not Allow".  
    extraqs += "&donotemail=1";  
    //Set features for how the window will appear.  
    var features = "location=no,menubar=no,status=no,toolbar=no";  
    // Open the window.  
    window.open("/main.aspx?etn=contact&pagetype=entityrecord&extraqs=" +  
     encodeURIComponent(extraqs), "_blank", features, false);  
}  

Voir aussi

Ouvrir les formulaires et vues avec une URL
openForm
Configurer un formulaire pour accepter les paramètres de chaîne de requête personnalisé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é).