Esegui rilevamento duplicati
Data di pubblicazione: novembre 2016
Si applica a: Dynamics CRM 2015
Esistono diversi modi di eseguire il rilevamento duplicati dopo aver abilitato e pubblicato le regole di rilevamento duplicati.
Azione |
Descrizione |
---|---|
Rileva e recupera i duplicati per un record specificato |
Utilizzare il messaggio RetrieveDuplicatesRequest. Ad esempio, è possibile utilizzare questo messaggio per trovare tutti i contatti duplicati di un record di account specifico. |
Rileva i duplicati per un tipo di entità |
Utilizzare il messaggio BulkDetectDuplicatesRequest. Questo messaggio invia un processo di rilevamento dei duplicati asincrono che viene eseguito in background. Il messaggio BulkDetectDuplicates viene utilizzato per trovare i record duplicati per un tipo di entità specificato in base all'espressione di query passata in questa richiesta del messaggio. I duplicati vengono eseguiti in base alle regole duplicati pubblicate per il tipo di entità. I duplicati rilevati vengono archiviati come record duplicati (DuplicateRecord) in Microsoft Dynamics 365. È possibile recuperare i record duplicati tramite il metodo Retrieve o il metodo RetrieveMultiple. Al massimo 5000 duplicati vengono restituiti dal processo di rilevamento duplicati. |
Rilevamento dei duplicati durante le operazioni Create e Update |
Passare il parametro facoltativo di rilevamento duplicati SuppressDuplicateDetection aggiungendo un valore alla proprietà Parameters delle richieste di messaggio CreateRequest e UpdateRequest. Il valore del parametro SuppressDuplicateDetection determina se l'operazione Update o Create può essere completata:
Nota Il passaggio del parametro facoltativo CalculateMatchCodeSynchronously non è obbligatorio. I codici di corrispondenza utilizzati per rilevare i duplicati vengono calcolati in modo sincrono indipendentemente dal valore passato in questo parametro. |
Nota
Se il parametro facoltativo di rilevamento dei duplicati è impostato su false e viene trovato un duplicato, viene generata un'eccezione e il record non viene creato o aggiornato.
Nell'esempio seguente viene illustrato come passare l'opzione di rilevamento duplicati come parte delle richieste di messaggio UpdateRequest e 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);
}
Vedere anche
Rilevare dati duplicati
Abilita rilevamento duplicati
Utilizzare i messaggi (classi di richiesta e di risposta) con il metodo Execute
Messaggi del rilevamento duplicati
© 2017 Microsoft. Tutti i diritti sono riservati. Copyright