Dynamics CRM 2015 - 通过javascript更新商机所有者ID

时间:2015-09-11 15:24:11

标签: dynamics-crm dynamics-crm-2015

我尝试在Dynamics CRM 2015中尝试更新OwnerId。

到目前为止,我使用的是以下代码,但我的更改未生效。

Xrm.Page.data.entity.attributes.get('ownerid').setValue('487ecd0c-d8c1-e411-80eb-c4346bade4b0')
Xrm.Page.data.entity.save();

这是GetValue调用的视图。

enter image description here

属性类型是" lookup"当我调用getIsDirty()时,它在我执行setValue后返回false,所以我不确定这是否是在" lookup"上设置值的正确方法。类型。

1 个答案:

答案 0 :(得分:5)

Owner是一个特殊字段,只能使用AssignRequest进行更改。

随着CRM Online Update 1的改变,可以使用更新请求更新OwnerStateCode等特殊字段,但据我所知,这在服务器端有效,用于客户端更改您仍然需要使用AssignRequest

这是一个示例代码:

Using Assign Requests to Assign Entities to a User Using Jscript and .NET in Microsoft Dynamics CRM 2011

编辑: 仅供参考,这是设置查找字段的方法

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'}]);