Relacionamento

Entenda as diferenças entre os campos Relacionamento Simples e Relacionamento Múltiplo, além dos recursos compartilhados disponíveis nos campos de relacionamento do ENSPACE.
Atualizado

Nesta seção

Relacionamento Simples
Permite selecionar um único item de outro tipo, criando uma ligação direta entre dados relacionados.
Relacionamento Múltiplo
Permite selecionar múltiplos itens de outro tipo, criando uma ligação entre dados relacionados.

Entenda os campos de relacionamento do ENSPACE

Os campos de relacionamento do ENSPACE permitem conectar registros de categorias diferentes.

Imagine que você tem uma planilha de Clientes e outra de Pedidos. Em vez de digitar o nome do cliente em cada pedido, você cria um vínculo direto: o sistema mostra a lista de clientes e você apenas seleciona um. Se os dados do cliente mudarem, o vínculo permanece intacto.

Eles podem ser usados para:

  • evitar digitação repetida de dados que já existem em outra categoria;
  • garantir que informações relacionadas estejam sempre corretas e atualizadas;
  • navegar rapidamente entre registros conectados;
  • criar estruturas de dados complexas (projetos com responsáveis, pedidos com produtos);
  • aplicar regras automáticas de vínculo entre categorias.

Tipos disponíveis e quando utilizar

Relacionamento Simples

Campo para selecionar apenas um item de outra categoria. Ideal para vincular um único registro, como um cliente em um pedido ou um responsável em um projeto.

Relacionamento Múltiplo

Campo para selecionar vários itens de outra categoria. Ideal para vincular múltiplos registros, como produtos em um pedido ou participantes em um projeto.


Comparação entre os campos

RecursoRelacionamento SimplesRelacionamento Múltiplo
Quantidade de itens vinculadosApenas umVários
Exibe lista de registrosSimSim
Permite criar novo registro pelo campoSimSim
Possui aba de itens relacionadosNãoSim
Possui dependência entre categoriasSimSim
Formato de visualização configurávelSimSim
Permite agrupar itens na listaSimSim
Permite filtrar por formuláriosSimSim

Como os campos de relacionamento funcionam

Os campos de relacionamento funcionam como uma ponte entre duas categorias.

Quando você configura o campo, define qual categoria será a "outra ponta" da ponte. O sistema então exibe uma lista com todos os registros daquela categoria, permitindo que o usuário selecione um ou mais itens para vincular.

O valor armazenado não é o nome digitado, mas sim uma referência ao registro original. Isso significa que, se o nome do cliente mudar na categoria de Clientes, todos os pedidos vinculados a ele mostrarão o nome atualizado automaticamente.

Diferença entre Relacionamento Simples e Múltiplo

CampoRepresenta
Relacionamento SimplesUm único vínculo (ex: um cliente por pedido).
Relacionamento MúltiploVários vínculos simultâneos (ex: vários produtos por pedido).

Recursos compartilhados

Ambos os campos compartilham as mesmas configurações de vínculo e exibição.

Configurações básicas

Durante a criação do campo, você define:

ConfiguraçãoDescrição
CategoriaDefine qual outra categoria será relacionada.
Formulários (opcional)Formulário exibido ao clicar em "Novo" para criar um item diretamente pelo campo.
Formato de VisualizaçãoInformação usada para identificar cada item na lista (ex: nome, código, e-mail).
Agrupar porCampo usado para agrupar itens na lista (ex: agrupar clientes por cidade).
Formulários usados para filtrarPermite mostrar na lista apenas itens de formulários específicos.
Desanexar AgrupamentoRemove agrupamentos previamente definidos.
Desabilitar CriaçãoImpede que novos itens sejam criados diretamente pelo campo de relacionamento.

Campo de relacionamento obrigatório

Um campo de relacionamento pode ser marcado como obrigatório, exigindo que o item aponte para um registro da outra categoria antes de ser salvo. Quando duas categorias se exigem mutuamente, isso levaria a um impasse: o primeiro item não poderia ser criado, porque o registro que ele precisa apontar ainda não existe.

O ENSPACE resolve esse impasse com um vínculo temporário. Ao abrir o formulário, o sistema já gera a referência do item que está sendo criado, mesmo antes de ele ser salvo. Com essa referência disponível, você cria o registro da outra categoria pelo próprio campo, em Novo, e o vínculo entre os dois é registrado na hora.

O que acontece com esse vínculo depende do desfecho do formulário principal:

  • Ao salvar — os vínculos temporários são convertidos em permanentes, e os dois registros passam a existir normalmente.
  • Ao cancelar — o registro criado por esse caminho e os vínculos dele são removidos, sem deixar item solto na outra categoria.

O comportamento é o mesmo no formulário aberto em página completa e no modal de criação embutido no campo. Não há diferença visual entre um vínculo temporário e um permanente: a distinção é interna e só existe enquanto o formulário principal não foi salvo.

Obrigatoriedade e Dependência são recursos distintos. A obrigatoriedade define que o campo precisa ser preenchido; a dependência cria o vínculo automático de duas vias descrito a seguir. Podem ser usados em conjunto, mas um não implica o outro.

Dependência entre categorias

A dependência é um recurso avançado que cria um vínculo automático e de duas vias entre categorias.

Quando habilitada:

  • ao relacionar um item na categoria A, o sistema cria automaticamente o mesmo vínculo na categoria B;
  • é necessário criar um campo de relacionamento correspondente na outra categoria para que a dependência funcione;
  • o campo dependente na outra categoria deve ser configurado como obrigatório.
