Desenvolvemento de componentes

De Manuais Informática - IES San Clemente.
Saltar a: navegación, buscar

Índice


Introdución a Python

Para crear novos módulos en Odoo utilizamos a linguaxe de programación Python.

Introdución a la programación con Python - Andrés Marzal e Isabel Gracia

The Python Language Reference

The Python Standard Library


  • Practicamos creando un pequeno programa, par.py, que recolle números do teclado e responde se son pares ou impares:
01CodigoPar.png
02ExecucionPar.png


  • Creamos unha segunda versión cunha función propia:
03CodigoParFuncion.png
04ExecucionParFuncion.png


  • Para finalizar, creamos unha terceira versión formada por:
    • Un módulo de funcións propias, chamado funcions_novagalaxia.py onde gardamos a función creada no punto anterior.
    • O programa par_final.py que importa e utiliza esa función.
05ModuloFuncions.png
06CodigoParFinal.png


Creación de módulos Odoo

Vamos crear un módulo novo: unha axenda telefónica.

  • Movémonos ao directorio /usr/lib/python2.7/dist-packages/openerp/addons, onde están todos os módulos da aplicación.
  • Creamos o directorio axenda.
  • Dentro del, creamos o ficheiro __init__.py que chama ao ficheiro principal do noso paquete: axenda.py. Grazas a __init__.py, o módulo é recoñecido como tal por Odoo.
07init py.png


  • Creamos o ficheiro __openerp__.py coa descrición do módulo (dicionario):
08openerp py.png


  • Creamos o ficheiro axenda.py (modelo e controlador). Define a clase axenda que é unha táboa na BD con varias columnas:
09axenda py.png


  • Unha forma de comprobar que non haxa erros nos ficheiros *.py, é executándoos con python:
python __init__.py
python __openerp__.py
python axenda.py


    • Unha vista de formulario e outra vista de árbore:
10vista xml vistas.png


    • Accións. Ao facer clic nunha opción do menú, a acción vai abrir a vista correspondente):
11vista xml accions.png


    • Menú, submenú e opcións:
12vista xml menu.png


  • En Odoo: actualizamos a lista de módulos, facemos clic en Módulos locales, procuramos o módulo axenda e o instalamos.
13InstalarModuloLocal.png


  • Se houber erros no ficheiro xml, saberémolo neste momento (a mensaxe de erro é moi longa pero temos que fixarnos na última liña). Neste exemplo especificouse mal a codificación utf-8:
14ErroNoXML.png


  • Outro erro típico: "Ha ocurrido un error mientras se validaban los campos arch: Invalid XML for View Architecture!". A causa é esquecer inserir espazos en branco antes das "/" de cerre.


  • Se todo vai ben, deber aparecer o novo menú Axenda coas dúas vistas deseñadas. Inserimos datos na axenda:
15InserirDatos.png


  • E para finalizar, comprobamos o resultado:
16ResultadoAxenda.png


Fontes: [1] [2] [3]