Partilhar via


Comportamento do relacionamento entre entidades

 

Publicado: novembro de 2016

Aplicável a: Dynamics CRM 2015

Quando existir um relacionamento um para muitos entre entidades, há comportamentos em cascata que podem ser configurados para preservar a integridade dos dados e automatizar os processos empresariais. Este tópico explicará alguns conceitos básicos e descreverá como configurar estes comportamentos em cascata.

Antes de descrever como configurar os comportamentos de relacionamento entre entidades, é útil saber como eles se aplicam ao seu negócio. Os três conceitos básicos são:

  • Preserve a integridade dos dados

  • Automatize os processos empresariais

  • Comportamento em cascata

Neste tópico

Preserve a integridade dos dados

Automatize os processos empresariais

Comportamento em cascata

Configurar o comportamento do relacionamento entre entidades

Preserve a integridade dos dados

Cada entidade pode ter regras que definem um registro válido. Por exemplo, um registro de oportunidade do Microsoft Dynamics 365 deve incluir uma referência a um cliente potencial. Os usuários não podem criar um novo registro de oportunidade sem adicionar um cliente existente ou criar um novo registro do cliente.

Mas e se a conta ou o contato que representa o cliente for excluído? Neste caso, as possíveis alternativas são descritas a seguir:

  • Limitar qualquer tentativa de exclusão de um registro do cliente com uma oportunidade associada.

  • Excluir em cascata a ação de exclusão quando um registro do cliente correspondente for excluído, para que todos os registros de oportunidade relacionados sejam automaticamente excluídos.

No Microsoft Dynamics 365 para o relacionamento um para muitos que relacionam oportunidades a clientes, como Opportunity.opportunity_customer_accounts e Contact.opportunity_customer_contacts, o comportamento é excluir em cascata a ação de exclusão.

Ao modelar os dados para serem usados no Microsoft Dynamics 365, você precisará tomar decisões semelhantes em relação à forma como deseja preservar a integridade dos dados.

Automatize os processos empresariais

Seus processos empresariais podem exigir a execução de ações sobre registros que têm registros relacionados. Por exemplo, talvez seja necessário atribuir uma conta a um novo vendedor. Se esse registro da conta possuir registros de oportunidade, algumas opções incluem:

  • Fazer nada. As oportunidades devem continuar a pertencer aos indivíduos que trabalham com elas.

  • Atribuir todas as oportunidades ao novo vendedor. Como o novo proprietário do registro da conta, o vendedor agora é responsável por todas as oportunidades relacionadas a essa conta.

  • Apenas atribuir as oportunidades ativas ao novo vendedor. Preservar o proprietário para qualquer registro de oportunidade inativo para motivos de relato.

  • Atribua somente as oportunidades pertencentes ao proprietário anterior da conta ao novo vendedor. Isso permite que o novo vendedor substitua o proprietário anterior.

Essas opções são as mais comuns que é possível configurar usando o comportamento do relacionamento entre entidades no Microsoft Dynamics 365. Se for necessário comportamentos diferentes, considere a aquisição de uma solução que contenha o comportamento necessário ou o desenvolvimento de um plug-in que forneça opções adicionais.

Comportamento em cascata

Estas opções de configuração são chamadas comportamentos em cascata, pois são propagadas em cascata para a hierarquia das entidades relacionadas. Por exemplo, se a exclusão de uma conta resulta na exclusão das oportunidades relacionadas, e quanto às atividades associadas às oportunidades? No Microsoft Dynamics 365, o comportamento definido em cada relacionamento entre entidades das entidades do tipo de atividade é que elas também serão excluídas.

No entanto, nem todas as entidades são tratadas dessa maneira. Por exemplo, os pedidos e as faturas contêm dados corporativos importantes que não devem ser excluídos inadvertidamente. Eles têm o comportamento do relacionamento entre entidades configurado para restringir a exclusão de registros de oportunidade ou do cliente aos quais estejam associados. Antes de excluir o cliente ou a oportunidade com um registro de pedido ou de fatura relacionado, é necessário excluir o pedido ou a fatura primeiro.

Ao modelar os dados corporativos pela criação de entidades personalizadas ou ao usar as entidades do sistema do Microsoft Dynamics 365 existentes, considere o comportamento necessário e as implicações para toda a hierarquia das entidades relacionadas.

Relacionamentos primários entre entidades

Cada par de entidades elegível a ter um relacionamento 1:N pode ter vários relacionamentos 1:N entre elas. Mas somente um desses relacionamentos pode ser considerado um relacionamento primário entre entidades. Consulte TechNet: Relacionamentos principais personalizáveis entre entidades para obter uma lista de todos os relacionamentos primários personalizáveis entre entidades.

Um relacionamento primário entre entidades é qualquer relacionamento 1:N entre entidades no qual uma das opções em cascata (definida em CascadeType) na coluna Primário da tabela a seguir é verdadeira.

Ação

Primário

Não primário

Excluir

Cascade

RemoveLink
Restrict

Compartilhar

Cascade
UserOwned
Active

NoCascade

Descompartilhar

Cascade
UserOwned
Active

NoCascade

Atribuir

Cascade
UserOwned
Active

NoCascade

Reassociar

Cascade
UserOwned
Active

NoCascade

Cada entidade de referência em um relacionamento 1:N possui um atributo de referência no qual o relacionamento pode ser considerado primário.

Por exemplo, se você criar uma nova entidade personalizada e adicionar um relacionamento 1:N entre entidades com a entidade da conta onde a entidade personalizada é a entidade de referência, é possível configurar as ações para que esse relacionamento entre entidades use as opções da coluna Primário. Se você adicionar posteriormente o relacionamento 1:N entre entidades com a entidade personalizada como a entidade de referência, é somente possível configurar as ações para usar as opções da coluna Não primário.

