Jasper Reports en OpenERP

En el proyecto en el que estoy metido de implantación de OpenERP en una empresa de servicios como en cualquier implantación una de las tarea principales es la parametrización de los informes. Como vengo del mundo de Openbravo y conozco bastante el funcionamiento de iReports (la interfaz gráfica para crear informes Jasper) he decidido instalar y el soporte de informes Jasper para OpenERP tal y como explican el curso de AulaERP. En el curso explican como instalar el módulo, preparar el Datasource a partir del XML del modelo de datos producido en OpenERP, cambiar el lenguaje de consulta para importar los campos y por último como llevar ese informe a OpenERP.

El primer informe que he creado siguiendo este curso ha sido una factura, así que al crear el «Data Template» lo he hecho sobre el modelo de Facturas con una profundidad de 4 (lo he intentado con profundidad de 5 y no he podido, demasiados datos). El primer problema que me he encontrado ha sido que sólo se imprimía la primera linea de la factura, esto no esta en el curso, pero es necesario indicarle al informe sobre que campo iterar. Para esto pinchamos con el botón derecho del ratón sobre el informe y pinchamos en propiedades.

En la ventana que aparece buscamos el campo Properties y pinchamos en el botón de la derecha «…» para ver las propiedades.

En esta ventana pinchamos el botón «Add» para crear una propiedad con nombre OPENERP_RELATIONS y valor [‘invoice_line’] con corchetes y comillas simples.

Con esto ya tenemos el informe configurado para iterar sobre las líneas de la factura, siguiendo el curso de AulaERP podemos subirlo a OpenERP para ejecutarlo. En próximas entradas voy a explicar como dar formato a los campos numéricos para mostrar los importes con dos decimales, y como añadir un subinforme para mostrar las lineas de impuestos de la factura.

23 comentarios sobre “Jasper Reports en OpenERP

  1. Gustavo

    Hola Angel, muchas gracias por el post, ahora entiendo lo que el manual de aulaerp decía sobre «agregar un nuevo tag OPENERP_RELATIONS…». Bueno mi problema es que no puedo hacer que aparezca el contenido de los campos m2o en un reporte, simplemente me salen vacíos.

  2. Melvin

    Hola Angel, estoy interesado en utilizar Jasperreport con OpenERP, pero no he podido instalarlo en UBUNTU 10.04. El curso ya no esta disponible en AulaERP, como podrias ayudarme para iniciarme con esta herramienta tan interesante.

  3. Angel Moya Autor del artículo

    Hola, parece que han reorganizado los cursos de aulaerp.com y ahora el curso de jasper está dentro del curso de empezar a programar con Openerp .

  4. Gabriel

    Hola Angel, estoy tratando de hacer un reporte de Productos que me muestre la imagen que tiene adjunta cada uno y no logro conseguirlo, alguna idea? Saludos y gracias!

  5. Angel Moya Autor del artículo

    Hola Gabriel, depende de como tengas las imágenes en OpenERP, puedes tenerlas en binario en base de datos o como una url… si lo tienes como url y no esta en la misma maquina no se si sera sencillo hacer Jasper, hace tiempo que no lo uso… de todas formas lo principal es localizar las imágenes y saber si las almacenas en base de datos o la url, si tienes el binario en base de datos es mas sencillo

  6. BHBILBAO

    Buenos dias,
    para que es necesario añadir la linea OPENERP_RELATIONS???
    que significa itinerar???

    A mi me funciona bien sin eso que has explicado.

  7. Angel Moya Autor del artículo

    Buenos días,
    iterar significa recorrer todos los «items», es decir una factura se compone de una cabecera que se relaciona con una serie de lineas, si no se añade el campo OPENERP_RELATIONS sólo imprime la primera linea, al iterar lo que hacemos es recorrer todas las lineas para que las muestre.

    Saludos

  8. German Ponce Dominguez

    Que tal amigo Angel Moya tengo un problema al multiplicar 2 campos en ireport para obtener un costo total los campos son costo unitario y cantidad y la multiplicacion me daria el costo total pero en ireport no me acepta multiplicarlos normalmente por ejemplo $F{Cost_Price-standard_price2}*$F{Ctdad_producto-product_qty2}, espero me puedas ayudar te lo agradecere! Saludos

  9. Jesus Ramiro

    Saludos Angel.

    A ver si me puedes resolver un problema. Estoy con OpenERP7.
    En el pie de la factura quiero mostrar el detalle de las lineas de IVA. Cuando la factura tiene varias IVA’s claro.
    -Como podría iterar sobre las lineas de IVA???
    -Se podría hacer con Datasets y tablas???
    -Tendría que crear un subreporte????
    -Seria con otra consulta SQL a la BD dentro del reporte???

    Me podrías dar alguna pista de cual seria el camino correcto?
    Muchas gracias.

  10. Angel Moya Autor del artículo

    Buenas, iterar sobre el IVA sería igual que iterar sobre las lineas de facturas.

  11. marcelo

    Angel,
    me puedes indicar por favor como se puede hacer para mostrar las imagenes que están en la base de datos de Openerp en informes Jasper? entiendo que están codificadas en base64, ¿cómo se hace para poder mostrarlas?

  12. tony2020

    buenos dias con la molestia como puedo realizar en jasper un indice para imprimir un reporte de la ficha de productos
    gracias

  13. esthe

    Me gustaria saber como al seleccionar 2 informes en openerp los imprima juntos en una hoja pdf y no uno en cada hoja!

  14. Laurien

    Por favor, alguien me puede facilitar el módulo Jasper reports para Openerp 6.1, que no lo encuentro en ningun lugar, por favor….

  15. Sandro Herrera Muñoz

    hola muy buen a aporte me gustaría saber si alguien maneja el formato americano que es #,##0.00 puesto que en openerp con mi usuario en español me formatea al revés #.##00,00 el impreso en pdf pero con el usuario con idioma ingles me sale correcto la impresion de numeros en jasper reports pero mi idioma es el español alguien a podido cambiar el formato de numero en el idioma español para q acepte el formato q uno desee.

  16. Angel Moya Autor del artículo

    Hace tiempo que no trabajo con los informes de Jasper, pero desde iRerport también puedes indicar el formato en el que quieres mostrar los números, en principio creo que utiliza el formato del idioma del usuario, pero si no es así lo llevará en el formato americano y habrá que transformarlo al idioma que se desee.

  17. Alejandro Santa Cruz

    cómo puedo hacer para iterar las lineas de un albaran de salida, estoy haciendo el reporte a través de un xpath de ireport, algo así como el ejemplo que dieron de las facturas pero yo lo necesito con los albaranes que me muestre todas las lineas, me muestra la cantidad de lineas pero me repite la misma linea numero uno.

  18. Nicolás

    Hola, que tal todos, tengo una duda a ver si me podéis ayudar.

    He creado varios reportes con jasper y todo genial pero se me presenta un problema con un modelo.

    Desde pedido de compras necesito imprimir las etiquetas de productos de dicho pedido, hasta ahí todo bien, lo que me gustaría saber es como puedo hacer que una etiqueta se repita según la cantidad de productos de una línea.

    Saludos

  19. Roseanna

    Great piece of writing!I have a relatively dumb quetion, but didn’t play enough Mass Effect to get the answer. How do Assari preserve themselves as Species? I recall somethign between them an Krogans, but can’t really remember.And I sure support Jon1yn&#82h7;s opinion. The Krogans as model of a male race are a makeing a point in that direction too. Actually BioWare seems to have used some religious, cultural, folcloric or pop archetypes.

  20. Peter

    Hola Angel necesito mostrar en el encabezado de mis reportes hechos en jasper la imagen del logo de la compañia a la que pertenesca el usuario autenticado… estas imagenes estan almacenadas en base de datos como binarios… he tratado pero me da error, no se si es el Expression Class de la imagen en la plantilla o será que el dato lleva algun tratamiento especial antes de enviarselo como parametro a la plantilla… por favor si tiene algun ejemplo me sería de mucha ayuda… saludos.

  21. Cristiano Hernandez

    Un placer saludar, se que esta tema ya es un poco antiguo, pero tengo el problema que mi formato de rdenes de pedido no me da mas que la primera linea, hice el procedimiento que xplicas pero me da el siguiente error:

    invalid syntax
    (», 1, 2, ‘[\xe2\x80\x98invoice_line\xe2\x80\x99]’)

    ,invalid syntax
    (», 1, 2, ‘[\xe2\x80\x98invoice_line\xe2\x80\x99]’),

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.