중복 검색 실행
게시 날짜: 2016년 11월
적용 대상: Dynamics CRM 2015
중복 검색을 활성화한 후 중복 검색 규칙을 게시한 후 이를 수행하는 방법은 여러 가지 있습니다.
작업 |
설명 |
---|---|
지정된 레코드에 대한 중복 검색 |
RetrieveDuplicatesRequest 메시지를 사용합니다. 예를 들어 이 메시지를 사용하여 특정 거래처 레코드에 중복되는 모든 연락처를 찾을 수 있습니다. |
엔터티 유형 중복 검색 |
BulkDetectDuplicatesRequest 메시지를 사용합니다. 이 메시지는 백그라운드에서 실행되는 비동기 중복 검색 작업을 제출합니다.BulkDetectDuplicates 메시지는 이 메시지 요청에 전달된 쿼리 식에 따라 지정 된 엔터티 유형의 중복 레코드를 찾는 데 사용됩니다. 엔터티 유형에 대해 게시된 중복 규칙에 따라 중복 항목이 검색됩니다. 검색된 중복 항목은 Microsoft Dynamics 365에 중복 레코드(DuplicateRecord)로 저장됩니다.Retrieve 메서드 또는 RetrieveMultiple 메서드를 사용하여 중복 레코드를 검색할 수 있습니다. 중복 검색 작업으로 최대 5000개까지 중복 항목이 반환됩니다. |
Create 및 Update 작업 중 중복 검색 |
값을 추가하여 중복 검색 선택적 매개 변수 SuppressDuplicateDetection을 CreateRequest 및 UpdateRequest 메시지 요청의 Parameters 속성에 전달합니다.SuppressDuplicateDetection 매개 변수 값은 Create 또는 Update 작업을 완료할 수 있는지 여부를 결정합니다.
> [!NOTE]
> CalculateMatchCodeSynchronously 선택적 매개 변수를 전달할 필요는 없습니다. 중복 항목을 검색하는 데 사용되는 일치 코드는 이 매개 변수에 전달된 값에 관계 없이 동기적으로 계산됩니다. |
참고
중복 검색 선택적 매개 변수를 false로 설정하고 중복 항목이 있을 경우 예외가 발생하고 레코드가 만들어지거나 업데이트되지 않습니다.
다음 예제에서는 중복 검색 옵션을 CreateRequest 및 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);
}
참고 항목
중복 데이터 검색
중복 검색 사용
Execute 메서드와 함께 메시지(요청 및 응답 클래스) 사용
중복 검색 메시지
© 2017 Microsoft. All rights reserved. 저작권 정보