Compartir a través de


Tablas de reglas duplicadas

Para obtener información sobre cómo configurar reglas de duplicados en la aplicación, vea Guía del administrador: Configurar reglas de detección de duplicados para mantener limpios los datos.

Las reglas de detección de duplicados se definen mediante las tablas siguientes:

  • DuplicateRule: para detectar duplicados en el sistema, cree una regla de detección de duplicados para un tipo de tabla específico. Puede crear múltiples reglas de detección para el mismo tipo de tabla. Sin embargo, puede publicar un máximo de cinco reglas de detección de duplicados por tipo de tabla a la vez.
  • DuplicateRuleCondition: una regla puede tener una o varias condiciones de regla de detección duplicadas representadas por la tabla. El sistema combina las condiciones como en la operación lógica AND. Una regla de detección de duplicados especifica un tipo de tabla base y un tipo de tabla coincidente. Una condición de regla duplicada especifica el nombre de una columna base y el nombre de una columna coincidente. Por ejemplo, especifique una cuenta como una tabla base y un contacto como una tabla coincidente para comparar los apellidos y direcciones. Los criterios de coincidencia constan de operadores como coinciden exactamente, primer número n de caracteres o último número n de caracteres.

Estas dos tablas están relacionadas con la relación DuplicateRule_DuplicateRuleConditions .

Trabajos de detección de duplicados contrastando códigos de correspondencia generados de registros existentes con cada nuevo registro creado. Estos códigos de correspondencia se crean con la creación de cada nuevo registro. Por lo tanto, existe la posibilidad de crear uno o varios registros duplicados si se procesan exactamente en el mismo momento. Además de detectar duplicados a medida que se crean, debe programar trabajos de detección de duplicados para comprobar si hay otros registros duplicados potenciales.

Las reglas de detección de duplicados son para todo el sistema. Debe publicar los datos antes de ejecutar un proceso de detección de duplicados para identificar duplicados en datos en masa o recuperar duplicados de un registro específico de tabla. Para publicar una regla de detección de duplicados, use el mensaje PublishDuplicateRule (PublishDuplicateRule o PublishDuplicateRuleRequest). La publicación de reglas de duplicados es una operación asincrónica que se ejecuta en segundo plano.

Las siguientes columnas grabables de estas tablas controlan el comportamiento de las reglas de detección de duplicados.

Reglas duplicadas

Columna Description
BaseEntityName Tipo de registro del registro que se está evaluando en busca de duplicados posibles.
Descripción Descripción de la regla de detección de duplicados.
DuplicateRuleId Identificador único de la regla de detección de duplicados.
ExcludeInactiveRecords Determina si se deben marcar los registros inactivos como duplicados.
Nota:
El valor predeterminado es false. Establézcalo true en si no desea que los registros inactivos se marquen como duplicados, aunque cumplan los criterios de regla de detección de duplicación.
Más información: Estados inactivos
IsCaseSensitive Indica si el operador distingue mayúsculas de minúsculas.
MatchingEntityName Tipo de registro de los registros que se están evaluando como duplicados posibles.
Nombre Nombre de la regla de detección de duplicados.
OwnerId Identificador único del usuario o equipo propietario de la regla de detección de duplicados.
OwnerIdType Si el propietario es un usuario o un equipo.
StatusCode Razón para el estado de la regla de detección de duplicados.

Estados inactivos

La mayoría de las tablas del sistema y todas las tablas personalizadas tienen dos StateCode opciones de columna:

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

Se puede cambiar la etiqueta de la elección, pero el valor InvariantName no cambiará.

Algunas tablas del sistema tienen más de un estado activo o inactivo. En la tabla siguiente se enumeran ejemplos de tablas con más de un estado activo o inactivo.

StateCode Estado(s) activo(s) Estado(s) inactivo(s)
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 ejemplo, si establece la columna ExcludeInactiveRecords en true, solo se consideran los pedidos de ventas Active, Submitted y Invoiced para buscar coincidencias durante la detección de duplicados.

Nota:

Puede revisar las opciones disponibles StateCode para una tabla mediante el Explorador de metadatos descrito en Examinar las definiciones de tabla y columna de su organización.

Para recuperar las StateCode opciones de una tabla, puede usar la siguiente consulta de API web sustituyendo la LogicalName de la tabla por appointment la que se usa a continuación:

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

Mensajes especiales de DuplicateRule

DuplicateRule es una tabla propiedad del usuario y se permiten operaciones normales de creación, recuperación, actualización, asignación y eliminación, así como operaciones para controlar el acceso. Más información: Mensajes de DuplicateRule.

También puede usar los siguientes mensajes especiales:

Message Operación de API web Ensamblado del SDK
CompoundUpdateDuplicateDetectionRule Acción CompoundUpdateDuplicateDetectionRule CompoundUpdateDuplicateDetectionRuleRequest
PublishDuplicateRule Acción PublishDuplicateRule PublishDuplicateRuleRequest
PublishXml Acción PublishXml PublishXmlRequest
UnpublishDuplicateRule Acción UnpublishDuplicateRule UnpublishDuplicateRuleRequest

DuplicateRuleCondition

Columna Description
BaseAttributeName Campo que se está comparando.
DuplicateRuleConditionId Identificador único de la condición.
IgnoreBlankValues Determina si se deben tener en cuenta los valores en blanco como valores noduplicados.
Nota:
El valor predeterminado de esta columna es false. Establézcalo en true si no desea que la regla de detección de duplicados tenga en cuenta null los valores como iguales.
Importante:
Para una regla de detección de duplicados con una condición, si establece el valor de la columna en false, el sistema lo trata como un valor de true.
MatchingAttributeName Campo que se está comparando con el campo base.
OperatorCode Operador para esta condición de regla.
Importante:
Si establece la columna OperatorCode en ExactMatch, no establezca la columna OperatorParam en ningún valor.
OperatorParam Valor del parámetro de N si el operador es Mismos caracteres iniciales o Mismos caracteres finales.
Importante:
No configure OperatorParam a cero durante las operaciones de creación o actualización.
Con respecto a ObjectId Identificador único del objeto al que está asociada la condición.

Mensajes especiales de DuplicateRuleCondition

DuplicateRuleCondition es una tabla secundaria en DuplicateRule. El acceso para recuperar o modificar estas tablas depende del acceso al DuplicateRule con el que está asociado. Más información: Mensajes de DuplicateRuleCondition.

También puede usar los siguientes mensajes especiales:

Message Operación de API web Ensamblado del SDK
CompoundUpdateDuplicateDetectionRule Acción CompoundUpdateDuplicateDetectionRule CompoundUpdateDuplicateDetectionRuleRequest

Consulte también

duplicaterule EntityType
duplicaterulecondition EntityType
Detección de datos duplicados mediante código
Habilitar y deshabilitar la detección de duplicados
Ejecutar detección de duplicados
Mensajes de detección de duplicados
Ejemplo: Habilitar la detección de duplicados y recuperar los duplicados
Ejemplo: Usar detección de duplicados para crear y actualizar registros
Ejemplo: Detectar varios registros duplicados