Pular para o conteúdo

Associar registros

Associar dois registros é deixar registrado que eles se relacionam: um contato trabalha em uma empresa, um negócio pertence a um contato, um ticket foi aberto por alguém. No Prolibu isso é feito de duas maneiras, e vale distingui-las porque se comportam de forma diferente:

  • Um campo de referência. Um campo do formulário que aponta para outro registro, como Empresa em um contato ou Contato em um negócio. Vive no registro que o declara e guarda um único valor.
  • Uma ação que cria um registro relacionado. Um botão que abre o formulário de outro objeto com a referência já preenchida, como Criar negócio com este contato no menu de uma linha de Contatos.

Não há um catálogo de relações configurável: cada objeto traz as suas de fábrica, no próprio formulário. Estas são as que o CRM traz:

DeParaMecanismoOnde aparece
ContatoEmpresaCampo de referência EmpresaSeção Principal do contato
ContatoNegócioAção Criar negócio com este contatoMenu de três pontos da linha
NegócioContatoCampo de referência ContatoSeção Principal do negócio
TicketContatoCampo de referência ContatoSeção Solicitante do ticket

Para saber o que o objeto à sua frente aceita, abra um registro dele em modo de edição e procure os campos que, em vez de texto, abrem um seletor com busca: esses são os campos de referência. As ações que criam registros relacionados ficam no menu de três pontos da linha.

Daí saem três regras que convém ter claras:

  1. Uma referência guarda um único valor. Escolher outro substitui o anterior, não soma. Um contato não pode ter duas empresas ao mesmo tempo.
  2. A relação não é automaticamente bidirecional. Ela vive só no registro que a declara. Do outro lado, chega-se filtrando a lista por esse campo, como se explica mais abaixo.
  3. Não há marcadores de associação. Não dá para marcar de que tipo é a relação (por exemplo “quem decide” ou “quem paga”): a referência existe ou não existe.

Não existe uma permissão separada chamada “associar registros”. Associar é editar um campo, então bastam duas condições: que o usuário possa editar aquele objeto e que o campo de referência não esteja marcado como protegido contra atualização para a função dele.

Dito de outro modo: quem pode editar um contato pode mudar a empresa dele, a menos que alguém tenha protegido o campo Empresa. A matriz em Controle de Acesso → Funções aplica regras por objeto e campo, e não contém nenhuma linha nem regra específica para associações — veja Atribuir acesso aos registros.

Um campo de referência em detalhe: Contato → Empresa

Seção intitulada “Um campo de referência em detalhe: Contato → Empresa”

Daqui em diante o exemplo é Contato → Empresa. O que vem a seguir vale para qualquer campo de referência: mudam apenas o nome do campo e o objeto para o qual ele aponta.

O campo Empresa do contato (veja Principal) é a associação. Ao escolher uma empresa e salvar, o contato fica ligado a esse registro. Essa é a via manual, e é a que recomendamos usar sempre — veja Associação automática por domínio mais abaixo para entender por que não vale a pena depender da automática.

Para associar uma empresa manualmente:

  1. Abra o contato e entre no modo de edição.
  2. No campo Empresa, clique para abrir o seletor e digite parte do nome da empresa que procura.
  3. Escolha a empresa na lista de resultados.

Seletor de Empresa aberto em um contato sem empresa, buscando "DOC-AUTO" com o resultado DOC-AUTO-Empresa destacado

  1. Clique em Salvar. O campo fica preenchido com a empresa escolhida.

Campo Empresa preenchido no formulário do contato, com os três controles à direita destacados: lápis, X e setas

Ao lado do valor há três controles: o lápis abre o editor da empresa relacionada no painel lateral, o X remove a associação (deixa o campo vazio) e as setas expandem o seletor para escolher outra empresa. Só é possível ter uma empresa por vez — escolher uma nova substitui a anterior, em vez de somar a ela.

Painel Editar Empresa aberto a partir do lápis, com o nome da empresa relacionada destacado

O seletor do campo Empresa também permite criar uma empresa nova sem sair do formulário do contato: se você buscar um nome que ainda não existe, aparece um botão + Empresa ao lado da mensagem “Sem resultados”.

Seletor de Empresa mostrando "Sem resultados" para o nome pesquisado, com o botão + Empresa destacado

