【问题标题】:CRM 2011 - Duplicate Detection while saving using javascriptCRM 2011 - 使用 javascript 保存时重复检测
【发布时间】:2017-08-10 08:20:11
【问题描述】:

我有一个使用 OData 并在 PhoneCall 实体中创建记录的 javascript。 我有这个 PhoneCall 实体的 Subject 属性,它需要是唯一的。 我在以下链接中阅读了有关“SuppressDuplicateDetection”参数的信息- https://msdn.microsoft.com/en-us/library/hh210213.aspx

如何在我的 OData 调用中利用此参数?

这是我的 javascript 代码 -

var serverUrl = Xrm.Page.context.getServerUrl() + '/XRMServices/2011/OrganiationData.svc/PhoneCallSet'
$.ajax
({
    type:"POST",
    contentType: "application/json; charset=utf-8",
    datatype: "json",
    url: serverUrl,
    data: phoneCallData,
    beforeSend: function(xhr)
    {
        xhr.setRequestHeader("Accept", "application/json");
    },
    success: function (data, textSTatus, XmlHttpRequest)
    {
        //my success LOC
    },
    error: function (xmlHttpRequest, textSTatus, errorThrown)
    {
        //error handler
    },
    async: false
});

【问题讨论】:

    标签: javascript ajax odata dynamics-crm dynamics-crm-2011


    【解决方案1】:

    这样说真的很难过:无法在客户端使用带有 odata 的 SuppressDuplicateDetection 选项。

    我们需要 CreateRequest 在创建记录时启用 Dup 检测,因此在使用 oData 创建记录时此功能不可用。

    参考:https://community.dynamics.com/crm/b/crminogic/archive/2014/07/21/duplicate-detection-is-back-in-microsoft-dynamics-crm-spring-release

    【讨论】:

    • 我所做的是 - 为这个实体创建一个新字段 然后,我继续在数据库中这个新创建的字段上创建一个唯一索引。我为要应用的索引放置了一个空限定符 从我的 javascript 中,我用我认为是唯一的值填充了该字段的值。因此,如果出于任何并发原因,此调用会被调用两次,数据库将防止重复输入记录。它起作用了!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 1970-01-01
    • 2011-12-14
    相关资源
    最近更新 更多