|
|
| (14 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) |
| Linha 1: |
Linha 1: |
| =='''Estrutura'''== | | ==[[Estrutura - Módulo]]== |
| [[Ficheiro:Modulosopenerp.png|thumb|Estrutura módulo]] | | ==[[Objetos, Campos e Métodos]]== |
| Um módulo poderá conter os seguintes elementos:
| | ==[[Exibições e Eventos]]== |
| | | ==[[Menus e Ações]]== |
| '''Objeto de Negócios :''' declarado como classes Python estendendo o osv.Model classe, a persistência destes recursos é completamente gerenciado pelo ORM do OpenERP.
| | ==[[Exemplo de criação módulo]]== |
| | | ==[[Módulo de controle de versões]]== |
| '''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),
| | ==[[Declaração Relatório]]== |
| | |
| '''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<pre>openacademy</pre>subdiretório no diretório de origem / addons
| |
| | |
| * Criar o arquivo de importação módulo <pre>__init__.py</pre>
| |
| | |
| * Criar o arquivo Manifield módulo <pre>__openerp__.py</pre>
| |
| | |
| * 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 <pre>__init__.py</pre> 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 <pre>openacademy.py</pre> , o arquivo deve ser parecido:
| |
| | |
| openacademy importação
| |
| | |
| =='''Arquivo de manifesto __ openerp__.py'''== | |
| | |
| No diretório do módulo criado, você deve adicionar um <pre>__openerp__.py</pre> 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:
| |
| <pre>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.</pre>
| |
| | |
| | |
| Para o <pre>openacademy</pre> módulo, aqui está um exemplo de <pre>__openerp__.py</pre> arquivo de declaração:
| |
| | |
| | |
| <pre>{
| |
| '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,
| |
| }</pre>
| |
| | |
| =='''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.
| |
| | |
| =='''Arquivos XML''' == | |