इसके माध्यम से साझा किया गया


डुप्लिकेट डिटेक्शन चलाएँ

डुप्लिकेट डिटेक्शन को सक्षम करने और डुप्लिकेट डिटेक्शन नियमों को प्रकाशित करने के बाद इसे करने के कई तरीके हैं.

निर्दिष्ट रिकॉर्ड के लिए डुप्लिकेट पुनर्प्राप्त करें और उनका पता लगाएं

डुप्लिकेट का पता लगाएं और पुनर्प्राप्त करें:

  • एंटिटी बनाने से पहले
  • किसी मौजूदा एंटिटी के लिए
  • अन्य निकायों के लिए, जो निकायों में डुप्लिकेट नियमों के संगत हैं. उदाहरण के लिए, कोई भी लीड निकाय जो किसी संपर्क निकाय से मेल खाता हो.

विकल्प:

उदाहरण: वेब API का उपयोग करके निर्दिष्ट रिकॉर्ड के लिए डुप्लिकेट का पता लगाएं

निम्न उदाहरण फ़ंक्शन का उपयोग करके RetrieveDuplicates निर्दिष्ट रिकॉर्ड के डुप्लिकेट का पता लगाने का तरीका दिखाता है.

अनुरोध

GET [Organization URI]/api/data/v9.1/RetrieveDuplicates(BusinessEntity=@p1,MatchingEntityName=@p2,PagingInfo=@p3)?@p1={'@odata.type':'Microsoft.Dynamics.CRM.account','accountid':'0d1156d2-1598-e711-80e8-00155db64062'}&@p2='account'&@p3={'PageNumber':1,'Count':50} HTTP/1.1
If-None-Match: null
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json
Accept: application/json

प्रतिसाद

HTTP/1.1 200 OK  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0

{
    "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#accounts",
    "value": [
        <Omitted for brevity: JSON data for any matching accounts including all properties>
    ]
}

निकाय प्रकार के लिए डुप्लिकेट का पता लगाना

पृष्ठभूमि में चलने वाला एसिंक्रोनस डुप्लिकेट डिटेक्शन कार्य सबमिट करें. निकाय प्रकार के लिए प्रकाशित डुप्लिकेट नियमों के अनुसार डुप्लिकेट का पता लगाया जाता है. पता लगाए गए डुप्लिकेट Dynamics 365 Customer Engagement (on-premises) में रिकॉर्ड के रूप DuplicateRecord में संग्रहीत किए जाते हैं.

अधिकतम 5000 डुप्लिकेट डुप्लिकेट डिटेक्शन कार्य द्वारा लौटाए जाते हैं.

विकल्प

उदाहरण: वेब API का उपयोग करके निकाय प्रकार के लिए डुप्लिकेट का पता लगाना

निम्न उदाहरण क्रिया का उपयोग करके BulkDetectDuplicates एसिंक्रोनस कार्य बनाकर निकाय प्रकार के लिए डुप्लिकेट का पता लगाने का तरीका दिखाता है.

अनुरोध

POST [Organization URI]/api/data/v9.1/BulkDetectDuplicates HTTP/1.1
If-None-Match: null
OData-Version: 4.0
Content-Type: application/json
Accept: application/json
OData-MaxVersion: 4.0

{
    "Query": {
        "@odata.type": "#Microsoft.Dynamics.CRM.QueryExpression",
        "EntityName": "lead"
    },
    "JobName": "jobname1",
    "SendEmailNotification": false,
    "TemplateId": "07B94C1D-C85F-492F-B120-F0A743C540E6",
    "ToRecipients": [],
    "CCRecipients": [],
    "RecurrencePattern": "",
    "RecurrenceStartTime": "2015-07-15T05:30:00Z"
}  

प्रतिसाद

HTTP/1.1 200 OK  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0

{
    "@odata.context": "[Organization URI]/api/data/v9.1/$metadata#Microsoft.Dynamics.CRM.BulkDetectDuplicatesResponse",
    "JobId": "efaff068-7598-e711-80e8-00155db64062"
}

