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.
Cuando existe una relación de entidad uno a varios, existen comportamientos en cascada que se pueden configurar para conservar la integridad de los datos y automatizar los procesos empresariales. En este tema se explican algunos conceptos clave y se describe cómo puede configurar estos comportamientos en cascada.
Antes de describir cómo configurar comportamientos de relación de entidad, resulta útil tener en cuenta cómo se aplica a su negocio. Tres conceptos clave son:
Conservar la integridad de los datos
Cada entidad puede tener reglas que definan un registro válido. Por ejemplo, un registro de oportunidad de Dynamics 365 Customer Engagement (local) debe incluir una referencia a un cliente potencial. Los usuarios no pueden crear un registro de oportunidad sin agregar un cliente existente ni crear un nuevo registro de cliente.
Pero, ¿qué ocurre si se elimina la cuenta o el contacto que representa al cliente? En un caso como este, las posibles alternativas son:
Restrinja cualquier intento de eliminar un registro de cliente con una oportunidad asociada.
En cascada, la acción de eliminación cuando se elimina un registro de cliente correspondiente para que se eliminen automáticamente los registros de oportunidades relacionados.
En Dynamics 365 Customer Engagement (local) para las relaciones uno a varios que relacionan las oportunidades con los clientes, como
Opportunity.opportunity_customer_accountsyContact.opportunity_customer_contacts, el comportamiento es aplicar en cascada la acción de eliminación.Al modelar los datos para usarlos en Dynamics 365 Customer Engagement (local), tendrá decisiones similares sobre cómo desea conservar la integridad de los datos.
Automatización de procesos empresariales
Los procesos empresariales pueden requerir que realice acciones en los registros que tienen registros relacionados. Por ejemplo, puede que tenga que asignar una cuenta a un nuevo vendedor. Si ese registro de cuenta tiene registros de oportunidades, algunas opciones incluyen:
No haga nada. Las oportunidades deben seguir siendo propiedad de las personas que trabajan en ellas.
Asigne todas las oportunidades al nuevo vendedor. Como nuevo propietario de este registro de cuenta, el vendedor ahora es responsable de todas las oportunidades relacionadas con esa cuenta.
Asigne solo las oportunidades activas al nuevo vendedor. Conserve el propietario para los registros de oportunidades inactivos con fines de informes.
Asigne solo las oportunidades que posee el propietario de la cuenta anterior al nuevo vendedor. Esto permite al nuevo vendedor reemplazar al propietario anterior.
Estas opciones son comunes que puede configurar mediante el comportamiento de la relación de entidad en Dynamics 365 Customer Engagement (local). Si necesita comportamientos diferentes, considere la posibilidad de comprar una solución que contenga el comportamiento que necesita o desarrollar un complemento para proporcionar opciones adicionales.
Comportamiento en cascada
Estas opciones de configuración se denominan comportamientos en cascada porque reducen en cascada la jerarquía de entidades relacionadas. Por ejemplo, si eliminar una cuenta hace que se eliminen oportunidades relacionadas, ¿qué ocurre con las actividades asociadas a las oportunidades? En Dynamics 365 Customer Engagement (local), el comportamiento definido en cada una de las relaciones de entidad para las entidades de tipo de actividad es que también se eliminan.
Sin embargo, no todas las entidades se tratan de esta manera. Por ejemplo, los pedidos y las facturas contienen datos empresariales importantes que no deben eliminarse accidentalmente. Tienen un comportamiento de relación de entidad configurado para restringir la eliminación de registros de clientes o oportunidades con los que están asociados. Para poder eliminar el cliente o la oportunidad que tiene un pedido relacionado o un registro de factura, primero debe eliminar el pedido o la factura.
A medida que modela los datos empresariales mediante la creación de entidades personalizadas o al usar entidades del sistema de Dynamics 365 Customer Engagement (local) existentes, tenga en cuenta el comportamiento que necesita y las implicaciones para toda la jerarquía de entidades relacionadas.
Relaciones de entidad parental
Cada par de entidades que son aptas para tener una relación 1:N puede tener varias relaciones 1:N entre ellas. Sin embargo, solo una de esas relaciones se puede considerar una relación de entidad parental . Consulta Relaciones de entidad parental personalizables para obtener una lista de todas las relaciones de entidad parental personalizables.
Una relación de entidad parental es cualquier relación de entidad 1:N donde una de las opciones en cascada (definidas en CascadeType) en la columna Parental de la tabla siguiente es true.
| Acción | Jerárquica | No parental |
|---|---|---|
| Eliminar | Cascada | RemoveLink Restringir |
| Compartir | Cascada Propiedad del usuario Active |
NoCascade |
| No compartir | Cascada Propiedad del usuario Active |
NoCascade |
| Asignar | Cascada Propiedad del usuario Active |
NoCascade |
| Reparente | Cascada Propiedad del usuario Active |
NoCascade |
Cada entidad de referencia en una relación de entidad 1:N tiene un atributo de referencia donde la relación se puede considerar parental.
Por ejemplo, si crea una nueva entidad personalizada y agrega una relación de entidad 1:N con la entidad de cuenta donde la entidad personalizada es la entidad de referencia, puede configurar las acciones para que esa relación de entidad use las opciones de la columna Parental . Si más adelante agrega otra relación de entidad 1:N con la entidad personalizada como entidad de referencia, solo puede configurar las acciones para usar las opciones de la columna Not Parental .
Normalmente esto significa que para cada par de entidades solo hay una relación parental. Hay algunos casos en los que el atributo de referencia en la referencia puede incluir una referencia a más de un tipo de entidad.
Por ejemplo, la Opportunity entidad tiene un atributo de referencia denominado customerid donde se puede almacenar una referencia a un registro de contacto o cuenta. En este caso hay dos relaciones de entidad parentales 1:N independientes.
Cualquier entidad de actividad, por ejemplo, una tarea, fax, llamada telefónica, etc., tiene un conjunto similar de relaciones de entidad parental para las entidades que se pueden asociar mediante el regardingobjectid atributo de referencia.
Configuración del comportamiento de la relación de entidad
Uso de la API web
Al trabajar con la API web, puede definir una relación uno a varios mediante OneToManyRelationshipMetadata EntityType. Esta definición incluye el nombre de la entidad intersect que se va a crear, así como cómo se debe mostrar la relación en la aplicación mediante AssociatedMenuConfiguration ComplexType, Label ComplexType y LocalizedLabel ComplexType. Más información: Crear una relación uno a varios.
Uso del servicio de organización
Cuando se usa CreateOneToManyRequest o UpdateRelationshipRequest se incluye una instancia de una OneToManyRelationshipMetadata clase en el cuerpo de la solicitud. En la CascadeConfiguration propiedad de esa clase se usa la CascadeConfiguration clase .
La CascadeConfiguration clase (CascadeConfiguration class o CascadeConfiguration ComplexType) contiene las propiedades que representan las acciones que se pueden realizar en la entidad a la que se hace referencia en la relación de entidad uno a varios. A cada propiedad se le puede asignar uno de los valores de CascadeType EnumType.
| Importancia | Etiqueta de aplicación | Description |
|---|---|---|
| Active | Cascade Active | Realice la acción en todos los registros de entidad de referencia activos asociados al registro de entidad al que se hace referencia. |
| Cascada | Cascade All | Realice la acción en todos los registros de entidad que hacen referencia a los registros de entidad asociados al registro de entidad al que se hace referencia. |
| NoCascade | Cascade None | No haga nada. |
| RemoveLink | Quitar vínculo | Quite el valor del atributo de referencia para todos los registros de entidad de referencia asociados al registro de entidad al que se hace referencia. |
| Restringir | Restringir | Evite que el registro de entidad al que se hace referencia se elimine al hacer referencia a entidades. |
| Propiedad del usuario | Propiedad del usuario en cascada | Realice la acción en todos los registros de entidad que hacen referencia a los registros de entidad que pertenecen al mismo usuario que el registro de entidad al que se hace referencia. |
La CascadeConfiguration clase (CascadeConfiguration class o CascadeConfiguration ComplexType) contiene las siguientes propiedades que representan las acciones que se pueden realizar en la entidad a la que se hace referencia en la relación de entidad uno a varios.
| Acción | Description | Opciones válidas |
|---|---|---|
| Asignar | Se cambia el propietario del registro de entidad al que se hace referencia. | Active Cascada NoCascade Propiedad del usuario |
| Delete | Se elimina el registro de entidad al que se hace referencia. Nota: Las opciones de esta acción son limitadas. | Cascada RemoveLink Restringir |
| Fusionar | El registro se combina con otro registro. Nota: Para las entidades a las que se hace referencia que se pueden combinar, Cascade es la única opción válida. En otros casos, use NoCascade. | Cascada NoCascade |
| Cambiar primario | Vea Acerca de la acción Reparent a continuación. | Active Cascada NoCascade Propiedad del usuario |
| Compartir | Cuando el registro de entidad al que se hace referencia se comparte con otro usuario. | Active Cascada NoCascade Propiedad del usuario |
| No compartir | Cuando se quita el uso compartido del registro de entidad al que se hace referencia. | Active Cascada NoCascade Propiedad del usuario |
Acerca de la acción reparental
La acción reparente es muy similar a la acción de recurso compartido, salvo que se ocupa de los derechos de acceso de lectura heredados en lugar de los derechos de acceso de lectura explícitos.
Nota:
Para obtener más información sobre los derechos de acceso heredados, consulte Uso de la seguridad basada en registros para controlar el acceso a los registros, especialmente en la sección Uso compartido y herencia .
La acción reparental es cuando se cambia el valor del atributo de referencia en una relación parental. Cuando se produce una acción reparente, el ámbito deseado de los derechos de acceso de lectura heredados para las entidades relacionadas podría cambiar. Las acciones en cascada relacionadas con la acción reparental hacen referencia a los cambios en los derechos de acceso de lectura del registro de entidad y los registros de entidad relacionados con él. Para obtener más información sobre cómo se configura una relación de entidad para ser parental, consulte Relaciones de entidad parental.
Por ejemplo, hay una relación parental entre Oportunidad y Cuenta en función del CustomerId atributo de referencia. Si es el propietario de una cuenta y existe una oportunidad asociada a esa cuenta, hereda los derechos de acceso de lectura a esa oportunidad y los registros asociados a ella. Si se cambia el CustomerId valor del atributo de referencia para la oportunidad para hacer referencia a otra cuenta, el propietario de esa cuenta hereda los derechos de acceso de lectura a la oportunidad si la acción Reparent es Cascade. Puede deshabilitar esta herencia automática de derechos de acceso de lectura si establece la acción reparental en NoCascade. Puede usar las opciones Active o UserOwned para especificar filtros en los que los registros se ven afectados por el cambio en los derechos de acceso. Para todos los registros relacionados con la oportunidad mediante una relación parental, la acción reparental se en cascada esas relaciones de entidad y los derechos de acceso de lectura se heredan en función de los filtros establecidos para la acción Reparent.
Consulte también
Relaciones de unoTo-Many
Creación y actualización de relaciones de entidad mediante web API
Ampliar el modelo de metadatos para Dynamics 365 Customer Engagement (local)
Personalizar los metadatos de la entidad
Personalizar metadatos de atributos de entidad
Metadatos de relación de entidad
Asignaciones de entidades y atributos
Compatibilidad con varios idiomas con etiquetas
Uso de la seguridad basada en registros para controlar el acceso a los registros
Ejemplo: Creación y recuperación de relaciones de entidad