0

J'ai une entité personnalisée qui a plusieurs formulaires.2013 Microsoft Dynamics CRM - Modification de formulaires à l'aide de JS

Pour créer un nouveau formulaire, cela se fait via une sous-grille. L'utilisateur clique simplement sur le bouton plus du sous-réseau. Cela remplit certains champs du formulaire. Je veux pouvoir passer à un formulaire spécifique et transmettre les données qui sont renseignées dans les champs.

Actuellement, j'ai utilisé la bibliothèque Xrm.Page.ui.formSelector pour passer d'un formulaire à l'autre lorsque l'entité est en mode création. Je l'utilise pour basculer entre les formulaires:

Xrm.Page.ui.formSelector.items.get("48faf3de-5b78-4ce9-a5f7-a01222e4e857").navigate() 

Comment puis-je transmettre les données remplies lorsque le formulaire est modifié?

+0

Vous devez nous indiquer comment vous remplissez les données et quelles données. Êtes-vous en train de dire après la navigation() que les valeurs sont manquantes, c'est prévu. Pouvez-vous enregistrer et ensuite naviguer? –

Répondre

0

J'ai déjà fait des choses similaires. La réponse pour vous est d'utiliser la méthode Xrm.Utility.openEntityForm. Description comment l'utiliser vous pouvez trouver ici - https://msdn.microsoft.com/en-us/library/jj602956.aspx#BKMK_OpenEntityForm

Si vous voulez ajouter des champs à remplir, vous devrez utiliser une approche similaire à url addressable forms. Voici le code que vous devez utiliser pour faire openEntityForm pour fonctionner correctement:

var parameters= {}; 
parameters["formid"] = "guid"; 
parameters["lookupName"] = "guid"; 
parameters["lookupNamename"] = "name"; 
//parameters["lookupNametype"] = "entityName";//populate this ONLY in case when lookup type is 'owner' or 'customer' 
Xrm.Utility.openEntityForm("entityName", null, parameters, null); 
+0

Ouais j'ai utilisé cela, mais je voulais définir une valeur de recherche à travers les paramètres que vous définissez sous forme d'entité ouverte, mais cela n'a pas fonctionné. Merci pour votre aide de toute façon, juste en train d'essayer différentes approches maintenant :) – Will

+0

Ça marche pour moi. Pouvez-vous s'il vous plaît fournir le code que vous avez utilisé? –

+0

Ahhh ok ok, comment faire une recherche dans le fichier xrm.utilitystuff? merci :) – Will

0

Ma recommandation est de sauvegarder l'enregistrement, donc pas besoin de vous soucier de faire passer les valeurs de champ prérempli. Ensuite, naviguez jusqu'au formulaire requis.

Xrm.Page.data.entity.save(); 
. 
. 
. 
Xrm.Page.ui.formSelector.items.get(formId).navigate();