Pular para o conteúdo

O Modelo Project.Project: Compreendendo a Arquitetura do Odoo

Um guia completo sobre o modelo de projeto do Odoo para desenvolvedores e consultores funcionais
11 de março de 2026 por
O Modelo Project.Project: Compreendendo a Arquitetura do Odoo
Dasolo
| Nenhum comentário ainda

Introdução


No Odoo, os modelos definem como os dados são estruturados e armazenados no banco de dados. Cada pedaço de dados empresariais com o qual você trabalha, desde pedidos de venda a projetos e tarefas, vive em um modelo.


Compreender os modelos do Odoo é essencial tanto para desenvolvedores quanto para consultores funcionais. Os modelos são a base da arquitetura de dados do Odoo. Eles definem os campos do Odoo, relacionamentos e lógica de negócios. Cada modelo no Odoo segue os mesmos padrões.


Este artigo foca em um dos modelos mais importantes do Odoo: project.project. Seja você construindo módulos personalizados, integrando sistemas externos ou configurando fluxos de trabalho de projetos, você trabalhará com este modelo.

O que é o modelo project.project


O modelo project.project representa um projeto no Odoo. É o recipiente para tarefas, marcos e colaboração em equipe. Cada projeto é um registro neste modelo.


Este modelo no Odoo é utilizado pelo aplicativo Project. Quando você cria um projeto no Odoo, você cria um registro project.project. As tarefas estão vinculadas a esse projeto através do campo task_ids. O projeto define os estágios do fluxo de trabalho, os membros da equipe e as regras de visibilidade.


O modelo é definido no módulo project. Outros módulos o estendem através da herança de modelos do Odoo. O módulo Sale adiciona faturamento baseado em projetos. O módulo Timesheet adiciona rastreamento de tempo. O planejamento de projetos adiciona agendamento Gantt. Cada módulo adiciona o que precisa sem duplicar a estrutura central.


Compreender a relação entre project.project e project.task é fundamental. O projeto contém configurações compartilhadas. A tarefa contém itens de trabalho individuais. Ambos são centrais para o fluxo de trabalho de gerenciamento de projetos do Odoo.

Campos Chave no Modelo


Aqui estão os campos mais importantes do Odoo no modelo project.project. Compreender estes ajudará você a trabalhar de forma eficaz com projetos.


1. name

Tipo: Char. Este campo armazena o nome do projeto. Ele é exibido em muitas visualizações do Odoo e é o identificador principal para o registro do projeto.


2. create_date

Tipo: Datetime. Armazena a data e a hora em que o registro foi criado. Gerenciado automaticamente pelo Odoo. Útil para relatórios e auditorias.


3. write_date

Tipo: Datetime. Armazena a data e a hora da última modificação. Também gerenciado automaticamente. Ajuda a rastrear quando os dados foram atualizados pela última vez.


4. active

Tipo: Booleano. Sinal de exclusão suave. Quando Falso, o projeto é arquivado e oculto das visualizações padrão. Os registros não são fisicamente excluídos.


5. sequência

Tipo: Inteiro. Ordem de exibição para ordenação. Usado em listas de projetos e menus suspensos. Valores mais baixos aparecem primeiro.


6. cor

Tipo: Inteiro. Índice de cor para o projeto. Usado em visualizações e quadros kanban para distinguir visualmente os projetos.


7. user_id

Tipo: Many2one (res.users). O gerente do projeto. Este usuário é responsável pelo projeto e é frequentemente mostrado como o responsável padrão.


8. company_id

Tipo: Many2one (res.company). Em configurações de múltiplas empresas, isso indica a qual empresa Odoo o projeto pertence.


9. partner_id

Tipo: Many2one (res.partner). O cliente ou parceiro vinculado ao projeto. Usado para faturamento e relatórios.


10. descrição

Tipo: Html. Descrição do projeto. Pode incluir HTML para formatação. Usado para resumos e notas do projeto.


11. data_início

Tipo: Data. A data de início do projeto. Usado para planejamento e relatórios.


12. data

Tipo: Data. O prazo ou data de término do projeto. Usado para acompanhamento e relatórios.