उपरोक्त अनुरोध एक एसिंक्रोनस डुप्लिकेट डिटेक्शन कार्य बनाता है जिसका JobID प्रतिसाद में दिया जाता है। उपरोक्त अनुरोध से लौटाए गए JobID का उपयोग निकाय प्रकार में डुप्लिकेट रिकॉर्ड प्राप्त करने के लिए किया जा सकता है, जैसा कि नीचे दिए गए उदाहरण में दिखाया गया है.

अनुरोध

GET [Organization URI]/api/data/v9.1/asyncoperations(efaff068-7598-e711-80e8-00155db64062)/AsyncOperation_DuplicateBaseRecord
If-None-Match: null
OData-Version: 4.0
OData-MaxVersion: 4.0
Content-Type: application/json
Accept: application/json

उपरोक्त अनुरोध के समतुल्य FetchXML नीचे दिखाया गया है.

<fetch>
    <entity name="duplicaterecord">
        <attribute name="owninguser" />
        <attribute name="ownerid" />
        <attribute name="baserecordid" />
        <attribute name="duplicateid" />
        <attribute name="owningbusinessunit" />
        <attribute name="createdon" />
        <attribute name="asyncoperationid" />
        <filter>
            <condition attribute="asyncoperationid" operator="eq" value="efaff068-7598-e711-80e8-00155db64062" />
        </filter>
    </entity>
</fetch>

प्रतिसाद

HTTP/1.1 200 OK  
Content-Type: application/json; odata.metadata=minimal  
OData-Version: 4.0

{  
   "@odata.context":"[Organization URI]/api/data/v9.1/$metadata#duplicaterecords",
   "value":[  
      {  
         "owninguser":"b3ac4144-6d9a-e711-811c-000d3a75ce72",
         "_ownerid_value":"b3ac4144-6d9a-e711-811c-000d3a75ce72",
         "_baserecordid_value":"3a6fc65b-3f9c-e711-811c-000d3a75ce72",
         "duplicateid":"489a879c-019b-4c28-8539-51ebc850d18f",
         "createdon":"2017-09-19T03:34:25Z",
         "owningbusinessunit":"20a44144-6d9a-e711-811c-000d3a75ce72",
         "_asyncoperationid_value":"efaff068-7598-e711-80e8-00155db64062",
         "_duplicateruleid_value":null,
         "_duplicaterecordid_value":null
      },
      {  
         "owninguser":"b3ac4144-6d9a-e711-811c-000d3a75ce72",
         "_ownerid_value":"b3ac4144-6d9a-e711-811c-000d3a75ce72",
         "_baserecordid_value":"406fc65b-3f9c-e711-811c-000d3a75ce72",
         "duplicateid":"0a4a7dea-1488-4e05-b5eb-c2925ad2925a",
         "createdon":"2017-09-19T03:34:25Z",
         "owningbusinessunit":"20a44144-6d9a-e711-811c-000d3a75ce72",
         "_asyncoperationid_value":"efaff068-7598-e711-80e8-00155db64062",
         "_duplicateruleid_value":null,
         "_duplicaterecordid_value":null
      }
   ]
}

आधार रिकॉर्ड का GUID रिकॉर्ड के रूप baserecordid में संग्रहीत किया जाता है DuplicateRecordduplicateid, उपरोक्त प्रतिक्रिया में डुप्लिकेट रिकॉर्ड का अद्वितीय पहचानकर्ता है। asyncoperationid उस रिकॉर्ड को बनाने वाले सिस्टम कार्य का अद्वितीय आइडेंटिफ़ायर है। और, ownerid डुप्लिकेट रिकॉर्ड का स्वामित्व रखने वाले उपयोगकर्ता या टीम का युनीक आइडेंटिफ़ायर है. अधिक जानकारी के लिए DuplicateRecord निकाय देखें.

नोट

डुप्लिकेट डिटेक्शन कार्य बनाने और निष्पादित करने से पहले, सुनिश्चित करें कि उपयुक्त डुप्लिकेट डिटेक्शन नियम मौजूद हैं. Dynamics 365 Customer Engagement में खातों, संपर्कों और लीड के लिए डिफ़ॉल्ट डुप्लिकेट डिटेक्शन नियम शामिल हैं, लेकिन अन्य प्रकार के रिकॉर्ड के लिए नहीं. यदि आप चाहते हैं कि सिस्टम अन्य रिकॉर्ड प्रकारों के लिए डुप्लिकेट का पता लगाए, तो आपको एक नया नियम बनाना होगा. डुप्लिकेट डिटेक्शन नियम बनाने के तरीके के बारे में जानकारी के लिए, डुप्लिकेट डिटेक्शन नियम देखें.

