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

Dynamics CRM 2015 - update Opportunity Owner id via javascript

我正在尝试根据 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 后 returns false,所以我不确定这是否是设置值的正确方法"lookup" 类型。

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