xoves, 11 de setembro de 2014

Creación e instalación de un módulo de OpenERP programando en Windows



Nesta entrada explicase cómo crear un módulo de OpenERP programando para a versión 7. Solo  mais sinxelo e básico para instalalo e que funcione, en entradas siguintes verase como introducir os distintos tipos de campos, como crear grupos, como insertar imaxes ou como poñelo “bonito” na medida do posible.

Un módulo de OpenERP consta de 4 arquivos, tres a programar en python e un en XML para as vistas. Para programalo pode facerse con calquier editor de texto, eu utilizo o Notepad ++ que é gratuito e que pode descargarse dende aquí.

Os catro arquivos  colocanse nunha carpeta que levará o nome do módulo, os arquivos de que consta un módulo son:

__init__.py

__openerp__.py

modulo_ejemplo.py

modulo_ejemplo.xml

En versións posteriores como as de odoo no segundo arquivo se pondrá odoo en vez de Openerp previsiblemente.

A continuación vou escribir o código dos 4 archivos para un módulo exemplo. Como se verá, en caso de que se queiran engadir obxectos bastará con modificar tan só os dous últimos arquivos. Ademais haberá que copiar a licenza nos de python tal e como se explica na páxina correspondente deste blog.

__init__.py

# -*- coding: utf-8 -*-
import modulo_exemplo

__openerp__.py

# -*- coding: utf-8 -*-
{
  "name" : "Módulo exemplo",
  "version" : "0.1",
  "author" : "Fernando Vazquez Novoa",
  "website" : "http://ambiental.uvigo.es",
  "category" : "Unknown",
  "description": """Módulo exemplo de programación de módulos """,
  'data': [],
  'depends' : ['base'],
  'update_xml': ["modulo_exemplo.xml"],
  'init_xml' : [ ],
  'demo_xml' : [ ],
  'installable': True,
  'active': False,
}

modulo_exemplo.py

# -*- coding: utf-8 -*-
from osv import osv, fields

class modulo_exemplo_obxecto(osv.osv):
  _name = 'modulo_exemplo.obxecto'
  _description = 'Obxecto'
  _columns = {
    'cadea': fields.char('Campo char', size=200, required=True),
    'cadenaduas': fields.char('Campo char', size=200, required=False),

  }
 
modulo_exemplo_obxecto()

Neste caso como pode verse os dous campos que se  crearon son de tipo char de tamaño 200 e o primeiro deles é para que sexa obligatorio insertalo y o segundo non.

modulo_exemplo.xml

<?xml version="1.0" encoding="UTF-8"?>
<openerp>
  <data>
    <menuitem name="Módulo exemplo" id="moduloexemplo" sequence="90"/>
    <menuitem name="Menú propio" id="moduloexemplo_menupropio" parent="moduloexemplo"/>

    <record model="ir.ui.view" id="modulo_exemplo_obxecto_tree">
      <field name="name">modulo_exemplo.obxecto.tree</field>
      <field name="model">modulo_exemplo.obxecto</field>
      <field name="type">tree</field>
      <field name="arch" type="xml">
        <tree string="obxecto">
          <field name="cadea"/>
          <field name="cadenaduas"/>
        </tree>
      </field>
    </record>

    <record model="ir.ui.view" id="modulo_exemplo.obxecto_form">
      <field name="name">modulo_exemplo.obxecto.form</field>
      <field name="model">modulo_exemplo.obxecto</field>
      <field name="type">form</field>
      <field name="arch" type="xml">
        <form string="obxecto">
          <field name="cadea"/>
          <field name="cadenaduas"/>
        </form>
      </field>
    </record>

    <record id="modulo_exemplo_obxecto_action" model="ir.actions.act_window">
      <field name="name">Obxecto</field>
      <field name="res_model">modulo_exemplo.obxecto</field>
      <field name="view_type">form</field>
      <field name="view_mode">tree,form</field>
    </record>

    <menuitem action="modulo_exemplo_obxecto_action" id="modulo_exemplo_obxecto_menu" sequence="1" parent="moduloexemplo_menupropio"/>

  </data>
</openerp>

Pode que ao copiar o código no blog haya houbese problemas coa indentación, co cal en caso de erro será un factor a tener en conta. Agora haberá que introducir o módulo nunha carpeta chamada modulo_exemplo.

Instalación dun módulo personalizado de OpenERP

1. Para instalar un módulo de OpenERP haberá que pegar a carpeta creada dentro da carpeta “addons” na instalación, que normalmente se atopa nesta ubicación:

C:\Archivos de programa\OpenERP 7.0-20131001-231052\Server\server\openerp\addons

2. A continuación hay que reiniciar o servidor. Para iso no caso de Windows 7 en buscar programas e  arquivos escríbese “servicios”.



Búscase OpenERP e  reiniciase o servidor.


3. Entrase en OpenERP e coas características técnicas do usuario activadas  pulsase en actualizar lista de módulos. A continuación en módulos instalados  introdúcese no buscador o nome do módulo personalizado “Módulo exemplo”.


4. Púlsase instalar e xa temos o módulo personalizado.


Aquí un enlace a Github co código completo:

https://github.com/novooa/PFC_Openerp7/tree/master/openerpnando/modulo_exemplo

Ningún comentario:

Publicar un comentario