Buenas…
Primero de todo anunciaros un nuevo motor de informes que ha publicado muy recientemente Pexego. Lo teneis en extra-addons.
pxgo_openoffice_reports
Este motor permite una integración TOTAL con OpenOffice. También está basado en relatorio y para su instalación se pueden seguir las mismas instrucciones que las que comentamos en un post anterior, sobre el motor de informes de sraps.
El nuevo motor funcionalmente es una pasada. Se pueden tener plantillas ods, odt y obtener salidas en cualquier formato pdf u openoffice que se defina, incluir gráficos, charts, hacer bucles en horizontal y por supuesto en vertical. Recomiendo 100% que lo instaleis y lo probeis. Gracias a Pexego por la aportación!!!
En todos los sistemas de reportes, el problema es saber la sintaxis exacta para acceder a los campos que se requiere mostrar. Aquí van un par de truquillos que quizás os resulten interesantes. Estos truquillos, valen también para el módulo report_designer “oficial”.
Truco 1: Acceder a un valor concreto de un campo one2many. Ejemplo: acceder al código de producto que se muestra en la ficha de proveedor del producto, por ejemplo, desde una línea de albarán: [[move_lines.product_id.seller_ids[0].product_code]]
Truco 2: Desglosar un valor separado por un carácter en 2 valores. Ejemplo: 22234_33331, quiero que se muestre en el informe desglosado por un lado 22234: [[ CAMPO.split('_')[0] ]] y por otro 33331 : [[ CAMPO.split('_')[1] ]]
Truco 3: Acceder a un campo imagen directamente desde openOffice: Ejemplo: Poner el logo de la empresa en cualquier documento:
[[ company.logo and setTag('para','image',{'width':'100.0','height':'33.3'}) ]][[ company.logo ]]
Gracias a Hugo y a Jordi por darme las pistas
Sobra decir que si teneis más “trucos” que nos pueden facilitar la vida a la hora de definir informes personalizados, me los paseis para que los publique.
Esperando os sea de utillidad:
Ana

