Estrutura

Estrutura módulo

Um módulo poderá conter os seguintes elementos:

Objeto de Negócios : declarado como classes Python estendendo o osv.Model classe, a persistência destes recursos é completamente gerenciado pelo ORM do OpenERP.

Dados : Os arquivos XML / CSV com meta-dados (pontos de vista e declaração de fluxos de trabalho), os dados de configuração (módulos de parametrização) e dados de demonstração (opcional, mas recomendado para o teste),

Relatórios : RML (formato XML). HTML / MAKO ou OpenOffice modelos de relatório, a ser mesclado com qualquer tipo de dados de negócios, além de gerar HTML, ODT ou relatórios em PDF.

Cada módulo está contido em seu próprio diretório dentro ou o / bin / addons do servidor ou outro diretório de addons, configurado na instalação do servidor. Para criar um novo módulo, por exemplo, o módulo 'OpenAcademy', são necessárias as seguintes etapas:

  • Criar um
    openacademy
    subdiretório no diretório de origem / addons
  • Criar o arquivo de importação módulo
    __init__.py
  • Criar o arquivo Manifield módulo
    __openerp__.py
  • Criar Python arquivos contendo objetos
  • Criar. xml segurando os dados do módulo, como visualizações, entradas de menu ou dados de demonstração
  • Opcionalmente, criar relatórios ou workflows

Arquivo de importação Python __ init__.py

O

__init__.py

arquivo é o arquivo de importação Python, porque um módulo OpenERP também é um módulo Python regular. O arquivo deve importar todos os outros arquivos python ou submódulos. Por exemplo, se um módulo contém um único arquivo python chamado

openacademy.py

, o arquivo deve ser parecido:

openacademy importação

Arquivo de manifesto __ openerp__.py

No diretório do módulo criado, você deve adicionar um

__openerp__.py

arquivo. Esse arquivo, que deve ser um dicionário Python literal, é responsável por

determinar os arquivos XML que serão analisados ​​durante a inicialização do servidor, e também para determinar as dependências do módulo criado. declarar metadados adicionais Este arquivo deve conter um dicionário Python com os seguintes valores: