El manejo de Reportes con Jasper Reports en OpenERP se dejo a un lado desde la versión 7.0 pero es una excelente opción al momento de crear reportes para cualquier modelo de OpenERP, para ello de ah modificado el Modulo Jasper Reports para hacerlo compatible con la versión 7.0 del ERP. Si no conocen sobre Jasper Reports les recomiendo el siguiente enlace:
Para poder descargar en Modulo Jasper Reports abriremos una terminal como normalmente se hace y no situamos en los addons de OpenERP, en mi caso seria la siguiente ruta:
cd /opt/openerp/70/addons/
Una ves dentro de los addons de OpenERP pegamos el siguiente enlace:
bzr branch lp:~german-ponce/+junk/jasper_reports
Puede tardar algunos minutos ya que el modulo es algo pesado en MB.
Una ves descargado el nuevo modulo, nos vamos a nuestro OpenERP y actualizamos la lista de módulos:
Buscamos el nuevo modulo de Jasper Reports y le damos instalar:
Nos creara un nuevo menu en la administracion de nuestro sistema, teniendo 2 opciones del menu:
- Crear Plantilla de Datos .- Esta opción del menu genera el archivo .xml necesario para obtener la información desde OpenERP para ser utilizada en el reporte.
- Jasper Reports .- Esta opcion del menu permite crear un registro en donde subiremos el reporte creado con iReports y asociarlo a un modelo.
Damos clic en la primera opción del menu crear plantilla de datos, nos pedirá el modelo para el reporte y una profundidad de obtención de datos en un diagrama de arbol hasta que relacion maxima podra obtener los datos el Reporte, por defecto si el Depth es mayor a 4 puede ser muy lento el proceso y en algunos casos errores al momento de trabajar con iReport, en mi experiencia creando Reportes con el modulo de Jasper siempre el Depth 4 me ah funcionado en todos los reportes que eh creado.
Una ves generado el archivo .xml podemos iniciar la creación de nuestros Reportes con Jasper Reports en OpenERP 7.0.
Por defecto el modulo creara el archivo XML en la ruta:
cd /home/usuario/NombredelModelo.xmlEn la carpeta principal del usuario de Ubuntu con el nombre del Modelo y la extensión .xml
Espero la información sea de su ayuda y no se olviden visitar nuestra pagina:
y como lo instalo en windows
ResponderBorrarEste comentario ha sido eliminado por el autor.
BorrarDebes de Acceder a los addons manualmente, creo que esta en C://Archivos de Programa/openerp/....../addons/
BorrarDescargas el modulo y lo pegas en esa carpeta!
Saludos
Hola necesito que me indiquen como mando un parametro al reporte desde openerp
ResponderBorrarmuchas gracias
Hola Deyviys OpenERP con Jasper Reports recibe parametros especificos, la manera mas facil de imprimir un reporte con parametros es Creando un Wizard(Asistente) que tome parametros y procese la informacion para que al final te Imprima el Reporte.... Saludos
BorrarSeria bueno si nos das los pasos de como hacer un reporte con parametros
ResponderBorrarClaro Edgar cuando tenga oportunidad subo un Post! Saludos
Borrartengo que hacer un reporte de ventas de un servidor ecommerce
ResponderBorrarpero no se como asociar este servidor a openerp o como me puede ayudar openerp a realizar estos reportes
Buenas, cargo un problema, al tratar de generar un template.xml de jasperreport, se cierra el módulo y no deja descargar el xml, quiero hacer un reporte de candidatos que solicitan empleo.
ResponderBorrarBuenas tardes German,
ResponderBorrarEstoy utilizando OpenERP 7.0 con Jasper_reports para la confeccion de informes.
La conexion que utilizo es mediante datasource JDBC para acceder a la BD sin problemas.
La version utilizada de Jasper_reports es la de NanTic.
El tema es que tengo un report creado con iReport y si lo ejecuto en el iReport con funciona perfectamente!!!
Detalle Query
SELECT
iqcirugia."id" AS iqcirugia_id,
iqcirugia."create_uid" AS iqcirugia_create_uid,
iqcirugia."create_date" AS iqcirugia_create_date,
iqcirugia."write_date" AS iqcirugia_write_date,
iqcirugia."write_uid" AS iqcirugia_write_uid,
iqcirugia."autoriza" AS iqcirugia_autoriza,
FROM
"public"."iqcirugia" iqcirugia INNER JOIN "public"."iqcirugia_location" iqcirugia_location ON iqcirugia."id" = iqcirugia_location."cirugia_id"
INNER JOIN "public"."stock_location" stock_location ON iqcirugia_location."location_id" = stock_location."id"
INNER JOIN "public"."res_company" res_company ON iqcirugia."company_id" = res_company."id"
WHERE
$X{ IN ,(iqcirugia.id::varchar),PIDS}
En el report tengo creado 2 parametros (IDS, PIDS)
Parametro 1 -> IDS class = object
Parametro 2 -> PIDS class = java.util.list
El problema es que cuando lo ejecuto desde OpenERP no me recoje correctamente el ID del registro que estoy posicionado.
Me explico, si estoy posicionado en el registro del 1 al 9 funciona bien, pero en el momento que me posiciono en el ID 11, 12, 13 pierde el primer caracter... o sea si le doy a imprimir el registro 13, me imprime el 3??
detalle jasper_report.py
def executeReport(self, dataFile, outputFile, subreportDataFiles):
locale = self.context.get('lang', 'en_US')
connectionParameters = {
'output': self.outputFormat,
#'xml': dataFile,
'csv': dataFile,
'dsn': self.dsn(),
'user': self.userName(),
'password': self.password(),
'subreports': subreportDataFiles,
}
parameters = {
'STANDARD_DIR': self.report.standardDirectory(),
'REPORT_LOCALE': locale,
#'IDS': self.ids,
'IDS': ','.join(map(str,self.ids)),
Como veréis, he incluido modificación en el código jaspert_report.py, en el método executeReport ya que sino, no me recogía correctamente el ID.
Si le pongo por defecto, por ejemplo:
..
result = {'13'}
..
y luego
'IDS': ','.join(map(str,result)),
Me sigue imprimiendo el registro 3.
Os habéis encontrado con este problema?, alguna manera de trabajar con jasper_report con OpenERP 7.0 y datasource JDBC para realizar queries complejas?
Muchas gracias
Juan
German tengo una duda al activar los workers en mi config tengo el siguiente error
ResponderBorrarhttps://bugs.launchpad.net/openobject-jasper-reports/+bug/1286607/comments/1
Sabes si, existe alguna forma de reparar. Solo sucede cuando activo workers en mi archivo de configuracion, cuando lo desactivo funciona normal.
Saludos
Si lo eh hecho funcionar con Workers este es un Bug que tiene el modulo, pero se corrige si utilizas nginx con OpenERP (Odoo).
BorrarYo actualmente uso nginx para mi odoo v7 o te refieres configurar el nginx para el jasper porque veo que maneja un puerto 8090
BorrarHola German, buen día te comento que ya logré solucionar, muchas gracias de todas maneras por la info.
BorrarEste comentario ha sido eliminado por el autor.
ResponderBorrarHola, saludos, espero y puedas responder, de verdad necesito usar el módulo, pero seguí tus pasos al pié de la letra, todo funcionó de maravilla, pero al momento de seleccionar la plantilla, luego sus relaciones (usé 2) aparecía cargando y no me salía opción de bajar el Xml necesario para poder llevar a iReport y diseñar, me podrías orientar en ello? gracias!
ResponderBorrarme permito editar para dar más detalles, luego de que aparecía cargando, se cerraba, no daba opción a descargar
Borrary vuelvo a escribir ya que ando haciendo varias pruebas, disculpa si lo consideras Spam, pero es algo que necesito con urgencia. al intentar subir un .jxrml me salta este error
BorrarIOError: [Errno 13] Permiso denegado: u'/opt/openerp/v7/addons/jasper_reports/custom_reports/Factura_Venta_jasper_report.jrxml'
El problema parece estar en los permisos del servidor, debes verificar que el usuario con el que arrancas odoo, pueda escribir datos en esa ruta.
BorrarHola German, muchas gracias por el aporte amigo,
ResponderBorrarMe podrias decir como puedo instalar el modulo en Windows?
En windows, deberás meter el modulo en la ruta de instalación del Sistema. Por ejemplo c://Archivos de Programa/odoo/addons, la ruta anterior solo es a modo de ejemplo, lo segundo es actualizar el listado de modulos, buscas jasper_reports e Instalar.
BorrarHola, escribo por acá otra vez, estuve intentando descargar el fichero de Jasper Reports que indicas en bazar y me indica que hay error de conexión, ya lo he instalado antes sin problemas, pero ahora me indica ese error
ResponderBorrarHola, podrias probar nuevamente al parecer era un error con el servidor de Launchpad.
BorrarSaludos
Hola, cree el reporte pero cuando voy a imprimir sin importar el registro que seleccione para imprimir siempre imprime el primer registro, que puede ser? gracias.
ResponderBorrarSELECT
laboratorio_inve12113."id" AS laboratorio_inve12113_id,
laboratorio_inve12113."consecutivo" AS laboratorio_inve12113_consecutivo,
laboratorio_inve12113."ar" AS laboratorio_inve12113_ar,
laboratorio_inve12113."cr" AS laboratorio_inve12113_cr,
laboratorio_inve12113."total" AS laboratorio_inve12113_total,
laboratorio_inve12113."br" AS laboratorio_inve12113_br
FROM
"public"."laboratorio_inve12113" laboratorio_inve12113
Hola Luis, que versión de Odoo u Open estas utilizando ?
Borrar