lunes, 16 de marzo de 2015

Como desarrollar un módulo en odoo.


Contenido de un módulo:

Para proceder a crear nuestro primer módulo tenemos que descarga la carpeta odoo-8.0 en la siguiente ruta https://github.com/odoo/odoo

Se debe crear una carpeta llamada local_addons en (carpeta personal) allí iniciaremos a crear nuestros módulos. 

 
 
Se procede a crear dentro (local_addons) una nueva carpeta con el nombre de nuestro módulo ejemplo modo_prueba.




Luego en la carpeta (modo_prueba) debemos de crear cuatro archivos fundamentales para crear el primer modulo instalable.


– Crear un archivo con la descripción del módulo: __openerp__.py
– Crear los archivos Python que contendrán los objetos.
– Crear los archivos xml para la obtención de datos (vistas, menús, datos de ejemplo,...)
- Opcionalmente crear listados, asistentes y flujos de trabajo.
Descripción detallada de cada uno de los archivos


 
_openerp__.py: Cualquier módulo que creemos debe contener un archivo con este nombre__openerp__.py el cual debe ubicarse en la raíz de nuestro módulo.

Archivo __openerp__.py





Modo_prueba.py describiremos el nombre de la clase y cada uno de los atributos que queremos ver en el módulo.

Para la declaración de nuestro objeto podemos comenzar con los siguientes atributos:
• boolean
• integer
• float
• char

Archivo modo_prueba.py  




Los archivos xml ubicados en el directorio del módulo se pueden utilizar para modificar la estructura de la base de datos también son utilizados para otros propósitos entre los que podemos destacar:

Cargar datos iniciales o datos de demostración.
Declaración de vistas.
Declaración de listados.
Declaración de asistentes.
Declaración de flujos de trabajo.

Formulario form

El record tiene la acción de almacenar vistas

 Archivo modo_prueba_view.xml

El segundo record tiene la misma descripción que el primero, solo que este es un formulario tree.



 
En esta etiqueta creamos un id_ del action , hacemos llamados de los formularios form y tree para que estos puedan ejecutarse en la vista.


 





 
El archivo __init__.py, como cualquier módulo de Python, es ejecutado al inicio del programa. En el incluiremos los archivos de Python que necesiten ser cargados. Por lo tanto, si creamos un archivo "modulo.py", que contiene la descripción de nuestros objetos, la incluimos en una línea en __init__.py
 


Actualizamos el servidor

En esta ruta estamos ingresando a la carpeta odoo-8.0,con el comando openerp-server estamos ejecutando el  servidor de odoo, y el "-r odoo" es el usario de postgre



Luego cargamos el servidor localhost/8069 presionamos Enter


Una vez ya cargado buscamos en la configuración el modulo que creamos.




 Actualizamos el modulo en donde dice (Actualizar lista de módulos)





Luego realizamos la instalación a través de la consola

La ruta que se muestra en la imagen es la dirección donde se encuentra nuestro modulo. Con los caracteres (/,..) salimos de la carpeta odoo-8.0 y entramos a la carpeta local_addon. El “–d odoo” es el nombre de la base de datos con la cual se está trabajando, y el “–i modo_prueba” sería la carpeta donde se localizan los módulos y procedemos a instalar
 

 volvemos a cargar el servidor

 



Nos aparecerá ya instalado




Así  se muestra la gráfica de nuestro primer módulo:

La vista for: así se muestra la vista


La vista tree: así se muestra la vista







14 comentarios:

  1. Gracias por tu ayuda me servicio mucho buena documentacion

    ResponderBorrar
  2. Oye muy buen aporte pero porque instalas el modulo desde consola y no desde interfaz de usuario? Que diferencia tiene? Algo especial?

    ResponderBorrar
  3. Oye muy buen aporte pero porque instalas el modulo desde consola y no desde interfaz de usuario? Que diferencia tiene? Algo especial?

    ResponderBorrar
  4. Oye muy buen aporte pero porque instalas el modulo desde consola y no desde interfaz de usuario? Que diferencia tiene? Algo especial?

    ResponderBorrar
  5. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
    Respuestas
    1. Ninguna diferencia, lo instalé por consola porque es mas rápido pero puedes hacer la instalación de las dos maneras. Por la consola o por el play store

      Borrar
  6. hola Marilyn, tengo un problemita y me gustaria que me aclares porfavor:
    el archivo modo_prueba.xml este debe contener los 3 script que mencinaste
    ir.ui.view de tipo form
    ir.ui.view de tipo tree
    ir.actions.act_window

    todo esto va dentro del modo_prueba.xml ?? ya que no me deja ejecutar esta vista

    ResponderBorrar
    Respuestas
    1. Buenas noches amigo Justin Campos efectivamente debes tener esos tres ...... más los

      En este repositorio te puedes guiar, que es del compa Jose Mancilla.

      https://github.com/jdmm/local_unefa

      Borrar
    2. Buenas noches amigo Justin Campos efectivamente debes tener esos tres record ...... más los menuitem

      Borrar
    3. Buenas noches amigo Justin Campos efectivamente debes tener esos tres ...... más los

      En este repositorio te puedes guiar, que es del compa Jose Mancilla.

      https://github.com/jdmm/local_unefa

      Borrar
  7. buen dia amigos, disculpen este proceso seria igual en windows?

    ResponderBorrar
    Respuestas
    1. Saludos compa de parte de todo el equipo de JPB.
      El proceso sería diferente..., pero te invitamos hacer un doble booteo en tu máquina con alguna distribución de linux. La mayoría de nuestro compas de este colectivo nacieron usando windows, por alguna razón se vieron en la necesidad instalaron un linux... luego que pasas la transición de usabilidad de un sistema operativo a otro, y aprendes linux!! por muy pocas razones de necesidad vuelves a utilizar windows.

      Lo que vas a tardar aprendiendo como hacer este proceso en windows donde creo que en español hay poca información... inviértelo en aprender lo básico en linux, que sera lo suficiente que necesitas para hacer este proceso.

      Disculpa por darte una respuesta algo extensa y un poco fuera de tu interrogante, quizás eres conocedor de linux y solo querías saber el proceso era igual para windows.

      Borrar
  8. Hola amigos, excelente post! Tengo una duda, si ya yo tengo el modulo que descargue desde la pagina de odoo. Como puedo instalarlo? Ya ubique las carpetas dentro de addons, verifique que la configuracion estuviera para esa ruta. Le di al sistema en actualizar lista de modulos pero NADA. no me las muestra! A que se debe? estoy haciendo algo mal?

    ResponderBorrar
    Respuestas
    1. Saludos Eduardo, gracias por seguirnos!

      Verifica bien la ruta, pues la mayoría de los módulos se estructuran de la siguiente forma: mi_proyecto/addons/mi_modulo, en la ruta del path debes asegurarte llegue hasta mi_proyecto/addons. En segundo caso revisa el __manifest__.py Ó __openerp__.py que la opción 'installable': True, esté establecidad en True.

      Borrar

"Hay una fuerza motriz más poderosa que el vapor, la electricidad y la energía atómica. Esa fuerza es la voluntad"- Albert Einstein


Tú comentario nos ayuda a Mejorar..... Gracias!!!