|
|
| Linha 1: |
Linha 1: |
| 1 – Definindo a estrutura de arquivos do módulo
| |
| <br>Um módulo do OpenERP obrigatoriamente deve possuir os seguintes arquivos:
| |
| <br>Pasta com o nome do módulo (sem acentos e espaços).
| |
| <br>Exemplo: modulo_teste
| |
| <br>Dentro da pasta modulo_teste os seguintes arquivos:
| |
| <br>__init__.py
| |
| <br>__openerp__.py
| |
| <br>nome_do_modulo.py
| |
| <br>nome_do_modulo.xml
| |
| <br>Para que serve cada arquivo?
| |
| <br>__init__.py – Este arquivo carrega os módulos python, exemplo nome_do_modulo.py
| |
| <br>__openerp__.py – Arquivo que contém todos os parâmetros do módulo como nome, descrição, etc.
| |
| <br>nome_do_modulo.py – Neste arquivo deverá ser adicionada todas as classes e funções python.
| |
| <br>nome_do_modulo.xml – Arquivo onde deve ser criada todas as views(visões) do módulo, este arquivo tem a funcionalidade de montar as páginas e formulários que serão visualizados no navegador.
| |
| <br>2 – Codificando nosso módulo – Classes e Views.
| |
| <br>Bom agora que já sabemos a estrutura básica para criar um módulo para OpenERP vamos começar a escrever nosso código.
| |
| <br>Iniciamos nosso código escrevendo o arquivo __init__.py.
| |
|
| |
|
| __init__.py
| |
| #importando o módulo nome_do_modulo (nome_do_modulo.py)
| |
| import nome_do_modulo
| |
|
| |
| __openerp__.py
| |
| {
| |
| name : Nome do Módulo,
| |
| version : 1.0,
| |
| author : Seu Nome,
| |
| category : Generic Modules/Others,
| |
| website : http://www.seusite.com.br,
| |
| description: Descrição do seu módulo,
| |
| depends : [base], # módulos que este módulo será dependente.
| |
| init_xml : [],
| |
| update_xml : [nome_do_modulo.xml], # view a ser carregada.
| |
| active: True,
| |
| installable: True,
| |
| }
| |
|
| |
| nome_do_modulo.py
| |
| #-*- encoding: uft-8 -*-
| |
| #A linha acima serve para codificar seu arquivo em UTF-8 e suportar qualquer idioma
| |
|
| |
| from osv import osv, fields # Esta linha sempre deverá constar em seu módulos
| |
|
| |
| class teste_classe(osv.osv):
| |
| _name = 'teste.classe'
| |
| _description = 'Descrição da sua classe'
| |
| _columns = {
| |
| 'nome': fields.char('Nome', size=100, required=True ), #Campo de Texto
| |
| 'data_nascimento': fields.datetime('Data de Nascimento'),# Campo de Data
| |
| }
| |
| teste_classe()
| |
|
| |
| <br>Observação: A classe criada no código acima é apenas um exemplo. Você deverá criar as classes e campos conforme a sua necessidade.
| |
| <br>nome_do_modulo.xml
| |
| <br>Neste arquivo vamos criar as paginas de visualização no módulo e os menus para acessar as páginas
| |
|
| |
| <?xml version=1.0 encoding=utf-8?/>
| |
| <openerp/>
| |
| <data/>
| |
| <!-- Cria uma visualização em lista -->
| |
| <record id=teste_classe_tree_view model=ir.ui.view>
| |
| <field name=name>teste.classe.tree</field>
| |
| <field name=model>teste.classe</field>
| |
| <field name=arch type=xml>
| |
| <tree string=Teste Classe>
| |
| <field name=nome/>
| |
| <field name=data_nascimento/>
| |
| </tree>
| |
| </field>
| |
| </record>
| |
| <!-- Cria uma visualização em formulário -->
| |
| <record id=teste_classe_form_view model=ir.ui.view>
| |
| <field name=name>teste.classe.form</field>
| |
| <field name=model>teste.classe</field>
| |
| <field name=arch type=xml>
| |
| <form>
| |
| <notebook>
| |
| <page string=Teste Classe>
| |
| <group>
| |
| <field name=nome colspan=2/>
| |
| <field name=data_nascimento colspan=2/>
| |
| </group>
| |
| </page>
| |
| </notebook>
| |
| </form>
| |
| </field>
| |
| </record>
| |
| <!-- Cria Action para acessar a view teste_classe_tree_view -->
| |
| <record model=ir.actions.act_window id=action_teste_classe>
| |
| <field name=name>Teste Classe</field>
| |
| <field name=type>ir.actions.act_window</field>
| |
| <field name=res_model>teste.classe</field>
| |
| <field name=view_mode>tree,form</field>
| |
| <field name=view_type>form</field>
| |
| <field name=view_id ref=teste_classe_tree_view/>
| |
| </record>
| |
|
| |
| <menuitem name=Nome do Módulo id=menu_nome_do_modulo/>
| |
| <menuitem name=Cadastro id=menu_cadastro parent=menu_nome_do_modulo action=action_teste_classe/>
| |
|
| |
| </data>
| |
| </openerp>
| |
|
| |
| 3 – Instalando o módulo
| |
| <br>Após desenvolver todo o seu módulo seguindo os passos 1 e 2 você está pronto para realizar a instalação.
| |
| <br>Para realizar a instalação você deve seguir os passos abaixo:
| |
| <br>Encontrar as pastas onde foi instalado o seu OpenERP. Geralmente a estrutura é similar a: /seu_diretorio/openerp/addons/
| |
| <br>Carregar a pasta do módulo modulo_teste no diretório “addons” da sua instalação do OpenERP.
| |
| <br>Ir ao menu Configurações -> Módulos -> Atualizar lista de Módulos.
| |
| <br>Procure o seu módulo informando o nome e clique em instalar.
| |
| <br>Pronto.
| |
|
| |
| <br>Se a sua instalação ocorreu com sucesso você já pode desfrutar e inventar novas funções no seu módulo.
| |
| <br>Se ocorreu algum erro na instalação fique a vontade para postar seu erro ou dúvida em nosso site. Teremos o maior prazer em lhe auxiliar.
| |