13. ids_tarefas

Tipo: Um para muitos (project.task). A lista de tarefas no projeto. Esta é a relação principal entre projetos e tarefas.


14. contagem_tarefas

Tipo: Inteiro. Número de tarefas. Computado a partir de ids_tarefas. Usado para exibição e filtragem.


15. ids_tipo

Tipo: Muitos para muitos (project.task.type). Estágios ou tipos de tarefas para o projeto. Define o fluxo de trabalho (por exemplo, A Fazer, Em Progresso, Concluído).


16. ids_tags

Tipo: Many2many (project.tags). Etiquetas de projeto para categorização. Usado para filtrar e organizar projetos.


17. privacidade_visibilidade

Tipo: Seleção. Controla quem pode acessar o projeto. Opções: Usuários internos convidados (privado), Todos os usuários internos ou Usuários convidados do portal e todos os usuários internos (público).


18. colaborador_ids

Tipo: One2many (project.collaborator). Membros da equipe designados para o projeto. Define quem pode trabalhar no projeto.


19. favorito_user_ids

Tipo: Many2many (res.users). Usuários que marcaram o projeto como favorito. Usado para acesso rápido no painel.


20. permitir_dependências_de_tarefas

Tipo: Booleano. Quando Verdadeiro, as tarefas podem ser vinculadas a outras tarefas como predecessoras ou sucessoras. Usado para planejamento de projetos.


21. permitir_marcadores

Tipo: Booleano. Quando Verdadeiro, marcadores podem ser criados no projeto. Marcadores marcam entregas chave.


22. milestone_ids

Tipo: Um para muitos (project.milestone). Os marcos no projeto. Usado para rastrear entregas chave.


23. rating_active

Tipo: Booleano. Quando verdadeiro, os clientes podem avaliar o projeto. Usado para feedback dos clientes.


24. task_properties_definition

Tipo: Texto (JSON). Propriedades de tarefa personalizadas para o projeto. Define campos extras que podem ser adicionados às tarefas.


25. access_url

Tipo: Char. A URL para os clientes acessarem o projeto através do portal. Usado para colaboração com os clientes.


26. access_token

Tipo: Char. Token de segurança para acesso ao portal. Garante que apenas usuários autorizados possam visualizar o projeto.


27. alias_id

Tipo: Muitos para um (mail.alias). Alias de e-mail para o projeto. E-mails recebidos criam tarefas automaticamente.


28. activity_ids

Tipo: One2many (mail.activity). Atividades agendadas no projeto. Usado para acompanhamentos e lembretes.


29. activity_state

Tipo: Seleção. Resumo do estado da atividade: Hoje, Atrasado ou Planejado. Computado a partir de activity_ids.


30. activity_date_deadline

Tipo: Data. A data da próxima atividade agendada. Usado para planejamento de atividades.


31. message_ids

Tipo: One2many (mail.message). Mensagens do Chatter no projeto. Usado para comunicação interna.


32. message_follower_ids

Tipo: One2many (mail.followers). Usuários que seguem o projeto. Eles recebem notificações.


33. create_uid

Tipo: Many2one (res.users). O usuário que criou o registro. Definido automaticamente pelo Odoo.


34. write_uid

Tipo: Many2one (res.users). O utilizador que modificou o registo pela última vez. Definido automaticamente pelo Odoo.

Como Este Modelo É Usado em Fluxos de Trabalho Empresariais


1. Criação e Gestão de Projetos

Quando um vendedor ou gestor de projeto cria um projeto, define o nome, o gestor, as datas e a visibilidade. O modelo project.project armazena tudo isto. As tarefas são então adicionadas e ligadas ao projeto.


2. Fluxo de Trabalho das Tarefas

As tarefas movem-se através de etapas definidas por type_ids. O gestor de projeto atribui tarefas aos colaboradores. O projeto contém a configuração do fluxo de trabalho e a estrutura da equipa.


3. Portal do Cliente

Quando a privacidade_visibilidade permite o acesso ao portal, os clientes podem visualizar tarefas e marcos através do access_url. O access_token assegura o link. Isto é útil para projetos com clientes.