A dependência exige configuração em ambas as categorias. Se você criar apenas de um lado, o vínculo automático não funcionará.

Regras de dependência

O sistema aplica validações automáticas para manter a integridade dos dados:

Criação de itens

  • O campo dependente se torna obrigatório durante a criação.
  • Se o campo de relacionamento não for preenchido, o item não será criado — mesmo que o campo esteja oculto no formulário.
  • Quando a criação ocorre pela aba de relacionamento (no campo múltiplo), o vínculo é feito automaticamente, permitindo a criação sem erros.

Exclusão de itens

  • Antes de excluir, o sistema verifica se o item está vinculado a outros por meio de campos com dependência.
  • Se estiver vinculado:
    • a referência é removida automaticamente dos itens relacionados;
    • o item excluído será apenas inativado (não desaparece do sistema);
    • caso seja reativado posteriormente, o vínculo não será restaurado automaticamente.

Edição de itens

  • Itens removidos do campo com dependência terão a referência removida automaticamente na outra categoria.
  • Itens adicionados terão a referência incluída automaticamente.
  • Essa lógica funciona tanto para Relacionamento Simples quanto para Relacionamento Múltiplo.

Dependência só funciona entre campos de primeiro nível

A dependência é um vínculo entre itens: ao relacionar um item na categoria A, o sistema precisa gravar a referência de volta dentro de um item da categoria B. Isso exige que os dois lados sejam campos criados diretamente na categoria, no primeiro nível.

Campos de relacionamento dentro de Repetidor, Grupo ou Matriz de Dados não participam de dependência. Não é possível habilitar dependência neles, nem apontá-los como Campo Dependente a partir de outra categoria.

O motivo é estrutural: uma linha de Repetidor não é um item com identificador próprio, e sim um valor guardado dentro de um item. Como não existe entidade do outro lado para receber o vínculo inverso, não há onde gravá-lo.

O que continua funcionando dentro de um Repetidor ou Grupo: o relacionamento como apontamento simples — escolher um item de outra categoria e guardar essa referência na linha. O que não existe nesse contexto é o vínculo automático de duas vias.

Quando você precisa de vínculo de duas vias: use categorias relacionadas inteiras em vez de subcampo de estrutura aninhada. Em vez de um Repetidor "Etapas da Obra" com um subcampo de relacionamento, crie uma categoria Etapas com um campo de relacionamento de primeiro nível apontando para Obras, e configure a dependência entre as duas categorias.

Se você tentar apontar o Campo Dependente de um campo de primeiro nível para um relacionamento que está dentro de um Repetidor ou Grupo, o sistema recusa a configuração. Isso é intencional.

Aba de Itens Relacionados

Disponível exclusivamente no campo Relacionamento Múltiplo.

Quando habilitada, cria automaticamente uma nova aba na pasta do item atual, exibindo uma tabela com todos os registros vinculados.

Essa aba permite:

  • visualizar os registros relacionados;
  • criar novos itens já vinculados ao item atual;
  • editar ou desvincular itens diretamente pela interface.
Se a dependência estiver habilitada, os novos itens criados a partir dessa aba já serão vinculados corretamente ao item pai de forma automática.

Comportamento dos dados

As configurações aplicadas nos campos de relacionamento afetam diretamente a integridade dos registros.

Isso significa que:

  • alterar o formato de visualização não modifica o vínculo, apenas a forma como o item aparece na lista;
  • remover um campo de relacionamento não exclui os registros da outra categoria, apenas remove o vínculo;
  • ativar a dependência após a criação de registros antigos não cria vínculos retroativos automaticamente;
  • itens inativados por dependência podem ser reativados, mas os vínculos precisam ser reconstruídos manualmente.

Algumas alterações afetam apenas novos preenchimentos.

Exemplo:

  • adicionar um filtro de formulário não remove vínculos antigos;
  • alterar o campo "Agrupar por" reorganiza apenas a exibição, não os dados;
  • desabilitar a criação de novos itens pelo campo não afeta registros já existentes.

Casos de uso

  • Relacionamento Simples: selecionar um cliente em um pedido, associar um responsável em um projeto, relacionar uma empresa em um contrato, escolher um analista para uma solicitação, definir um fornecedor para uma compra.
  • Relacionamento Múltiplo: selecionar vários produtos em um pedido, associar diversos participantes em um projeto, relacionar várias tarefas em um processo, escolher múltiplos analistas para uma solicitação, vincular documentos anexos a um processo.

Boas práticas

  • Utilize Relacionamento Simples quando a regra de negócio permitir apenas um vínculo (ex: um pedido pertence a um único cliente).
  • Utilize Relacionamento Múltiplo quando vários registros puderem ser vinculados simultaneamente (ex: um projeto tem vários participantes).
  • Configure o Formato de Visualização com informações únicas e identificáveis para facilitar a busca na lista.
  • Utilize Agrupar por quando a lista de itens for longa, organizando por cidade, status ou outro critério relevante.
  • Habilite a Dependência apenas quando for estritamente necessário manter vínculos de duas vias, pois aumenta a complexidade da configuração.
  • Ao habilitar dependência, crie sempre o campo correspondente na outra categoria antes de começar a criar registros.
  • Lembre-se de que itens excluídos com dependência ativa são apenas inativados. Revise periodicamente itens inativados para manter a base de dados organizada.
  • Utilize a Aba de Itens Relacionados no campo múltiplo para criar um painel de gestão dentro da pasta do registro principal.