2017-08-10 11 views
1

ODataを使用してPhoneCallエンティティにレコードを作成するjavascriptがあります。 このPhoneCallエンティティのSubject属性が一意である必要があります。 私は、リンクは次の「SuppressDuplicateDetection」パラメータについて読む - https://msdn.microsoft.com/en-us/library/hh210213.aspxCRM 2011 - Javascriptを使用して保存中の重複検出

どのように私は私のODataのコールの内側には、このパラメータを活用することができますか?クライアント側のODATAとSuppressDuplicateDetectionオプションを使用する方法:

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

答えて

0

本当に悲しいが、これを言うために -

は、ここに私のJavaScriptコードです。

レコードの作成時にDup検出を有効にするためにCreateRequestが必要なため、oDataを使用してレコードを作成するときにはこの機能を使用できません。

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

+1

私がやったことだった - 私は、データベースにこの新しく作成されたフィールドに一意インデックスを作成するために行った、そして、このエンティティ のために新しいフィールドを作成します。私は適用するインデックスのNULL修飾子を入れます 私のjavascriptから、私はこのフィールドの値を私が一意であると考える値で埋める。したがって、並行処理の理由がある場合、この呼び出しが2回呼び出されると、データベースはレコードの重複エントリを防止します。 it wrks! –

関連する問題