Dynamics crm Dynamics CRM 2015-通过javascript更新Opportunity Owner id

Dynamics crm Dynamics CRM 2015-通过javascript更新Opportunity Owner id,dynamics-crm,dynamics-crm-2015,Dynamics Crm,Dynamics Crm 2015,我正在尝试更新Dynamics CRM 2015中opportunity的OwnerId 到目前为止,我正在使用以下代码,但我的更改没有生效 Xrm.Page.data.entity.attributes.get('ownerid').setValue('487ecd0c-d8c1-e411-80eb-c4346bade4b0') Xrm.Page.data.entity.save(); 这是GetValue调用的视图 属性类型是“lookup”,当我调用getIsDirty()时,在我设置

我正在尝试更新Dynamics CRM 2015中opportunity的OwnerId

到目前为止,我正在使用以下代码,但我的更改没有生效

Xrm.Page.data.entity.attributes.get('ownerid').setValue('487ecd0c-d8c1-e411-80eb-c4346bade4b0')
Xrm.Page.data.entity.save();
这是GetValue调用的视图


属性类型是“lookup”,当我调用getIsDirty()时,在我设置值后返回false,因此我不确定这是否是在“lookup”类型上设置值的正确方法。

Owner
是一个特殊字段,只能通过
AssignRequest
更改它

随着CRM Online Update 1的改变,像
所有者
状态码
这样的特殊字段可以通过更新请求进行更新,但据我所知,这在服务器端是有效的,对于客户端更改,您仍然需要使用
分配请求

下面是一个示例代码:

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

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

谢谢,我不得不将entityType设置为“systemuser”,但是你发布的javascript代码对我来说非常适合。只是好奇,你能发布你正在使用的确切CRM版本吗?7.X.X?“7.0.1.247 DB 7.0.1.237”它说CRM Online 2015更新,我看不到一点想法谢谢,我需要用不同的CRM版本检查这个行为,不管我发布的JS有多好you@TWilly抱歉,如果我用另一个问题打扰您,此脚本用于更改所有者,在尚未创建记录或现有记录时运行?