1 – Definindo a estrutura de arquivos do módulo
Um módulo do OpenERP obrigatoriamente deve possuir os seguintes arquivos:
Pasta com o nome do módulo (sem acentos e espaços).
Exemplo: modulo_teste
Dentro da pasta modulo_teste os seguintes arquivos:
__init__.py
__openerp__.py
nome_do_modulo.py
nome_do_modulo.xml
Para que serve cada arquivo?
__init__.py – Este arquivo carrega os módulos python, exemplo nome_do_modulo.py
__openerp__.py – Arquivo que contém todos os parâmetros do módulo como nome, descrição, etc.
nome_do_modulo.py – Neste arquivo deverá ser adicionada todas as classes e funções python.
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.
2 – Codificando nosso módulo – Classes e Views.
Bom agora que já sabemos a estrutura básica para criar um módulo para OpenERP vamos começar a escrever nosso código.
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()
Observação: A classe criada no código acima é apenas um exemplo. Você deverá criar as classes e campos conforme a sua necessidade.
nome_do_modulo.xml
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/>
<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>
<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>
<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/>
</openerp>
3 – Instalando o módulo
Após desenvolver todo o seu módulo seguindo os passos 1 e 2 você está pronto para realizar a instalação.
Para realizar a instalação você deve seguir os passos abaixo:
Encontrar as pastas onde foi instalado o seu OpenERP. Geralmente a estrutura é similar a: /seu_diretorio/openerp/addons/
Carregar a pasta do módulo modulo_teste no diretório “addons” da sua instalação do OpenERP.
Ir ao menu Configurações -> Módulos -> Atualizar lista de Módulos.
Procure o seu módulo informando o nome e clique em instalar.
Pronto.
Se a sua instalação ocorreu com sucesso você já pode desfrutar e inventar novas funções no seu módulo.
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.