Desacoplar Visualizações
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.
| Componente | Funçã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. |
| Menu | O 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.
- Vá em Configurações > Técnico > Visões.
- Localize a visão base (ex: project.view_project_project_tree).
- Duplique o registro.
- 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.
- Vá em Configurações > Técnico > Ações > Ações de Janela.
- Crie uma nova ação apontando para o modelo project.project.
- 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) - Na aba Visualizações, adicione uma linha para o tipo Tree e selecione novamente a sua visão customizada.
Passo 3: Criação do Item de Menu
- Vá em Configurações > Técnico > Itens de Menu.
- 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:
- Isolamento de Dados: Os projetos criados no modelo original não apareceriam no modelo novo.
- Manutenção: Você teria que criar automações para copiar dados de uma tabela para a outra.
- Relatórios: Gerar um gráfico que soma os dois modelos seria muito mais difícil.
- 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.