बनाएँ और अद्यतन कार्रवाई के दौरान डुप्लिकेट का पता लगाएँ

डिफ़ॉल्ट रूप से, डुप्लिकेट डिटेक्शन दबा दिया जाता है जब आप वेब API का उपयोग करके रिकॉर्ड बना रहे होते या उसका अद्यतन कर रहे होते हैं. शीर्ष लेख का उपयोग करें MSCRM.SuppressDuplicateDetection और रिकॉर्ड बनाते या अद्यतन करते समय उसका मान सेट करें false . डुप्लिकेट डिटेक्शन केवल तभी लागू होता है जब संगठन ने डुप्लिकेट डिटेक्शन सक्षम किया हो, निकाय डुप्लिकेट डिटेक्शन के लिए सक्षम हो और सक्रिय डुप्लिकेट डिटेक्शन नियम लागू किए जा रहे हों.

वेब API का उपयोग करके बनाएँ और अद्यतन कार्रवाई के दौरान डुप्लिकेट डिटेक्शन प्रबंधित करें में बनाएँ और अद्यतन करें कार्रवाई के दौरान डुप्लिकेट का पता लगाने के तरीके के बारे में अधिक देखें

उदाहरण: संगठन सेवा का उपयोग करके डुप्लिकेट डिटेक्शन

निम्न उदाहरण दिखाता है कि डुप्लिकेट डिटेक्शन विकल्प को AND UpdateRequest संदेशों के एक भाग के रूप में कैसे पास करेंCreateRequest:



// Connect to the Organization service. 
// The using statement assures that the service proxy will be properly disposed.
using (_serviceProxy = new OrganizationServiceProxy(serverConfig.OrganizationUri, serverConfig.HomeRealmUri,serverConfig.Credentials, serverConfig.DeviceCredentials))
{
    // This statement is required to enable early-bound type support.
    _serviceProxy.EnableProxyTypes();

    _service = (IOrganizationService)_serviceProxy;

    CreateRequiredRecords();

    // Create and account record with the named Proseware, Inc. and already existing Account Number.
    Account account = new Account 
    {
        Name = "Proseware, Inc.",
        AccountNumber = "ACC005"
    };

    // Create operation by suppressing duplicate detection
    CreateRequest reqCreate = new CreateRequest();
    reqCreate.Target = account;
    reqCreate.Parameters.Add("SuppressDuplicateDetection", true); // Change to false to activate the duplicate detection.
    CreateResponse createResponse = (CreateResponse)_service.Execute(reqCreate);
    _dupAccountId = createResponse.id;
    Console.Write("Account: {0} {1} created with SuppressDuplicateDetection to true, ", 
        account.Name, account.AccountNumber);
    
    // Retrieve the account containing with its few attributes.
    ColumnSet cols = new ColumnSet(
        new String[] { "name", "accountnumber"});

    Account retrievedAccount = (Account)_service.Retrieve("account", _dupAccountId, cols);
    Console.Write("retrieved, ");

    // Update the existing account with new account number.
    retrievedAccount.AccountNumber = "ACC006";                   

    // Update operation – update record, if a duplicate is not found.
    UpdateRequest reqUpdate = new UpdateRequest();
    reqUpdate.Target = retrievedAccount;
    reqUpdate["SuppressDuplicateDetection"] = false; // Duplicate detection is activated.

    // Update the account record.
    UpdateResponse updateResponse = (UpdateResponse)_service.Execute(reqUpdate);
    Console.WriteLine("and updated.");

    DeleteRequiredRecords(promptforDelete);
}

भी देखें

डुप्लिकेट डिटेक्शन
डुप्लिकेट डिटेक्शन सक्षम और अक्षम करें
निष्पादन विधि के साथ संदेश (अनुरोध और प्रतिक्रिया वर्ग) का उपयोग करें
डुप्लिकेट डिटेक्शन संदेश