Hola amigos quiero compartir con ustedes como crear nuevos módulos en OPENERP 7, en modo gráfico, esto es con fines educativos, ya que si queremos crear un módulo la forma correcta es usar el FRAMEWORK de OPENERP que es OPENOBJECT, aquí se explica como hacerlo.

1. Vamos a partir de que tenemos una nueva base de datos recién creada.

ini

2. Activamos OpenERP en modo desarrollador, haciendo clic sobre el nombre de usuario de Administrador/Acerca de OpenERPmodo

Hacemos clic en Activar modo desarrollador

mododesa

3. Hacemos clic en la pestaña Configuración/Técnico/Estructura de la base de datos/Modelos, y elegimos Crear 

Los campos a rellenar son:

Descripción del modelo:   Aquí colocamos un nombre a nuestro modelo

Modelo: Es el nombre con la cual instanciaremos nuestro modelo dentro de cualquier parte de OpenERP

demo

4. Luego agregaremos un elemento al modelo, que no es mas que un campo en el formulario que estará asociado a este modelo, para esto vamos a la parte inferior y hacemos clic en Añadir un elemento y nos mostrará la pantalla siguiente.

Los campos importantes a rrellenar son los de fondo morado.

Nombre: Esta propiedad es importante ya que sirve para instanciar el campo en la vista.

Etiqueta campo: Es la etiqueta propiamente del campo.

Una vez rellenado estos campos damos Guardar y Cerrar

campo

5. Como vemos en la imagen siguiente ya tenemos un campo creado y le damos Guardar

camp

6. Paso siguiente hacemos clic en Crear un Menú, este está ubicado en la parte inferior de la misma ventana y nos mostrará la imagen siguiente, luego debemos de rellenar los campo necesarios:

Nombre de menú: Es el nombbre propiamente del menú

Menú padre: Este nombre es el que aparecerá en la parte superior, como una pestaña nueva, al costado de la pestaña Mensajería.

Para nuestro caso en el campo Menú padre elegimos crear y editar

menu

7. Luego de elegir crear y editar de la imagen anterior nos muestra la ventana siguiente, aquí debemos de rellenar los campos siguientes:

Menú: nombre del menú

Acción: aquí elegimos(ir.acciones.acc_ventana) luego crear y editar.

acc

8. Luego de hacer clic en Crear y editar de la imagen anterior, tenemos la ventana siguiente que nos permitirá crear una nueva acción

Nombre de acción: un nombre que identifique a dicha acción

Objeto: En este campo colocamos el nombre del objeto o modelo que creamos incialmente, que para nuestro caso es x_demo, y finalmente damos Guardar.

nuevaAC

Nuevamente damos guardar

guarfa

Finalmente damos clic en Crear Menú:

gua

9. Actualizamos nuestro navegador y veremos nuestro módulo creado.

actua

10. Asociando vistas al Módulo.

Si hacemos clic en Administrar Vistas

vstas

Veremos que no hay ninguna vista asociado a nuestro modelo, cerramos la ventana.

vista_mode

11. Vamos a crear una vista, para esto nos vamos a la pestaña Configuración/Técnico/Interfaz de usuario/Vistas  y hacemos clic en Crear.

Los campos rellenar son:

Nombre de la Vista: un nombre que identifique a la vista

Objeto: a qué objeto estará asociado esta vista, para nuestro caso es x_demo

Y en la pestaña Estructura, debemos de modificar el XML la etiqueta <field name=”x_name”/>, donde x_name es el campo que creamos para el objeto x_demo, tal como muestra la figura siguiente.

demo_de

12. Guardamos los cambios y si regresamos al paso 10 veremos que ya hay una vista asociado a nuestro modelo

vista

13. Agregando un vista tipo formulario a nuestro objeto.

En la imagen hacemos clic en Crear y elegimos tipo de vista: Form, tal como muestra la figura.

form

