我尝试在Dynamics CRM 2015中尝试更新OwnerId。
到目前为止,我使用的是以下代码,但我的更改未生效。
Xrm.Page.data.entity.attributes.get('ownerid').setValue('487ecd0c-d8c1-e411-80eb-c4346bade4b0')
Xrm.Page.data.entity.save();
这是GetValue调用的视图。
属性类型是" lookup"当我调用getIsDirty()时,它在我执行setValue后返回false,所以我不确定这是否是在" lookup"上设置值的正确方法。类型。
答案 0 :(得分:5)
Owner
是一个特殊字段,只能使用AssignRequest
进行更改。
随着CRM Online Update 1的改变,可以使用更新请求更新Owner
或StateCode
等特殊字段,但据我所知,这在服务器端有效,用于客户端更改您仍然需要使用AssignRequest
。
这是一个示例代码:
编辑: 仅供参考,这是设置查找字段的方法
var lookup = new Array();
lookup[0] = new Object();
lookup[0].id = '{487ecd0c-d8c1-e411-80eb-c4346bade4b0}';
lookup[0].name = 'Test Account';
lookup[0].entityType = 'account';
Xrm.Page.getAttribute("new_account").setValue(lookup);
或短版
Xrm.Page.getAttribute("new_account").setValue([{ id: '{487ecd0c-d8c1-e411-80eb-c4346bade4b0}', name: 'Test Account', entityType: 'account'}]);