Blog de desarrolladores Abanq
Noticias y comentario de los desarrolladores. Bienvenido al blog

2/14/2009

Estilos SVG en informes de AbanQ

— Fede @ 8:36 pm

A partir del Build 14641 de la versión 2.3 vamos ir incluyendo algunas tecnologías extraídas de AbanQ V3 para que sean probadas a modo de prelanzamiento. Intentaremos ir poniendo en el blog algunas entradas comentando las más importantes.

Y como el movimiento se demuestra andando empezamos ya mismo viendo una de esas funciones, Estilos SVG en informes, una pequeña pieza sacada de AbanQ V3 pero muy interesante y que seguro que será de mucha ayuda para mucha gente.

EL CONCEPTO

La idea es simplificar el diseño de informes utilizando estilos SVG fácilmente editables mediante herramientas existentes de diseño vectorial, aprovechando que los informes se pueden guardar en este formato y que ya tenemos un motor que puede interpretar y aplicar los atributos de ficheros SVG en el momento de la presentación.

EJEMPLO BÁSICO

Vamos a modificar el formato de la factura de cliente utilizando esta técnica, utilizando una versión del motor a partir del Build 14641 y la conocida herramienta Inkscape incluida en la mayoría de las distribuciones de Linux.

Guardamos una factura cualquiera en formato SVG, para esto sólo debemos realizar la acción de imprimir y en el visor de informes pulsar el botón “Guarda como estilo SVG” de la barra de herramientas:


El fichero SVG guardado lo editamos con Inkscape y hacemos una pocas modificaciones:



Si volvemos al visor de informes y en el cuadro “Estilo” indicamos el fichero modificado obtenemos la nueva presentación del informe:



Para hacer que este estilo fuera el predeterminado del informe bastaría modificar el fichero .kut e incluir la propiedad StyleName en la etiqueta raiz KugarTemplate:


… kugartemplate BottomMargin=’50′ LeftMargin=’30′ PageOrientation=’0′ PageSize=’0′ RightMargin=’30′
StyleName=’file:/home/falbujer/SVG/prueba.svg’ TopMargin=’50′ …

Si la ruta empieza por file: se buscará el fichero en el sistema de ficheros de disco, si empieza por abanq: el fichero se buscará en la base de datos ( tabla flfiles ). En la base de datos se puede guardar un fichero en Administración, nuevo fichero y copiando y pegando el contenido XML del mismo. También existe el método FLReportViewer::setStyleName para establecer el estilo de un informe desde los scripts de forma dinámica.


EJEMPLO MENOS BÁSICO

En la mayoría de los casos es aconsejable que todo lo que no sean datos que vienen de la consulta que genera el informe sea “dibujado” en el estilo SVG, en vez de hacerlo editando el fichero .kut.

Por eso cuando se utiliza esta técnica las etiquetas Label y Line del .kut deberían de dejar de usarse delegando el dibujo de esos objetos al estilo y al momento final de la presentación, reduciendo así drásticamente el tiempo necesario para diseñar un informe. Para esto podemos “Guardar SVG simplificado”, que sólo contiene los elementos del .kut que provienen de la consulta, es decir los campos de datos:

Continua…


Ahora con Inkscape podemos empezar a pintar el resto, cambiar de posición los campos o sus dimensiones etc. con la ventaja que para ver los cambios sólo tenemos que indicar en Estilo el nombre del fichero e ir dando al botón de actualizar ( las dos flechas verdes ) para ver los cambios que vayamos haciendo y guardando con Inkscape, sin necesidad de cerrar el visor de informes.



Al iniciarse un poco con el manejo de Inkscape se pueden conseguir en pocos minutos estilos bastante elaborados, casi impensables o muy costosos de hacer mediante la edición de ficheros .kut:



También es posible incluir complejas formas, cualquiera que podamos imaginar, e imágenes vectoriales que pueden ser logotipos de alta definición provenientes de las imágenes vectoriales que puede facilitar una imprenta o diseñador gráfico.

La arquitectura actual de AbanQ 2.3 sólo nos permite ver una pequeña parte de esta tecnología, pero en AbanQ V3 está mucho más desarrollada y permite entre otras cosas crear gráficas y formas a partir de los datos o utilizar el estándar SVG como base para convertir documentos a otros formatos comunes, como por ejemplo OpenDocument.

Powered by WordPress

Categorías
Histórico
September 2010
S M T W T F S
« Jun    
 1234
567891011
12131415161718
19202122232425
2627282930  
Buscar