14. Guardamos y hacemos clic en Cerrar (X) de la parte derecha de las dos ventanas abiertas y luego se actualizará el navegador y si repitimos el paso 10, veremos que ya tenemos dos vistas asociadas a nuestro objeto.

onjt

15. En la imagen anterior podemos agregar nuevos campos a la vista formulario, haciendo clic en la parte inferior en Editar y luego en (+).

agrega

Hacemos clic en Nuevo Campo

nuevoC

16. Rellenar los campos necesarios.

rel

17. Si les saliera el siguiente error le dan aceptar.

nu

18. En la imagen  damos Actualizar

nuevoC

19.Otra ves actualizar y luego cerramos la venta.

actu

 

20. finalmente veremos un campo nuevo agregado a nuestro formulario.

final

 

Categorías: Odoo ERP v7

Javier Salazar Carlos

Soy Ingeniero de Ingeniería de Sistemas, egresado de la Universidad Nacional del Callao, especialista en Tecnologías de la Información y de las Comunicaciones (TICs).

47 comentarios

Faustino Vega Castillo · 02/07/2013 a las 3:01 pm

Gracias por compartirnos y facilitarnos las labores de

Oscar Cascante · 12/07/2013 a las 12:33 am

Estoy iniciando la revisión de openerp, sin embargo después de seguir los pasos indicados en el blog, he podido instalar el openerp pero cuando ejecuto la opción “activar modo desarrollador”, no me aparecen las opciones técnicas. Es decir, no aparece el menú Técnico/Estructuras…etc.”
Existe algún módulo que deba instalar primero??

Gracias por cualquier ayuda

Oscar Cascante · 12/07/2013 a las 4:29 pm

Resuelto, no sabía que se requiere modificar el usuario administrador para que tenga derechos “technical features” para poder accesar este menú.

    Javier Salazar Carlos · 15/07/2013 a las 3:06 pm

    Si es cierto el usuario tiene que tener activado “Características técnicas” para poder ingresar en modo desarrollado.

Oscar Cascante · 14/07/2013 a las 12:54 am

Ok, siguiendo con el ejemplo, tengo dos consultas.
1- A que se refiere con x_optica en el paso 11, supongo que debe ser x_demo.
2- Al llegar al paso 20, al ejecutar la vista para incluir un nuevo registro, solo me presenta el campo “nombre”. He actualizado varias veces la página, he reiniciado el firefox, he limpiado el caché, y no aparece el segundo campo “apellidos”.
Además, he revisado la configuración de la vista y si aparece el campo “apellidos” como un campo “char”.

    Javier Salazar Carlos · 15/07/2013 a las 3:05 pm

    Efectivamente había un error de tipeo en el paso 11, ya que no era x_optica sino x_demo, bueno ya ha sido corregido, por otro lado es muy raro que no te haya salido luego de haber llegado al paso 20, recuerda que hay dos tipos de vista una tipo árbol y otra tipo formulario, es muy probable que hayas agregado el campo en vista tipo árbol y en la vista tipo formulario, verifica bien eso.

Oscar Cascante · 15/07/2013 a las 4:38 pm

Siguiendo con el ejemplo, en el paso 13 después de presionar el botón “guardar” y cerrar la pantalla(x), no presenta ninguna nueva forma creada. También he actualizado el navegador varias veces e incluso he reiniciado el openerp y aún no presenta la nueva form.
Esto lo he hecho en openerp 7, linux mint 15 64 bits, y en openerp7, windows xp 32 bits. En ambos casos sucede igual.

    Javier Salazar Carlos · 15/07/2013 a las 6:29 pm

    Una ves que ejecutes el paso 13, debes de cerrar, en un principio pareciera que no está, pero cuando vuelves a ingresar verás la vista tipo formulario creada.

Oscar Cascante · 15/07/2013 a las 10:13 pm

