El nuevo motor de informes de Kaspars (Sraps) para OpenERP


Bueno… pues lo he hecho funcionar. Al final no ha sido tan difícil. Es una pasada. Se monta un informe en openOffice, igual que se hace con el report_designer de OpenERP, pero la diferencia está en que este motor sí que te mantiene todas las agrupaciones, divisiones y bordes de celdas de las tablas, con lo que puedes montar un informe nuevo perfectamente alineado en relativamente poco tiempo.

Otra de las diferencias es que puedes imprimir el informe no sólo en pdf, sino también en odt, es decir, de forma editable por el usuario. Esto añade una increible flexibilidad a los reports en OpenERP.

Sraps ha incluido un manual bastante completo aquí sobre cómo instalarlo.

http://kndati.lv/index.php/en/openerp/open-erp-addons/reporting-engine/76-openofficeorg-reporting-engine-installation

Puntos a tener en cuenta, sobre las instrucciones de instalación:

  • Yo tengo ubuntu 9.04. Mi instalación de OpenOffice no está en “/usr/lib64/openoffice.org/program/” sino en lib, o sea que el comando que he tenido que usar previo al lanzamiento del servidor openerp es export PYTHONPATH=”/usr/lib/openoffice.org/program/”
  • El módulo requiere las librerías relatorio y openoffice-python. Yo las instalé directamente con easy install, así:
    • $ sudo easy_install relatorio
      $ sudo easy_install openoffice-python
    • Pero cuidado… se instalan en la ruta de python2.6. Si arrancais el server OpenERP con 2.5 el módulo dará este error en la instalación: No module named relatorio.templates.opendocument
  • Una vez instalado…
    • Id a OpenOffice y crear un nuevo informe. Como querais, con la estructura que querais. Evidentemente en las “casillas” donde vaya un dato obtenido de OpenERP, por ejemplo el número de albarán debe ir formateado con la sintaxis válida.
    • Grabad el informe en .odt y ponerlo dentro de un módulo en una ruta accesible por el servidor en bin/addons
    • Ahora, desde el cliente OpenERP, vamos a decirle que existe un nuevo informe y a poner el botón correspondiente de impresión, en el módulo que lo queramos mostrar. Las instrucciones para ello en el link anterior, en los apartados
  • Configuring new report object (sample invoice) y Adding additional print button (sample invoice)

  • Si el informe, lo habeis definido como con salida en .odt, no hay problema. La instalación estaría terminada y el nuevo informe funcionando, pero si lo quereis en pdf, el motor openoffice debe estar arrancado, para ello:
    • Localizad en vuestro servidor dónde está instalado OpenOffice. O sea, la misma ruta del XPATH que habeis montado antes. En mi caso /usr/lib/openoffice.org/program
    • Id a la ruta con cd y ejecutais
    • ./soffice -nologo -nofirststartwizard -headless -norestore -invisible “-accept=socket,host=localhost,port=8100,tcpNoDelay=1;urp;” &
    • Para verificar que la conexión de openERP con Openoffice está bien y es correcta, teneis un Wizard de verificación en administración / objetos de bajo nivel / Openoffice conection . Si el servidor openoffice está correctamente arrancado a la escucha en el puerto 8100 u otro que hayais definido en el arranque, os dará un mensaje de OK

Y ya está. Esto es todo. Creo que merece mucho la pena probarlo.

Cordiales saludos!!!

Ana

, ,

  1. #1 by Carlos Sprekelsen on 23 Marzo 2010 - 18:16

    Hola Ana,

    Estoy iniciándomme con OpenERP para ver si lo monto en una empresa y el tema del reporting es importante.

    Este motor, una vez instalada la primera vez, no es dfícil,pero efectivamente tiene “trucos. En mi caso me daba un error y era precisamente porque PYTHONPATH no era correcto para mi Ubuntu. Tampoco me funciona si tengo instalados los módulos de Jasper.

    He conseguido hacer un informe muy sencillo, pero por alguna razón al intentar configurar una factura, el motor se “cuelga”. Es posible que no lo ese haciendo bien, pero como no hay erramientas de depuracon del informe que pueda detectar errores, pues el método cálsico de “prueba / error” es elque estoy siguiendo, pero me consume mucho tiempo.

    Para minimizar las pruebas/errores, e buscado y rebuscado la factura demo que mencionan en la documentación, pero no la localizo. Si la coseguiste,¿la podrías colgar como ejemplo?. O cualquier otra que tengas que no sea comprometida servisía para añadir luz a esto de hacer reports.

    Lo conseguí con Jaspers, pero me consume mucha CPU y es muy lento el método.

    Un saludo,
    Carlos.

  2. #2 by Ana Juaristi Olalde on 24 Marzo 2010 - 23:57

    Yo también busqué el informe de prueba y no lo encontré. En principio, Jaspers tampoco debería irte lento. Va bien. No sé. Revisa la configuración.

  3. #3 by Jose A. Corbacho on 30 Marzo 2010 - 10:28

    Hola:
    ¿Sabéis si es posible configurar los informes con el nuevo motor usando la descripción XML habitual?

    [code]

    [/code]

    El atributo “rml” es obligatorio pero ya no existen rmls usando report_openoffice, ¿no?

(No será publicado)