2009-12-04 4 views
0

Je personnalise un formulaire dans CRM Dynamics Online de Microsoft et dois définir une valeur de champ pour l'ID de l'utilisateur actuel. J'ai du code qui tire correctement le SystemUserID, mais j'ai de la difficulté à obtenir la valeur dans le champ de formulaire.Comment définir un champ Utilisateur sur un SystemUserId en JavaScript?

//Lots of XML/SOAP stuff to pull the user information 
var systemUserIdNode = entityNode.selectSingleNode("q1:systemuserid"); 
crmForm.all.FieldForUserID.DataValue = systemUserIdNode; //Fails silently 

[Mise à jour] Après quelques recherches, je l'ai mis à jour mon code basé sur l'échantillon dans le SDK. Il ressemble maintenant à ceci:

var userIdValue = new Array(); 
userIdValue [0] = new LookupControlItem(systemUserIdNode, 8, fullNameNode); 
crmForm.all.new_useridfield.DataValue = userIdValue ; 

Cependant, cela provoque une erreur dans la dernière ligne - « L'objet ne prend pas en charge cette propriété ou méthode ». Donc, je suis toujours perplexe (d'autant plus que l'échantillon est hors du SDK).

Répondre

4

Essayez de vous débarrasser de vos deux premières lignes et le remplacement de votre troisième avec

crmForm.all.new_useridfield.DataValue = 
    [{ 
     id: systemUserIdNode, 
     name: fullNameNode, 
     typename: 'systemuser' 
    }]; 

La propriété id peut exiger des accolades, de sorte que vous pourriez avoir à changer à:

id: '{' + systemUserIdNode + '}' 
Questions connexes