Saludos Javier, eso es exactamente lo que he hecho y la vista no aparece.

    Oscar Cascante · 15/07/2013 a las 10:38 pm

    Después de una actualización automática en mi Linux realizada hace unos minutos, donde se actualizó el openerp, realicé otra vez todos los pasos ( lo he hecho como 10 veces antes ) y ahora si aparece la forma.
    Voy a seguir realizando pruebas creando una estructura con más campos desde el inicio para ver como se comporta.
    Quisiera saber si tienes algún ejemplo que tenga vinculación de dos tablas y que use tabs en la vista.
    Gracias por tu ayuda.

      Javier Salazar Carlos · 16/07/2013 a las 2:19 pm

      Hola Oscar si deseas realizar módulos mas elaborados debes de hacer usando código python y xml.
      te envío un video intersante video:

      Ver video aquí

        Oscar Cascante · 16/07/2013 a las 9:06 pm

        Gracias de nuevo Javier, ya estoy comenzando a entender la parte de xml que es lo que me faltaba. Te comento que al parecer el problema de la form que no aparecía no tiene nada que ver con la actualización de openerp.
        Hice 5 pruebas ( 5 veces el mismo modulo recreando la base de datos ) y algo interesante es que si cambio el campo x_name por x_nombre, la pantalla no aparece y viceversa.
        Talvéz tengas tiempo para hacer la prueba pero estoy casi seguro que ese era el problema anterior.
        En fin, de nuevo gracias por la ayuda.

          Javier Salazar Carlos · 17/07/2013 a las 4:17 am

          Efectivamente, ese detalle hay que tener en cuenta. siempre el primer campo debe tener como nombre x_name, si se cambia no funciona.

Oscar Cascante · 17/07/2013 a las 1:00 pm

Javier, he creado un modulo con 5 campos en una tabla, la vista “tree” y la vista “form” y efectivamente funciona correctamente.
Quisiera saber si conoces cual es la forma que al incluir un registro en el form, la vista se actualice automáticamente ya los registros que incluyo no se muestran en la vista de tree hasta que doy refrescar.
Gracias de nuevo.

    Javier Salazar Carlos · 02/09/2013 a las 4:16 pm

    Tendrías que trabajar en construir el módulo desde la misma fuente, es decir construir el módulo no en modo gráfico sino como tradicionalmente de hace full código.

jimbo · 20/08/2013 a las 10:07 pm

Buenas tarde, que buen tutorial, una consulta: ¿Como haríamos en el caso que tengamos varios campos a la hora de hacer la vista y modificar la estructura xml? Como solo tenes un campo pones x_name y listo, pero si tengo n cantidad de campos como lo separamos, con coma(,), espacio? Lo he intentado de las dos forma y nada, tal vez me podrías ayudar en esa parte.

    Javier Salazar Carlos · 02/09/2013 a las 4:09 pm

    En el ejemplo que he hecho es el campo x_name, si fuera mas campos la lógica es el mismo.

    Primero debes de crear el campo en la base de datos, luego en el archivo xml llamarlo.

mfranco · 20/09/2013 a las 3:55 pm

Muy bueno el tutorial, ahora bien mi consulta es si es que existe alguna manera de impedir que al actualizar o reinstalar el modulo se borren todas las modificaciones hechas con este metodo.

gracias.

    Javier Salazar Carlos · 04/10/2013 a las 10:12 pm

    No hay forma de impedir que se borren los cambios cuando se actualiza el módulo o se reinstale.

    Para ello sugiero que construyas o agregues los campos por medio de modulos hechos desde el mismo codigo python, es decir que uses en propio framework de openerp para hacer los modulos.

Javier Bustamante · 03/10/2013 a las 3:55 pm

buen tutorial amigo pero tengo una pregunta esto es en modo grafico, talves sabes como se hace desde eclipse con python? seria de gran ayuda estoy buscando informacion sobre este tema ……

    Javier Salazar Carlos · 04/10/2013 a las 10:16 pm

    Hola amigo Javier el hecho de que uses Eclipse no te ayudara en la construcción de módulos, sugiero que uses el propio framework de desarrollo de módulo de OPENERP.