O Prolibu também pode preencher o campo Empresa sozinho, comparando o domínio do e-mail do contato com o campo Domínios de uma empresa. Há uma condição de ordem para que dispare: salve o domínio na empresa antes de criar o contato. A regra se aplica no momento em que o contato nasce, não retroativamente sobre os que já existem.

  1. Abra a empresa e adicione o domínio (sem http:// nem www., só o domínio) no campo Domínios.

Campo Domínios de uma empresa, com "docautotest.com" adicionado como chip

  1. Crie um contato novo com um e-mail desse mesmo domínio. Não precisa escolher a empresa manualmente: o campo Empresa do contato já aparece preenchido com ela ao salvar.

Campo Empresa de um contato recém-criado, já preenchido com a empresa cujo domínio coincide com o e-mail

Fora desse caso pontual, escolher a empresa manualmente continua sendo a via normal descrita acima. E seja manual ou automática, a relação é igualmente permanente: uma vez atribuída, a empresa fica ligada ao contato de forma indefinida. Ela não expira, não é revisada sozinha nem se desvincula com o uso normal do sistema; só muda se alguém a substituir por outra ou a apagar pelo próprio campo Empresa.

Aqui aparece a segunda consequência do modelo: como a referência vive só no registro que a declara, o registro apontado não traz uma lista de quem aponta para ele. Não existe um array nem uma aba “Contatos” na ficha da empresa.

A via geral, válida para qualquer campo de referência, é filtrar a lista do objeto que declara a referência por esse campo. Neste exemplo: na lista de Contatos, filtre pela coluna Empresa e escolha o nome da empresa que procura.

Lista de Contatos filtrada por Empresa, mostrando o chip de filtro e o resultado

O botão Ver registros relacionados (“View company contacts”) que aparece ao lado de algumas empresas na lista de Empresas faz esse mesmo filtro por você, usando o identificador real daquela linha.

Lista de Contatos filtrada após clicar em "View company contacts", com o chip Empresa e o contador de 2 registros destacados

O segundo mecanismo não preenche um campo do registro que você tem aberto: ele cria outro registro que aponta de volta para ele. Um contato não traz uma lista de negócios na própria ficha. A associação é criada com a ação Criar negócio com este contato, e o resultado fica visível depois na atividade do contato.

Essa é a forma de voltar do contato ao negócio criado: abra a entrada de criação na aba Atividade.

Sim, é possível, de quatro formas:

  • Pela interface: como um campo de referência é apenas mais um campo, dá para mudá-lo em bloco como qualquer outro. Marque vários registros na lista com a caixa de seleção de cada linha e use Editar selecionados na barra que aparece no rodapé (“N Itens selecionados”). No diálogo, abra Escolha um campo e escolha Empresa, selecione a empresa (ou ative Limpar valor para desassociar em massa) e confirme com Aplicar a N registros. O mesmo mecanismo funciona para qualquer outro campo editável em massa, não só Empresa — veja Editar registros em massa. Com Adicionar campo você altera vários campos na mesma passada.

Diálogo Editar selecionados com o campo Empresa escolhido, a empresa selecionada e o botão Aplicar a 2 registros destacado

  • Pela importação: a coluna companyName do arquivo de Contatos liga cada linha a uma empresa existente, como explica Formatar arquivos de importação. É uma referência a uma empresa que já existe, não a criação de uma nova na mesma carga — veja Importar registros para vários objetos.
  • Pela API: a associação manual também funciona ao atualizar o contato: PATCH /v2/contact/:id com o identificador da empresa no campo company. O contato passa a apontar para essa empresa igual que se você a tivesse escolhido no formulário.
  • Por domínio de e-mail: se a empresa já tem seu domínio salvo previamente, qualquer contato novo com um e-mail desse domínio fica associado a ela sozinho, sem ser escolhido manualmente (veja a seção Associação automática por domínio acima).
  • Por Scripts: Scripts (Development → Scripts) é código que roda quando um hook de ciclo de vida de um objeto escolhido é disparado — por exemplo, toda vez que um Contact é criado ou atualizado. Não escrevemos nem rodamos um script real que associe registros, mas o mecanismo (código arbitrário disparado por um evento do objeto, com acesso de leitura/escrita) permite implementar essa lógica.

Diálogo Create Script com o objeto Contact selecionado em Lifecycle hooks, destacado

Nada disso é exclusivo de Contatos: é o padrão que os demais objetos do CRM seguem.

Tickets mostra isso pelo outro lado. O formulário Criar Ticket tem uma seção Solicitante com dois campos de referência, Contato e Usuário — o primeiro se comporta igual ao campo Empresa de um contato (um único valor, seletor com busca, relação guardada no registro que a declara), só que aqui quem declara a referência é o ticket.

Negócios faz o mesmo com o campo Contato, na seção Principal. Esse campo é a contraparte da ação Criar negócio com este contato: quando você usa a ação a partir de um contato, o que é preenchido é justamente esse campo do negócio novo.

Formulário Criar Ticket com a seção Solicitante e o campo Contato preenchido com DOC-AUTO-Contacto, destacado

Reuniões, Cursos, Listagens e Serviços são conceitos do CMS Hub sem equivalente conhecido no Prolibu, então não se aplicam.

Perguntas frequentes

Este artigo foi útil?