Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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: 0InvariantName:Active -
Value: 1InvariantName: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