Publicación de reportes dinámicos

Inicio Foros Foro principal Ayuda Publicación de reportes dinámicos

  • Este debate está vacío.
Viendo 8 entradas - de la 1 a la 8 (de un total de 8)
  • Autor
    Entradas
  • #32285
    Carranza Carlos
    Participante

    Como dije en otro post, he logrado hacer un reporte dinámico (complejo, con subreporte) y me parece de gran utilidad (https://www.libertya.org/comunidad/foro-libertya/6-ayuda/5081-reportes-dinamicos?limit=6&start=6).

    Ahora me he encontrado con un problema.
    El reporte, a fin de poder ser utilizado en la LAN, debe ser puesto a disposición de los puestos de trabajo.
    Esto se puede hacer de 3 modos :
    1) copiando el mismo en cada puesto de trabajo y configurando la misma ubicación en cada uno de ellos, ya que se debe indicar dónde está (unívocamente) en el diccionario de datos – Maestros Informes y procesos.
    2) generando una unidad de red compartida en el servidor y configurando la misma en el diccionario de datos.
    3) publicándolo vía http.

    La primera de las formas funciona, pero es muy incómoda.
    La segunda, en mi caso, es inviable porque tengo una instalación mixta (clientes en windows y en linux – servidor en Linux). Si lo publico para linux (montando la unidad de red del servidor en la máquina local, su formato es incompatible con windows) y si lo monto para windows (letra de red : /), dicho formato es incompatible con linux, incluso teniendo wine instalado (no descifra la nomenclatura, estando la letra apuntada a la carpeta montada).
    Por lo tanto debería utilizar la última opción.

    Luego de esta explicación, mi problema es que no logro (desconozco) como y donde colocar los archivos del reportes para poder ubicarlos vía http. Probé en /ServidorOXP/Jboss/server/OpenXpertya/deploy/ y no los encuentra.

    Alguien me puede dar indicaciones de cómo publicar, vía http, este tipo de reportes? Las imágenes, si alguien utilizar también podrían estar aquí.

    #37244

    Y atacharlos a la base de datos?

    #37245
    Carranza Carlos
    Participante

    Cuando se indica que es un reporte dinámico, en la pantalla de Configuración (Administrador) / Maestros – Informe y proceso, se abre un cuadro de texto para configurar adónde debe ir a buscar el jrxml. El campo donde lo guarda es un character.
    Si compartís una carpeta en el servidor (windows o linux) y mapeas o montas (windows y linux respectivamente) dicha carpeta compartida; lo podés obtener perfectamente.
    El problema es que, si el cliente es windows se apunta como Y:/reporte.jrxml y si el linux como /mnt/reportes/reporte.jxrml (sólo uno de ellos).
    Cuando se ejecuta el reporte desde el cliente lo busca exactamente ahí. Teniendo una red de clientes homogénea no hay problemas, pero yo tengo clientes en linux y en windows.
    La solución debería ser una URL y JBoss + Tomcat deberían poder proveerla (de hecho lo hacen para descargar los clientes).
    En teoría, creando una carpeta “/reportes” debajo de ROOT.war (según los manuales de JBoss) debería funcionar, pero no lo hace. La configuración por defecto debe estar modificada y no encuentro donde.

    Para guardarlo en la base de datos, como lo hace en el caso de reportes normales o imagen de la compañía el campo de la base de datos debería ser bytea y no sé si la lógica de la aplicación interpretaría que debe ejecutar con el ireport este binario (me parece que hay que hacer más pruebas o más largas).
    Además hay que agregar que en mi caso el reporte dinámico tiene subreportes y ese, como es referenciado desde el reporte, no hay forma de guardarlo attachado en la base de datos.

    Es posible que alguien haya publicado algún archivo estático el en jboss actual y tenga la solución rápida o lea esto y se dé cuenta en donde me estoy equivocando (si es así) y nos ilumine.

    Gracias por contestar.

    #37246
    Carranza Carlos
    Participante

    Encontré la solución.
    Leyendo y leyendo en JBoss.
    Agregué al final del archivo server.xml, que está en /ServidorOXP/jboss/server/OpenXpertya/deploy/jbossweb-tomcat55.sar/, al final, pero antes del cierre de HOST (como se puede ver abajo)

    –>
    docBase=”/ServidorOXP/data”>

    –> http://servidor/reportes/reporte.jrxml (ojo para llamar el subreporte, hay que llamarlo de la misma forma – salvo que es .jasper).
    Se reinicia el application server y listo. Incluso, luego se pueden cambiar o agregar archivos sin reiniciar.

    #37248

    En cuanto a qué indicar en el campo Jasper (jrxml), las opciones pueden ser file:/// (desde el file system), http:// (desde un servidor web), o bien con prefijo attachment. Esta última alternativa toma el reporte desde el adjunto en el Informe y Proceso que estamos definiendo (por ejemplo: attachment:reporte.jrxml), teniendo de esta manera una alternativa para almacenar los informes en la base de datos.

    #37247
    Carranza Carlos
    Participante

    Interesante la opción attachment:. La voy a probar.
    En este caso cómo referencias a un subreporte en el reporte padre?

    #37249
    Gabriel Bocalandro
    Participante

    Hola, buen dia,.

    Tengo un caso similar. Estoy necesitando armar reportes consolidados entre distintas bases de libertya, pero todavia no logre hacerlo.

    buscando x internet vi q esta la opcion DBLINK, pero no la pude hacer funcionar.

    Tambien quise ver la opcion de usar BI con jaspersoft, pero no encontre mucha documentacion al respecto.

    Se le ocurre como puedo hacer reportes q tomen informacion de mas de una base? (en SQL SERVER es tan simple :D )

    Muchas gracias

    #39409
    Carranza Carlos
    Participante

    He estado usando reportes dinámicos de ireport dentro de Libertya y funcionan perfecto. El tema es que el entorno le está dando la conexión a la base de datos.
    Desde iReport posiblemente lo podrías probar configurando un par de fuentes de datos, pero al llevarlo a libertya, al jrxml, calculo que no contaría con las fuentes de datos diversas. La solución debería estar por conectar postgresql a la otra BD y entiendo que esto es efectivamente dblink. No he hecho nada de esto. Pero he visto que hay bastante documentación Viste estos links :
    http://www.postgresql.org/docs/8.4/static/dblink.html
    http://www.rummandba.com/2010/10/install-dblink-from-contrib-in-postgres.html
    http://stackoverflow.com/questions/3862648/how-to-use-install-dblink-in-postgresql
    Espero haber ayudado, y si así fue, publicá los resultados; sino, al menos hice el intento.

Viendo 8 entradas - de la 1 a la 8 (de un total de 8)
  • Debes estar registrado para responder a este debate.