Criar novo módulo

Revisão de 18h10min de 6 de janeiro de 2014 por Gabriel de Avila Carranza (discussão | contribs) (Criou página com '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 ...')
(dif) ← Edição anterior | Revisão atual (dif) | Versão posterior → (dif)

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.