我正在Microsoft的CRM Dynamics Online中自定义表单,需要将字段值设置为当前用户的ID。我有正确提取SystemUserID的代码,但是我很难将值输入表单字段。
//Lots of XML/SOAP stuff to pull the user information
var systemUserIdNode = entityNode.selectSingleNode("q1:systemuserid");
crmForm.all.FieldForUserID.DataValue = systemUserIdNode; //Fails silently
[更新] 经过一番挖掘,我根据SDK中的示例更新了我的代码。它现在看起来像这样:
var userIdValue = new Array();
userIdValue [0] = new LookupControlItem(systemUserIdNode, 8, fullNameNode);
crmForm.all.new_useridfield.DataValue = userIdValue ;
但是,这会导致最后一行出错 - “对象不支持此属性或方法”。所以我仍然感到难过(甚至更多,因为样本不在SDK中)。
答案 0 :(得分:4)
尝试摆脱前两行并用
替换第三行crmForm.all.new_useridfield.DataValue =
[{
id: systemUserIdNode,
name: fullNameNode,
typename: 'systemuser'
}];
id属性可能需要大括号,因此您可能需要将其更改为:
id: '{' + systemUserIdNode + '}'