【问题标题】:Dynamics CRM 2015 - update Opportunity Owner id via javascriptDynamics CRM 2015 - 通过 javascript 更新商机所有者 ID
【发布时间】:2015-09-11 15:24:10
【问题描述】:

我正在尝试更新 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”类型上设置值的正确方法。

【问题讨论】:

    标签: dynamics-crm dynamics-crm-2015


    【解决方案1】:

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

    【讨论】:

    • 谢谢,我必须将 entityType 设置为“systemuser”,但您发布的 javascript 代码对我来说非常适合。
    • 只是好奇,您能发布您正在使用的确切 CRM 版本吗? 7.X.X?
    • "7.0.1.247 DB 7.0.1.237" 上面写着 CRM Online 2015 更新,但我没有看到 1
    • 谢谢,我需要用不同的 CRM 版本检查这种行为,不管我发布的 JS 对你有多么好
    • @TWilly 抱歉,如果我用另一个问题打扰您,此脚本用于更改所有者,在记录尚未创建或现有记录时运行?
    猜你喜欢
    • 2023-03-27
    • 2016-11-08
    • 1970-01-01
    • 2018-07-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多