#1 by Luis on 11 Mayo 2010 - 0:56
Hola:
instale el modulo, pero no puedo imprimir imagenes ni graficos, requiere alguna libreria especial para eso??
Saludos
Luis
#2 by Carlos Sprekelsen on 19 Mayo 2010 - 23:01
Hola, tenía instalado y funcionando el motor de sraps, pero quería probar el nuevo de pexego. He desinstalado los módulos de sraps (report_openoffice y report_openoffice_pdf) y he instalado el de pexego(pxgo_openoffice_reports). El de Sraps funciona muy bien, pero no he conseguido hacer funcionar el de pexego. Imagino que funciona igual: Administración-> Objetos de bajo nivel -> Acciones -> InformeXML y ahí seleccionaría la plantilla. Pero me da error y no me funciona el form “InformeXML2 con el módulo de pexego instalado. No localizo en Internet ningún documento sobre como instalar y hacer funcionar este módulo. ¿Qué hago mal?
#3 by lrcvrino on 20 Mayo 2010 - 16:33
Carlos, a mi me pasa lo mismo…
#4 by lrcvrino on 20 Mayo 2010 - 21:02
Bueno carlos ya lo encontré:
Administracion/personalizacion/OpenOffice Reports/Openoffice Reports
si trabajaste con el de sraps no creo que tengas problemas.
un saludo
#5 by Carlos Sprekelsen on 25 Mayo 2010 - 12:51
Muchas gracias. Al tener instalado el de sraps, tras actualizar el módulo hay que salir del cliente y reiniciar el servidor. De otra forma me ha dado problemas al abrir Administracion/personalizacion/OpenOffice Reports/Openoffice Reports, pero tras reiniciar el problema ha desaparecido.
Mi primer informe ha sido el de la demo pero mucho más sencillo: en un documento .odt he escrito el texto “You are ${ user.name } and your company is ${ company.name } ”
Funciona a la perfección, incluso genera el botón de impresión en el módulo, pero si trato de preparar un pedido de venta, simplemente el abrir un documento en blanco y escribir “${ o.partner_id.name }” al ejecutar el informe se me bloquea el cliente de openerp y tras un periodo de un minuto o más se cancela la operación por time-out. Imagino que la manera de referencias los campos a imprimir debe ser diferente. Voy a investigar, pero si alguno lo ha hecho y me pone un ejemplo seguro que gano tiempo. estaría bien tener un directrio donde podamos “subir2 ejemplos que hayamos desarrollado. Yo tengo varios con el motor de sraps y seguro que a muchos les vienen bien. quiero migrar a este motor porque me parece que la compatibilidad con Office de windows es esencial para la mayoría de empresas.
A ver si me animo y se lo monto a laguna empresa. Por ahora lo estoy usando yo de forma particular, pero creo que tiene mucho potencial.
Un saludo,
Carlos.
#6 by Carlos Sprekelsen on 26 Mayo 2010 - 0:50
Me rindo, no sé por donde mirar ni cómo hacer debugging. usando Genshi con ${ user.name } y ${ company.name } funciona bien, pero no llego más allá de generar un PDF que diga “Hola Carlos de Delta”.
Incluso el informe “OpenOffice Reports Demo” que se instala en Empresas (partners)”, me falla. (me “insulta” con el mensaje OOHelperException: Error loading file /tmp/openerp_oot_i_IrFliq.odt with OpenOffice: URL seems to be an unsupported one). La única URL es el hipervínculo a relatorio. ¿Alguna idea de cómo ponerlo en marcha?
Gracias por adelantado,
Carlos.
#7 by lrcvrino on 1 Junio 2010 - 20:53
hola Carlos,
no se si te podré ayudar, pero si me comentas lo que quieres hacer y concretas algo más lo intentaré.
Un amigo y yo hicimos una factura muy básica…
#8 by Carlos Sprekelsen on 21 Julio 2010 - 14:57
Hola lrcvrino,
La verdad es que estoy viendo la forma de gestionar informes en Openerp. Hasta ahora he tenido éxito con jasper_reports y el módulo de sraps, pero ambos son incompatibles. Si instalo uno, el otro deja de funcionar. personalmente me gusta jasper reports para listados de trabajo, pero para documentos estándar (facturas, pedidos), es mucho mas cómodo trabajar con Open Office. Este módulo aparentemente permite exportar a formatos e MS Ofice, lo que es un plus, porque muchas empresas están acostumbradas a trabajar con listados en Excel. Básicamente me gustaría tener un pedido o factura básicos de ejemplo y poder reproducirlos. El problema es que el ejemplo que incluye pxgo no me funciona, me da el mismo error que con los informes que he preparado: OOHelperException: Error loading file /tmp/openerp_oot_i_uHcFU0.odt with OpenOffice: URL seems to be an unsupported one.
Seguro que es una tontería (algún path erróneo o algo así, pero llevo tiempo navegando por google para ver si a alguien le pasa lo mismo y la verdad es que no hay apenas información sobre este módulo).
Un saludo,
Carlos Sprekelsen
#9 by Carlos Sprekelsen on 21 Julio 2010 - 15:21
Poco a poco voy avanzando. Ahora con el ejemplo que incluye pexego con el módulo el error es otro:
File “/usr/local/lib/python2.6/dist-packages/openerp-server/report/report_sxw.py”, line 364, in create
raise ‘Unknown Report Type’
TypeError: exceptions must be old-style classes or derived from BaseException, not str
Para el que tenga mi problema, me faltaba indicarle al sistema la variable PYTONPATH (la he puesto en /etc/environment para que esté disponible a todos los usuarios del sistema):
sudo nano /etc/environment
añadimos
PYTHONPATH=”/usr/lib64/openoffice/program/”
grabamos y actualizamos las variables del entorno:
source /etc/environment
Algo me dejo pro el camino….
#10 by Ana Juaristi Olalde on 21 Julio 2010 - 16:36
Lo que creo que no son compatibles son el report_openoffice de Kaspars y el de Pexego. Pero los 2 de forma individual en principio son compatibles con Jasper. Mira a ver si pudiera ser que tienes ambos 2 instalados a la vez. Quita uno y prueba.
Saludos!!
#11 by Carlos Sprekelsen on 21 Julio 2010 - 16:49
Ya estoy maś cerca….. he probado lanzar el mismo informe con diferentes tipos de salida (pdf, Openofice-PDF output, Openoffice doc oputput) y en cada caso el error es diferente, lo que me hace pensar que el problema está en el conversor de formatos,que no es otro que openoffice en modo headless.
Lo que me despista es el error que obtengo al por ejemplo un formato Openoffice rtf output:
File “/usr/local/lib/python2.6/dist-packages/openerp-server/report/report_sxw.py”, line 364, in create
raise ‘Unknown Report Type’
TypeError: exceptions must be old-style classes or derived from BaseException, not str
Aquí ya me he estancado. Entiendo que le report que han dejado como demo está bien. Tal vez sea un erro de sintaxis de Genshi o algo así….