Isso significa que geralmente para cada par de entidades, há somente um relacionamento primário. Há casos em que o atributo de referência na referência pode incluir uma referência a mais de um tipo de entidade.

Por exemplo, a entidade Opportunity tem um atributo de referência chamado customerid no qual uma referência a um registro do contato ou da conta pode ser armazenada. Neste caso, existem dois relacionamentos primários 1:N entre entidades separados.

Qualquer entidade de atividade, por exemplo, uma tarefa, fax, telefonema, etc., tem um conjunto de relacionamentos primários entre entidades para as entidades que podem ser associados com o atributo de referência regardingobjectid.

Configurar o comportamento do relacionamento entre entidades

Ao usar CreateOneToManyRequest ou UpdateRelationshipRequest, inclua uma instância de uma classe OneToManyRelationshipMetadata no corpo da solicitação. Na propriedade CascadeConfiguration dessa classe, use a classe CascadeConfiguration.

A classe CascadeConfiguration contém as propriedades que representam as ações que podem ser executadas na entidade de referência em relacionamento um para muitos entre entidades. É possível atribuir um dos valores da enumeração CascadeType a cada propriedade.

Valor

Rótulo do aplicativo

Descrição

Ativo(a)

Ativos em Cascata

Execute a ação em todos os registros da entidade de referência ativos associados ao registro da entidade referenciada.

Propagar

Todos em Cascata

Execute a ação em todos os registros da entidade de referência associados ao registro da entidade referenciada.

NoCascade

Nenhum em Cascata

Não faça nenhuma ação.

RemoveLink

Remover Link

Remova o valor do atributo de referência para todos os registros da entidade de referência associados ao registro da entidade referenciada.

Restringir

Restringir

Evite que o registro da entidade referenciada seja excluído enquanto os registros da entidade de referência ainda forem existentes.

UserOwned

Propriedade do usuário em cascata

Execute a ação em todos os registros da entidade de referência que pertencem ao mesmo usuário como o registro da entidade referenciada.

A classe CascadeConfiguration contém as seguintes propriedades que representam as ações que podem ser executadas na entidade de referência em relacionamento um para muitos entre entidades.

Ação

Descrição

Opções válidas

Assign

O proprietário do registro da entidade referenciada é alterado.

Active
Cascade
NoCascade
UserOwned

Delete

O registro da entidade referenciada também é excluído.

Observação

As opções desta ação são limitadas.

Cascade
RemoveLink
Restrict

Merge

O registro é mesclado com outro registro.

Observação

Para as entidades referenciadas que podem ser mescladas, Cascade é a única opção válida. Em outros casos, use NoCascade.

Cascade
NoCascade

Reparent

Consulte Sobre a ação de reassociação abaixo.

Active
Cascade
NoCascade
UserOwned

Share

Quando o registro da entidade referenciada é compartilhado com outro usuário.

Active
Cascade
NoCascade
UserOwned

Unshare

Quando o compartilhamento é removido do registro da entidade referenciada.

Active
Cascade
NoCascade
UserOwned

Sobre a ação de reassociação

A ação de reassociação é muito semelhante à ação de compartilhamento, com exceção de que ela lida com os direitos de acesso de leitura herdados, em vez dos direitos de acesso de leitura explícitos.

Observação

Para obter mais informações sobre os direitos de acesso herdados, consulte Como a segurança baseada no registro pode ser usada para controlar o acesso aos registros no Microsoft Dynamics CRM 2015, principalmente a seção Compartilhamento e herança.

A ação de reassociação é quando o valor do atributo de referência é alterado em um relacionamento primário. Quando ocorre uma ação de reassociação, o escopo desejado dos direitos de acesso de leitura herdados das entidades relacionadas pode ser alterado. As ações em cascata relacionadas à ação de reassociação referem-se às alterações nos direitos de acesso de leitura do registro da entidade e todos os registros da entidade relacionados a ele. Para obter mais informações sobre como um relacionamento entre entidades é configurado como primário, consulte Relacionamentos primários entre entidades.

Por exemplo, existe um relacionamento primário entre Opportunity e Account com base no atributo de referência CustomerId. Se você for o proprietário de uma conta e houver uma oportunidade associada a essa conta, você herdará os direitos de acesso de leitura a essa oportunidade e todos os registros associados a ela. Se o valor do atributo de referência CustomerId da oportunidade for alterado para se referir a uma conta diferente, o proprietário dessa conta herdará os direitos de acesso de leitura à oportunidade se a ação de reassociação for Cascade. É possível desabilitar esta herança automática dos direitos de acesso de leitura se a ação de reassociação for definida para NoCascade. É possível usar as opções Active ou UserOwned para especificar filtros nos quais os registros serão afetados pela alteração nos direitos de acesso. Para todos os registros relacionados à oportunidade que usam um relacionamento primário, a ação de reassociação é propagada em cascata para esses relacionamentos entre entidades e os direitos de acesso de leitura são herdados com base nos filtros definidos para a ação de reassociação.

Confira Também

Relacionamentos um-para-muitos
Estender o modelo de metadados
Personalizar metadados da entidade
Personalizar metadados do atributo de entidades
Personalizar metadados do relacionamento entre entidades
Personalizar mapeamentos de entidade e atributos
Personalizar etiquetas para oferecer suporte a vários idiomas
Como a segurança baseada no registro pode ser usada para controlar o acesso aos registros no Microsoft Dynamics CRM 2015
Exemplo: Criar e recuperar relacionamentos entre entidades

© 2017 Microsoft. Todos os direitos reservados. Direitos autorais