Estrutura

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
Todos os recursos são objetos OpenERP: faturas, parceiros. Metadados são também objeto também: menus, ações, relatórios ... Nomes de objeto são hierárquicos, como nos exemplos a seguir:
- account.transfer: a transferência de dinheiro
- account.invoice: uma factura
- account.invoice.line: uma linha de factura
Geralmente, a primeira palavra é o nome do módulo: conta, estoque, venda.
Aqueles objeto são declaradas em python ser subclasse osv.Model
O ORM do OpenERP é construído sobre PostgreSQL. Assim, é possível consultar o objeto usado pelo OpenERP utilizando a interface de objeto (ORM) ou usando diretamente instruções SQL.
Mas é perigoso para escrever ou ler diretamente no banco de dados PostgreSQL, como você vai atalho passos importantes, como as restrições de verificação ou de modificação de fluxo de trabalho.
Geralmente, a primeira palavra é o nome do módulo: conta, estoque, venda.
Aqueles objeto são declaradas em python ser subclasse osv.Model
O ORM do OpenERP é construído sobre PostgreSQL. Assim, é possível consultar o objeto usado pelo OpenERP utilizando a interface de objeto (ORM) ou usando diretamente instruções SQL.
Mas é perigoso para escrever ou ler diretamente no banco de dados PostgreSQL, como você vai atalho passos importantes, como as restrições de verificação ou de modificação de fluxo de trabalho.