Ana Alon · 07/10/2013 a las 4:07 pm

Gracias Javier por tu aporte!!!!
Una duda, en el paso 11 me quedo atascada, no me crea la vista, introduzco nombre, objeto y cambio el x_name del xml y me da el siguiente error:
ValidateError
Ha ocurrido un error mientras se validaban los campo(s) arch: ¡XML inválido para la definición de la vista!

Y no puedo crear la vista.
Gracias, un saludo

    Javier Salazar Carlos · 19/11/2013 a las 11:26 pm

    Buenas tardes revisa bien el XML, lo mas probable es que estes escribiendo algo mal.

      Mamen · 22/11/2013 a las 12:23 pm

      Hola me pasa exactamente el mismo error de XML invalido, y lo único que he modificado es el x_name por el de mi modulo creado anteriormente. Entonces qué hay que revisar del XML sino hemos modificado nada mas?
      Muchas gracias por el aporte y por su ayuda.

Luis Antonio · 17/10/2013 a las 3:12 pm

Hola buenas tardes, podrian indicarme como activar las carateristicas tecnica para que apareceza en el menu ya que no puedo visualizar en el menu Configuración/Técnico.

    Javier Salazar Carlos · 19/11/2013 a las 11:37 pm

    Inicia sesión como administrador luego dirígete a la pestaña Configuración/Usuarios/Usuarios, eliges el usuario para este administrador y luego te vas a PERMISOS DE ACCESO en la parte inferior verás USABILIDAD y dentro de ella hay una opción CARACTERISTICAS TECNICAS (activar) luego actualizas tu navegador y veras los cambios.

Fernando Vázquez · 24/11/2013 a las 11:22 pm

Hola.En primer lugar me gustaría agradecerle mucho sus tutoriales, tanto esta como otras entradas me están ayudando muchísimo,y si me contestase un par de dudas más si es que aún se puede.

Por una parte me quedo atascado en el paso 13, sencillamente no me la guarda, no se si es que me he equivocado en algún paso anterior o que, pero bueno realmente para lo que yo quiero hacer aunque esté en arbol serviría.

Mi duda más importante es que cuando creas el módulo,como administrador lo ves, pero para el resto de usuarios en el apartado de marcar lo que pueden ver o lo que no no aparece el nuevo módulo. He pensado que quizas se haga añadiendo un nuevo campo a esa vista, algo que sé hacer gracias a otro de sus tutoriales, sin embargo no sabría que tipo de campo poner para que me lo relacionase con un módulo, porque una many2one lo haría con un objeto¿no?

un saludo y muchas gracias

    Javier Salazar Carlos · 26/11/2013 a las 1:24 pm

    La creación de módulos en modo gráfico lo escribí mas que todo con fines educativos, ya que para un sistema en producción no es recomendable.

    Recomiendo que para crear un módulo usar su propio framework de OPENERP que es OPENOBJECT.

    Aquí un avance Aquí

      manuel quintero · 18/12/2013 a las 7:04 pm

      muy buen tutorial me gustaria que me dieras un consejo lo que pasa es que necesito agregar en el punto de venta el campo cliente que me permita traer la lista de clientes al momento de hacer la venta en el pos y luego poder listar ver las ventas asociadas a ese cliente pero usanto el tpv ya que por defecto no viene incluida

Alonso · 23/12/2013 a las 9:28 am

Muchas gracias por el tutorial!!!! mi duda esta en cómo crear un menú personalizado pero con elementos sueltos del menú/configuración, sería como hacer un traspaso….¿en qué momento se hereda? Gracias, un saludo

    Javier Salazar Carlos · 23/01/2014 a las 4:07 am

    Te recomiendo hacerlo no de modo gráfico sino que empieces a desarrollar desde el código fuente usando el framework openobject

Sadyht · 09/01/2014 a las 9:17 am

Grandioso aporte. Sigue adelante

