Datos XSL disponibles y Jasper personalizado

Hola a todos,

Si bien nosotros podemos personalizar nuestros reportes jasper, accedemos a una estructura de datos que se genera con PHP, si desde el SIU modifican las funciones que generan esta estructura nuestros reportes jasper se ven afectados y esto no lo detectamos hasta que el Sistema esta en produccion y los usuarios nos llaman con algo que no se ve bien en el PDF.

Me surgio esto debido a un error en los datos XSL que existia, se soluciono en la version 2.1, se generaba la estrucutra XSL con los mismos valores para “monto_unitario” e “importe_unitario_real” cuando era en moneda extranjera, por lo tanto desde el reporte jasper utilizabas el valor de “monto_unitario” y se visualizaba correctamente, ahora en la nueva versio al generar correctamente esta estrucutra los valores almacenados en estas variables son diferentes y en “monto_unitario” estara el valor en $ y no en moneda extranjera, teniendo que cambiar el reporte jasper para que funcione correctamente. En mi caso la Adjudicacion se imprime en moneda extranjera.

En conclusion, la pregunta es ¿como vamos a saber cuando un cambio en la estrucutra XSL afecte a nuestros reportes personalizados?


xsl_1143.jpg

xsl_1143.png

xsl_2100.jpg

xsl_2100.png

Hola Ulíses, primero que nada, gracias por compartir la inquietud mediante el foro… este es un tema que será recurrente entre la gran mayoría de los técnicos.

Estos cambios internos son inherentes al trabajo diario que realizamos. El flujo de trabajo consiste en qu lo realizado este cuerto dentro de los tickets del trac y es a partir de los cuales que aparecen las referencias luego en el cambios por versión. También es cierto que resultaría extremadamente engorroso e imposible hacer un detalle pormenorizado de todos los cambios que afectan al sistema.

En esta situación, el cambio que se hizo sobre la estructura XSL estaba asociada directamente a un bug de datos, no a una refactorización y/o mejora. Siempre intentamos mantener un mínimo de compatibilidad hacia atrás con respecto a lo que son los campos disponibles via datos XSL (tanto para salidas XSL como JasperReports) con el objetivo de minimizar los problemas que justamente estas comentando: en el caso de un bug tenemos que realizar el cambio de manera forzada. Lo que significa que lo realizamos de manera excepcional y no como norma, este caso no debería repetirse entre versión y versión.

Como para finalizar, una vez que estan personalizando las salidas pueden hacer uso de herramientas de diff (como http://meldmerge.org/) para evaluar las diferencias entre los templates JasperReports originales de las distintas versiones (pueden realizarlo directamente con los instaladores). Esto les permite que uds puedan selectivamente analizar que cambios internos hubieron en los originales y analizar si aplicarlos a sus personalizaciones. Adjunto imagen de como lo verían para las diferencias entre las versiones 2.0.0 y 2.1.0. Ignoren los .jasper porque estos son los compilados y van a difierir.

Espero sea de ayuda y aclarar un poco el proceso. Saludos!


diff_directorios_jasper.png

diff_datos_generales.png

diff_datos_generales.png