Criar um relacionamento de objeto muitos com muitos
Você pode usar relacionamentos entre mestre e detalhe para modelar relacionamentos muitos com muitos entre dois objetos quaisquer. O relacionamento do tipo muitos com muitos permite que cada registro de um objeto seja vinculado a vários registros de outro objeto ou vice-versa. Por exemplo, você pode criar um objeto personalizado denominado Erro relacionado a um objeto de caso padrão de modo que o erro possa ser relacionado a vários casos e um caso também possa ser relacionado a vários erros. Ao modelar um relacionamento do tipo muitos com muitos, use um objeto de junção para conectar os dois objetos que devem se relacionar entre si.
Edições obrigatórias
| Disponível em: Salesforce Classic e Lightning Experience |
Disponível em: Contact Manager, Group, Professional, Enterprise, Performance, Unlimited, Developer e Database.com Editions Os territórios não estão disponíveis em Database.com. |
| Permissões necessárias ao usuário | |
|---|---|
| Para criar um relacionamento do tipo muitos com muitos: | Personalizar aplicativo |
Um objeto personalizado com dois relacionamentos de detalhe-mestre. Usando um objeto de junção personalizado, você pode modelar um relacionamento do tipo “muitos com muitos” entre dois objetos.
Por exemplo, você pode criar um objeto personalizado denominado "Erro" relacionado a um objeto de caso padrão de modo que o erro possa ser relacionado a vários casos e um caso também possa ser relacionado a vários erros.
Como criar relacionamentos muitos com muitos:
- Crie o objeto de junção.
- Crie os dois relacionamentos entre mestre e detalhes.
- Personalize as listas relacionadas nos layouts de página dos dois objetos mestres.
- Personalize relatórios para aumentar a eficiência do relacionamento do tipo muitos com muitos.
- Crie um objeto personalizado para ser seu objeto combinado.
- No assistente de objeto personalizado, considere essas dicas especificamente para objetos de junção:
- Nomeie o objeto com um rótulo que indique sua finalidade, por exemplo, AssociaçãoDeCasoDeBug.
- Para o campo Nome do registro, é recomendável usar o tipo de dados de numeração automática.
- Não inicie o Assistente de guia personalizada antes de clicar em Salvar. Os objetos de junção não precisam de guia.
Criar os dois relacionamentos entre mestre e detalhes
Para criar os dois relacionamentos entre mestre e detalhes:
- Verifique se os dois objetos que devem se relacionar entre si existem. Por exemplo, convém relacionar o objeto de caso padrão com um objeto de bug personalizado.
- No objeto de junção, crie o primeiro campo de relacionamento entre mestre e detalhes. No assistente do campo personalizado:
- Escolha Relacionamento entre mestre e detalhes como o tipo de campo.
- Selecione um dos objetos para se relacionar com seu objeto de junção. Por exemplo, selecione Caso.
O primeiro relacionamento entre mestre e detalhes que você criar em seu objeto de junção se tornará o relacionamento primário. Esse relacionamento afeta os seguintes itens nos registros do objeto de junção.
- Aparência: As páginas de detalhes e edição do objeto de junção usam a cor e qualquer ícone associado ao objeto mestre primário.
- Propriedade do registro: Os registros do objeto de junção herdam o valor do campo Proprietário do registro mestre primário associado. Como os objetos da parte de detalhes em um relacionamento não têm um campo Proprietário visível, esse valor herdado só será relevante se você, posteriormente, excluir os dois relacionamentos entre mestre e detalhes em seu objeto de junção.
- Divisão: Se a sua organização usa divisões para segmentar dados, os registros de objeto de junção herdarão a divisão do registro mestre primário associado. Da mesma forma que a propriedade do registro, essa divisão herdada só será relevante se você excluir posteriormente os dois relacionamentos entre mestre e detalhes.
- Selecionar uma opção de Configuração de compartilhamento. Nos campos de relacionamento entre mestre e detalhes, o atributo Configuração de compartilhamento determina o acesso de compartilhamento a um registro mestre que os usuários devem ter para criar, editar ou excluir seus registros de detalhes associados.
- Para o Rótulo da lista relacionada que será exibido no layout de página do objeto mestre, não aceite o padrão. Altere o valor para usar o nome do outro objeto mestre em seu relacionamento entre mestre e detalhes. Por exemplo, altere o valor para Bugs para que os usuários vejam uma lista relacionada de bugs na página de detalhes do caso.
- No objeto de junção, crie o segundo campo de relacionamento entre mestre e detalhes. No assistente do campo personalizado:
- Escolha Relacionamento entre mestre e detalhes como o tipo de campo.
- Selecione o outro objeto mestre desejado para se relacionar com o objeto de junção. Por exemplo, selecione Bug.
O segundo relacionamento entre mestre e detalhes que você criar em seu objeto de junção se tornará o relacionamento secundário. Se você excluir o relacionamento primário entre mestre e detalhes ou convertê-lo em um relacionamento de pesquisa, o objeto mestre secundário se tornará primário.
- Selecionar uma opção de Configuração de compartilhamento. Nos campos de relacionamento entre mestre e detalhes, o atributo Configuração de compartilhamento determina o acesso de compartilhamento a um registro mestre que os usuários devem ter para criar, editar ou excluir seus registros de detalhes associados.
- Para o Rótulo da lista relacionada que será exibido no layout de página do objeto mestre, não aceite o padrão. Altere este valor para usar o nome do outro objeto mestre em seu relacionamento entre mestre e detalhes. Por exemplo, altere este valor para Casos para que os usuários vejam uma lista relacionada de casos na página de detalhes do bug.
Personalizar listas relacionadas de relacionamentos do tipo muitos com muitos
Em um relacionamento do tipo muitos com muitos no Salesforce, cada registro de objeto mestre exibe uma lista relacionada dos registros de objeto de junção associados. Para criar uma experiência de usuário sem problemas, você pode alterar o nome da lista relacionada do objeto de junção em cada layout de página de objeto mestre para o nome do outro objeto mestre. Por exemplo, você pode alterar a lista relacionada BugCaseAssociations para Casos no layout da página de bugs e paraBugs no layout de página de casos. Você pode personalizar ainda mais essas listas relacionadas para que exibam campos do outro objeto mestre.
Para personalizar os campos exibidos na lista relacionada do objeto de junção em cada layout de página de objeto mestre:
- Edite o layout de página de cada objeto mestre relacionado ao objeto de junção. Por exemplo, modifique a lista relacionada BugCaseAssociations para registros de casos editando o layout de página para casos.
- Edite as propriedades da lista relacionada que você quiser modificar. Por exemplo, em casos a lista relacionada AssociaçõesDeCasoDeBug foi renomeada como Bugs; portanto, selecione a lista relacionada Bugs.
- Adicione campos a serem exibidos na lista relacionada. Você pode adicionar campos do próprio objeto de junção, mas o mais importante é que você pode adicionar campos do outro objeto mestre.
Cada campo é precedido de seu nome de objeto na janela. Na própria lista relacionada, somente os campos do objeto de junção são precedidos do nome do objeto, os campos de outros objetos mestre não.
Personalizar relatórios para relacionamentos do tipo muitos com muitos
Os relacionamentos do tipo muitos com muitos oferecem dois tipos de relatório padrão que unem os objetos mestre e o objeto de junção. Os tipos de relatório são:
- “Mestre primário com objeto de junção e mestre secundário” na categoria de relatório do objeto mestre primário.
- “Mestre secundário com objeto de junção e mestre primário” na categoria de relatório do objeto mestre secundário.
A ordem dos objetos mestre no tipo de relatório é importante. O objeto mestre que aparece primeiro na lista determina o escopo dos registros que poderão ser exibidos no relatório.
Você pode criar relatórios personalizados com base nesses tipos de relatório padrão. Além disso, você pode criar tipos de relatórios personalizados para personalizar os objetos relacionados que são unidos no relatório.

