Del via


Køre registrering af dubletter

 

Udgivet: januar 2017

Gælder for: Dynamics 365 (online), Dynamics 365 (on-premises), Dynamics CRM 2016, Dynamics CRM Online

Der er flere måder at udføre registrering af dubletter, når du har aktiveret registreringen og publiceret reglerne for den.

Handling

Beskrivelse

Registrere dubletter for en bestemt post

Brug meddelelsen RetrieveDuplicatesRequest. Du kan eksempelvis bruge denne meddelelse til at finde alle kontakter, der er dubletter af en bestemt firmapost.

Registrere dubletter for en objekttype

Brug meddelelsen BulkDetectDuplicatesRequest. Denne meddelelse sender et asynkront job for registrering af dubletter, der kører i baggrunden. Meddelelsen BulkDetectDuplicates bruges til at finde dublerede poster for en bestemt objekttype baseret på det søgeudtryk, der blev sendt i denne meddelelsesanmodning. Dubletterne registreres i henhold til de publicerede regler for dubletter for objekttypen. De fundne dubletter gemmes som dubletposter (DuplicateRecord) i Microsoft Dynamics 365. Du kan hente dublerede poster ved hjælp af metoden Retrieve eller metoden RetrieveMultiple.

Maksimalt 5000 dubletter returneres af jobbet til registrering af dubletter.

Registrere dubletter under Create- og Update-handlinger

Overfør den valgfri parameter SuppressDuplicateDetection for registrering af dubletter ved at føje en værdi til egenskaben Parameters for meddelelsesanmodningerne CreateRequest og UpdateRequest. Parameterværdien SuppressDuplicateDetection bestemmer, om handlingen Create eller Update kan fuldføres:

  • true– Opret eller opdater posten, hvis der findes en dublet.

  • false– Opret eller opdater ikke posten, hvis der findes en dublet.

Bemærk

Overførsel af den valgfri parameter CalculateMatchCodeSynchronously er ikke påkrævet. De matchkoder, der bruges til at registrere dubletter, beregnes synkront uanset den overførte værdi i parameteren.

Bemærk

Hvis den valgfrie parameter for registrering af dubletter indstilles til false, og der findes en dublet, opstår der en undtagelse, og posten oprettes eller opdateres ikke.

I følgende eksempel vises, hvordan du overfører indstillingen for registrering af dubletter som en del af meddelelsesanmodningerne CreateRequest og UpdateRequest:


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

Se også

Registrer dubletdata
Aktivere registrering af dubletter
Brug meddelelser (anmodnings- og svarklasser) med metoden Execute
Meddelelser om registrering af dubletter

Microsoft Dynamics 365

© 2017 Microsoft. Alle rettigheder forbeholdes. Ophavsret