docs
DocumentationDocs FuncionaisDesacoplar Visualizações

Desacoplar Visualizações

Updated on 11/08/2026 · Odoo 17.0

Objetivo: Permitir que o mesmo modelo de dados (ex: Projetos) apresente diferentes colunas e comportamentos dependendo do menu acessado, sem que uma alteração afete a outra.

1. Conceito

Para entender por que esse processo é necessário, precisamos entender a hierarquia de renderização do Odoo. O erro comum é achar que o Odoo edita a "tela"; na verdade, ele edita uma Visão que é chamada por uma Ação.

ComponenteFunção
Modelo (Model)O banco de dados (onde as informações moram).
Visão (View)O "molde" ou "máscara" que define quais campos aparecem.
Ação (Action)O motor que decide qual Visão usar para abrir o Modelo.
MenuO botão que o usuário clica para disparar a Ação.

2. Configuração

Passo 1: Criação de view independente

Nunca edite a visão padrão se quiser criar algo novo.

  1. Vá em Configurações > Técnico > Visões.
  2. Localize a visão base (ex: project.view_project_project_tree).
  3. Duplique o registro.
  4. Renomeie para algo único (ex: project.project.tree.digital_products).

Passo 2: Configurar a Ação de Janela

A Action é o segredo para o isolamento do Odoo Studio.

  1. Vá em Configurações > Técnico > Ações > Ações de Janela.
  2. Crie uma nova ação apontando para o modelo project.project.
  3. No campo Ref. da Visão (View Ref.), selecione especificamente a visão criada no Passo 1.
    (esse passo não é 100% necessário mas garante que essa será a view prioritária e evita erros)
  4. Na aba Visualizações, adicione uma linha para o tipo Tree e selecione novamente a sua visão customizada.

Para que o Odoo Studio funcione na visualização final, é necessário que a Ação de Janela criada possua um ID Externo. Exitem algumas formas de forçar o Odoo a gerar um ID Externo para um registro, a forma mais rápida é simplesmente exportando a ação via menu de ação > exportar. Certifique-se de adicionar o campo ID Externo à lista de campos exportados.

Passo 3: Criação do Item de Menu

  1. Vá em Configurações > Técnico > Itens de Menu.
  2. Crie o menu e vincule-o à Ação de Janela que você acabou de configurar.

3. Quando usar este método?

Este procedimento deve ser utilizado sempre que houver necessidade de especialização de interface sem a criação de novos modelos.

  • Visões por Departamento: O setor de Vendas precisa ver o "Valor do Projeto" na lista, enquanto o setor de Operações precisa ver o "Responsável Técnico".
  • Segmentação de Produtos/Serviços: Em casos onde os campos relevantes (como links de acesso ou versões) são diferentes de um projeto de consultoria física.
  • Simplificação de Processos: Criar um menu "Visão Rápida" com apenas 3 colunas para uso em tablets ou telas pequenas, mantendo o menu "Completo" para uso em desktop.
  • Segurança Visual: Esconder colunas com dados sensíveis de determinados menus, mesmo que o usuário tenha permissão para ver o objeto.

4. Por que não criar um Novo Modelo?

Muitas pessoas tentam criar um modelo novo (x_modelo_novo) via Studio para resolver isso. Isso é um erro na maioria das vezes porque:

  1. Isolamento de Dados: Os projetos criados no modelo original não apareceriam no modelo novo.
  2. Manutenção: Você teria que criar automações para copiar dados de uma tabela para a outra.
  3. Relatórios: Gerar um gráfico que soma os dois modelos seria muito mais difícil.
  4. Campos relacionados: Gera necessidade de utilização de campos relacionados para refletir os dados, o que não é ideal.

O desacoplamento de visões mantém a integridade dos dados (todos os projetos estão na mesma tabela) mas oferece flexibilidade de interface.

5. Cuidados Importantes

  • Odoo Studio: Sempre que for usar o Studio em uma visão desacoplada, verifique se o nome da visão no painel lateral é o da sua visão customizada. Se for o nome da visão "padrão", você ainda não vinculou a Action corretamente.
  • Heranças de Módulos: Se você instalar um novo módulo que adiciona campos em projetos, ele pode não aparecer automaticamente na sua visão customizada (pois ela é uma "foto" tirada no momento da duplicação). Você precisará adicioná-los manualmente se desejar.
🗂️ Docs Funcionais