blakcmouth · 11/01/2014 a las 5:06 pm

Muchas gracias por la información , me puedes colaborar con la siguiente inquietud ..como puedo ver el código creado en modo grafico , quedaria en la carpeta addons?

    Javier Salazar Carlos · 23/01/2014 a las 4:08 am

    No no queda en addons, para fines de desarrollo en producción en entornos reales debes de desarrollar desde el framework propio de openerp.

    Estoy preparando la publicación de un articulo sobre tema.

Mary · 23/01/2014 a las 7:32 pm

Hola, excelente tutorial.
Tengo una duda…
Una vez que tengo agregado el nuevo campo en mi formulario, como le puedo hacer para que el valor de este campo también se vea reflejado en otro modulo,
ejemplo, si agregue el campo en el modulo de compra/Requisicion y quiero que aparezca en el modulo compra/Orden de compra, que características puedo agregar al momento de crear el campo?

Jesus · 14/02/2014 a las 4:35 pm

Buenas a todos,
Quería comentar una propuesta.
He visto por aquí mucho sobre desarrollo en OpenERP y me pregunto a alguien le parecería bien a cambio de dinero desarrollar un pequeño módulo.
La cuestión es que tengo mucho estrés y estoy muy agobiado con el curso y no me da tiempo a investigar y ha desarrollar un módulo.
Agradecería mucho una respuesta.

Si alguien está interesado podríamos llegar a un acuerdo, nos mantendríamos en contacto.

Un saludo y gracias.

Fernando · 12/03/2014 a las 10:12 am

Muchas gracias por tu tutorial, me ha ayudado mucho.

Se puede exportar lo que hemos hecho a otro OpenERP???
Donde queda rastro de lo realizado???

Muchas gracias.

    Javier Salazar Carlos · 18/03/2014 a las 2:17 am

    Hola esos cambios solo se quedan en la base de datos que estas trabajando si quisieras pasar a otra base de datos no es posible, el tutorial esta hecho con fines de comprender como funciona OPENERP, ya que para desarrollar modulos se debe de usar su framework, te recomiendo que leas el ultimo tutorial que he publicado.

Fernando · 30/04/2014 a las 3:38 am

Gracias

hiko_hitokiri · 06/05/2014 a las 8:57 pm

por alguna razon no me crea la vista formulario podria haber alguna razon

Anibal Duré · 03/06/2014 a las 7:02 am

Se puede aplicar esto a tpv … en el caso de que se pueda como ?, al tpv convensional necesito agregarle la posibilidad de manejar clientes, tarifas, e impresion de factura a partir del pedido generado con el tpv

dario vela · 15/07/2015 a las 3:09 pm

Como te va amigo me ayudo muchísimo este curso, muy bueno y efectivo… solo una consulta sabes como sacar un reporte de los datos ingresados ?? por ejemplo si selecciono los 5 registros que salen mandar a imprimir sabes como hacer eso, e intentado con vistas con accione con todo pero no me aparece el botón de imprimir, seria de mucha ayuda y gracias de nuevo por este tuto……

    Javier Salazar Carlos · 16/07/2015 a las 8:26 am

    Hola Dario no comprendo muy bien tu pregunta, por otro lado sobre que versión de Odoo trabajas?

      dario vela · 16/07/2015 a las 11:28 am

      Básicamente es poder imprimir un reporte de todos los datos ingresados, por ejemplo si tengo mi modulo que ingresa nombre y apellido y tengo 10 registros selecciono 5 registros y quiero que se impriman los 5 registros en un formato de impresión a definir.

      dario vela · 16/07/2015 a las 11:29 am

      Trabajo en Odoo 8

Justin · 23/09/2015 a las 11:21 am

Hola, me gustaria saber como puedo enviar un archivo plano a una carpeta del cliente cuando realizo una impresion , ejemplo imprimo una factura sea enviada automaticamente a una carpeta del usuario como archivo plano (xml).

saludos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

code