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:

name        O nome do módulo em Inglês.      
version          A versão do módulo. 
summary          resumo descrição ou palavras-chave 
description      A descrição do módulo (texto).
category         A categoria do módulo 
author           O autor do módulo.
website          URL do site do módulo
license          A licença do módulo (default: AGPL-3).
depends          Lista de módulos em que este módulo depende ao lado de base. 
data             Lista de arquivos XML para carregar quando o módulo é instalado ou atualizado.
demo             Lista de arquivos xml adicional. para carregar quando o módulo é 
                 instalado ou atualizado e bandeira de demonstração está ativo.
installable      Verdadeiro ou Falso. Determina se o módulo é instalado 
                 ou não.
auto_install     Verdadeiro ou Falso (padrão: False). Se definido como "É verdade", o 
                 módulo é um link. Ele será instalado assim 
                 como todas as suas dependências estão instaladas.


Para o

openacademy

módulo, aqui está um exemplo de

__openerp__.py

arquivo de declaração:


{
    'name' : "OpenAcademy",
    'version' : "1.0",
    'author' : "OpenERP SA",
    'category' : "Tools",
    'depends' : ['mail'],
    'data' : [
        'openacademy_view.xml',
        'openacademy_data.xml',
        'report/module_report.xml',
        'wizard/module_wizard.xml',
    ],
    'demo' : [
        'openacademy_demo.xml'
    ],
    'installable': True,
}

Objetos