Partilhar via


Tabelas de regras duplicadas

Para obter informações sobre como configurar regras de duplicados na aplicação, consulte Guia para Administradores: Configurar regras de deteção de duplicados para manter os seus dados limpos.

As regras de deteção de duplicados são definidas usando as seguintes tabelas:

  • DuplicateRule: Para detetar duplicatas no sistema, crie uma regra de deteção de duplicados para um tipo de tabela específico. Pode criar várias regras de deteção de duplicados para o mesmo tipo de tabela. Contudo, pode publicar um máximo de cinco regras de deteção de duplicados por tipo de tabela ao mesmo tempo.
  • DuplicateRuleCondition: Uma regra pode ter uma ou mais condições de regra de deteção de duplicados representadas pela tabela. As condições são combinadas pelo sistema como numa operação lógica AND. Uma regra de deteção de duplicados especifica um tipo de tabela base e um tipo de tabela correspondente. Uma condição de regra duplicada especifica o nome de uma coluna base e o nome de uma coluna correspondente. Por exemplo, especifique uma conta como uma tabela base e um contato como uma tabela correspondente para comparar sobrenomes e endereços. Os critérios de correspondência consistem em operadores como correspondência exata, primeiros n caracteres ou últimos n caracteres.

Essas duas tabelas estão relacionadas usando a relação DuplicateRule_DuplicateRuleConditions .

A deteção de duplicados funciona comparando códigos de correspondência de registos existentes gerados com cada novo registo que está a ser criado. Estes códigos de correspondência são criados à medida que cada novo registo é criado. Portanto, há potencial para que um ou mais registros duplicados sejam criados se forem processados no mesmo momento. Além de detetar duplicatas à medida que são criadas, você deve agendar trabalhos de deteção de duplicatas para verificar outros registros duplicados em potencial.

As regras de deteção de duplicados são aplicáveis a todo o sistema. Você deve publicá-los antes de executar um trabalho de deteção de duplicados para detetar duplicatas para dados em massa ou recuperar duplicatas para um registro de tabela específico. Para publicar uma regra de deteção de duplicados, use a mensagem PublishDuplicateRule (Ação PublishDuplicateRule ou PublishDuplicateRuleRequest). A publicação de regras duplicadas é uma operação assíncrona que é executada em segundo plano.

As seguintes colunas graváveis nestas tabelas controlam o comportamento das regras de deteção de duplicados.

DuplicateRule

Coluna Description
BaseEntityName Tipo do registo que está a ser avaliado quanto a potenciais duplicados.
Descrição Descrição da regra de deteção de duplicados.
DuplicateRuleId Identificador exclusivo da regra de deteção de duplicados.
ExcludeInactiveRecords Determina se os registos inativos devem ser sinalizados como duplicados.
Nota:
O valor predefinido é false. Defina-o como true se não quiser que os registros inativos sejam sinalizados como duplicados, mesmo que atendam aos critérios da regra de deteção de duplicação.
Mais informações: Estados inativos
IsCaseSensitive Indica se o operador é sensível às maiúsculas e minúsculas.
MatchingEntityName Tipo dos registos que estão a ser avaliados como potenciais duplicados.
Nome Nome da regra de deteção de duplicados.
OwnerId O identificador exclusivo do utilizador ou equipa proprietário da regra de deteção de duplicados.
OwnerIdType Se o proprietário é um utilizador ou uma equipa.
StatusCode Razão do estado da regra de deteção de duplicados.

Estados inativos

A maioria das tabelas do sistema e todas as tabelas personalizadas têm duas StateCode opções de coluna:

  • Value: 0 InvariantName: Active
  • Value: 1 InvariantName: Inactive

O rótulo da escolha pode ser alterado, mas o valor InvariantName não.

Algumas tabelas do sistema têm mais de um estado ativo ou inativo. A tabela a seguir lista exemplos de tabelas com mais de um estado ativo ou inativo.

StateCode Estados Ativos Estados Inativos
Appointment.StateCode Open, Scheduled Completed, Canceled
CampaignActivity.StateCode Open Closed, Canceled
CampaignResponse.StateCode Open Completed, Canceled
Contract.StateCode Draft, Invoiced, On Hold Canceled, Expired
ContractDetail.StateCode Existing, Renewed Canceled, Expired
Email.StateCode Open Completed, Canceled
Fax.StateCode Open Completed, Canceled
Incident.StateCode Active Resolved, Canceled, Closed
Invoice.StateCode Active Closed, Paid, Canceled
KbArticle.StateCode Draft, Unapproved, Published N/A
Lead.StateCode Open Qualified, Disqualified
Letter.StateCode Open Completed, Canceled
Opportunity.StateCode Open Won, Lost
PhoneCall.StateCode Open Completed, Canceled
Quote.StateCode Draft, Active Won, Closed
SalesOrder.StateCode Active, Submitted, Invoiced Canceled, Fulfilled
ServiceAppointment.StateCode Open, Scheduled Closed, Canceled
Task.StateCode Open Completed, Canceled

Por exemplo, se definir a coluna ExcludeInactiveRecords como true, só as ordens de venda Active, Submitted e Invoiced são consideradas para correspondência durante a deteção de duplicados.

Observação

Você pode revisar as opções disponíveis StateCode para uma tabela usando o Navegador de Metadados descrito em Procurar as definições de tabela e coluna para sua organização.

Para recuperar as StateCode opções de uma tabela, você pode usar a seguinte consulta de API da Web substituindo a LogicalName da tabela pela appointment usada abaixo:

GET [organization URI]/api/data/v9.0/EntityDefinitions(LogicalName='appointment')/Attributes(LogicalName='statecode')/Microsoft.Dynamics.CRM.StateAttributeMetadata/OptionSet?$select=Options

Mensagens especiais DuplicateRule

DuplicateRule é uma tabela de propriedade do usuário e operações normais de criação, recuperação, atualização, atribuição e exclusão são permitidas, bem como operações para controlar o acesso. Mais informações: DuplicateRule Messages.

Também podem ser usadas as seguintes mensagens especiais:

Message Operação API Web Assemblagem SDK
CompoundUpdateDuplicateDetectionRule Ação CompoundUpdateDuplicateDetectionRule CompoundUpdateDuplicateDetectionRuleRequest
PublishDuplicateRule Ação PublishDuplicateRule PublishDuplicateRuleRequest
PublishXml Ação PublishXml PublishXmlRequest
UnpublishDuplicateRule Ação UnpublishDuplicateRule UnpublishDuplicateRuleRequest

DuplicateRuleCondition

Coluna Description
BaseAttributeName Campo que está a ser comparado.
DuplicateRuleConditionId Identificador exclusivo da condição.
IgnoreBlankValues Determina se os valores em branco devem ser considerados como valores não duplicados.
Nota:
O valor padrão desta coluna é false. Defina-o como true se não quiser que a regra de deteção de duplicados considere null valores como iguais.
Importante:
Para uma regra de deteção de duplicados com uma condição, se você definir o valor da coluna como false, ele será tratado pelo sistema como um true valor.
MatchingAttributeName Campo que está a ser comparado com o campo base.
OperatorCode Operador para esta condição de regra.
Importante:
Se você definir a OperatorCode coluna como ExactMatch, não defina a OperatorParam coluna com nenhum valor
OperatorParam Valor do parâmetro de N se o operador for Mesmos Primeiros Carateres ou Mesmos Últimos Carateres.
Importante:
Não defina o OperatorParam como zero durante as operações de criação ou atualização.
Relativo a ObjectId Identificador exclusivo do objeto a que a condição está associada.

Mensagens especiais DuplicateRuleCondition

DuplicateRuleCondition é uma tabela filha de DuplicateRule. O acesso para obter ou modificar estas tabelas depende do acesso ao DuplicateRule a que está associado. Mais informações: Mensagens DuplicateRuleCondition.

Também podem ser usadas as seguintes mensagens especiais:

Message Operação API Web Assemblagem SDK
CompoundUpdateDuplicateDetectionRule Ação CompoundUpdateDuplicateDetectionRule CompoundUpdateDuplicateDetectionRuleRequest

Consulte também

duplicaterule EntityType
duplicaterulecondition EntityType
Detetar dados duplicados usando código
Ativar e desativar a deteção de duplicados
Executar deteção de duplicados
Mensagens de deteção de duplicados
Amostra: Ativar a deteção de duplicados e obter duplicados
Exemplo: Use a deteção de duplicados ao criar e atualizar registros
Amostra: Detetar vários registos duplicados