4. Folha de Ponto e Faturação

Com o módulo Folha de Ponto, project.project liga-se a entradas de folha de ponto. Com Vendas, os projetos podem ser ligados a encomendas de venda para faturação baseada em projetos. O campo partner_id conecta o projeto ao cliente.


5. Integração de Email

Emails recebidos para o alias do projeto criam tarefas automaticamente. O campo alias_id conecta o projeto ao seu alias de email. Isto simplifica a criação de tarefas a partir de emails.

Como os Desenvolvedores Estendem Este Modelo


Os desenvolvedores estendem project.project utilizando vários padrões. A herança de modelos do Odoo é o principal mecanismo.


Herança de Modelo

Use _inherit = 'project.project' para estender o modelo. Esta é a herança de modelo do Odoo em ação. Adicione novos campos do Odoo, sobrescreva métodos ou adicione restrições. O modelo herdado no Odoo mantém suas alterações em um módulo separado para facilitar as atualizações. Quando você herda um modelo no Odoo, você o estende sem modificar o original.


Adicionando Campos

Defina novos campos do Odoo no seu modelo herdado. Use o tipo de campo correto: Char, Many2one, Boolean, Integer, Text, Selection. Considere campos dependentes da empresa para multi-empresa.


Extensões Python

Sobrescreva create, write ou unlink para adicionar lógica. Use super() para chamar o original. Tenha cuidado com campos computados e suas dependências.


Odoo Studio

O Odoo Studio permite que você adicione campos sem código. Bom para personalizações rápidas. Para lógica complexa ou atualizações, módulos personalizados são mais fáceis de manter.

Melhores Práticas


  • Defina user_id para a atribuição do gerente do projeto. A propriedade clara melhora a responsabilidade.
  • Configure type_ids para cada projeto. Defina estágios que correspondam ao seu fluxo de trabalho.
  • Use privacy_visibility corretamente. Projetos privados restringem o acesso a seguidores e administradores.
  • Ao construir integrações de API, use a API XML-RPC ou JSON-RPC. O modelo project.project está totalmente exposto como um modelo de API no Odoo. Mapeie IDs externos com cuidado.
  • Para campos personalizados, use o prefixo x_ ou um prefixo de módulo para evitar conflitos com versões futuras do Odoo.

Erros Comuns


  • Criando tarefas sem vinculá-las a um projeto. Cada tarefa deve ter um project_id.
  • Esquecendo de definir type_ids. Novos projetos podem não ter estágios, então as tarefas não podem se mover pelo fluxo de trabalho.
  • Definindo privacy_visibility como público quando deveria ser privado. Isso pode expor dados sensíveis.
  • Substituindo métodos principais sem chamar super(). Isso pode quebrar outros módulos ou futuras atualizações.
  • Adicionando campos personalizados obrigatórios sem valores padrão. Registros existentes falharão na validação na atualização.

Conclusão


O modelo project.project é central para a gestão de projetos do Odoo. Ele armazena definições de projetos, estágios de fluxo de trabalho e estrutura de equipe. Compreender seus campos e como os módulos o estendem ajudará você a configurar, personalizar e integrar o Odoo de forma eficaz.


Seja você um consultor funcional configurando projetos ou um desenvolvedor construindo módulos personalizados, um sólido entendimento do project.project economizará tempo e evitará erros.

Precisa de Ajuda com a Sua Implementação do Odoo?


A Dasolo ajuda empresas a implementar, personalizar e otimizar o Odoo. Nós nos especializamos em integrações de API e desenvolvimento Odoo. Nossa equipe tem profunda experiência com a arquitetura de dados do Odoo e modelos como project.project.


Se você precisar de ajuda com sua implementação do Odoo, módulos personalizados ou integrações, estamos aqui para ajudar. Agende uma demonstração para discutir seu projeto.

O Modelo Project.Project: Compreendendo a Arquitetura do Odoo
Dasolo 11 de março de 2026
Compartilhar esta publicação
Iniciar sessão para deixar um comentário