Ireport Desde Cero

LB MANUAL IREPORTS Documentación Fecha: 04/06/2018 NORMAS-001 I MANUAL IREPORTS Creado por Lenin Boada Pino Fecha C

Views 125 Downloads 4 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

I

MANUAL IREPORTS

Creado por Lenin Boada Pino Fecha Creación 04/06/2018 Fecha Modificación 04/06/2018

DELTA21 WEB

1

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

INDICE 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14.

INSTALACION ..................................................................................................................................... 3 LEVANTAR IREPORTS....................................................................................................................... 4 CONFIGURAR DATA SOURCE ......................................................................................................... 5 DISTRIBUCIÓN DEL LAYOUT ......................................................................................................... 8 BARRA DE HERRAMIENTAS ......................................................................................................... 10 DEFINICIÓN PARÁMETROS, CAMPOS Y VARIABLES ............................................................. 11 DEFINICIÓN CONSULTA CON PARÁMETROS ........................................................................... 15 CAMPOS CALCULADOS.................................................................................................................. 16 MANEJO DEL PRINT WHEN EXPRESSION .................................................................................. 17 GRAFICOS EN IREPORTS ......................................................................................................... 18 SUBREPORTES ............................................................................................................................ 21 REPORTES DINAMICOS ............................................................................................................ 26 USO DE CLASES JAVA .............................................................................................................. 27 ENLACES DE INTERES.............................................................................................................. 29

DELTA21 WEB

2

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

1. INSTALACION

1. Instalar DB2 como cliente para conectarse a un servidor de Base de Datos. 2. Instalar j2sdk y configurar las variables de entorno a. JAVA_HOME

b. PATH

DELTA21 WEB

3

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

3. Instalar Ireport a. Copiar la carpeta en el siguiente PATH

2. LEVANTAR IREPORTS Ejecutar C:\Archivos de Programa\Apache\Ireport-1.2.0\ireport.bat La interfaz gráfica de iReport comienza a cargarse:

DELTA21 WEB

4

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

3. CONFIGURAR DATA SOURCE



Verificar que los archivos *.jar que permiten la conexión vía JDBC estén definidos en la variable de sistema

DELTA21 WEB

5

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001



Configurar los DataSource JDBC Seleccionar DataSource--> Connection/DataSource-->New

    

DELTA21 WEB

Name: Escribir el nombre de la base de datos. JDBC Driver: Seleccionar el Driver de la base de datos con la cual se realizará la conexión. JDBC URL: La dirección URL de donde se encuentra alojado el ambiente de trabajo de la base de datos. Especificar la cadena de conexión con la base de datos, colocar usuario y password. Salvar la configuración de la conexión.

6

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

Presionar el botón Test, para verificar que la conexión este correcta, para la cual deberá aparecer la siguiente ventana: DELTA21 WEB

7

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

Para Oracle los parámetros son:

4. DISTRIBUCIÓN DEL LAYOUT

La apariencia del layout (plantilla) de la página del reporte es la siguiente:

DELTA21 WEB

8

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

Donde:  







title Aparece sólo al inicio del reporte. El título se escribe en está sección. Ejemplo: “Reporte de Desempeño de los empleados” pageHeader Aparece en la parte superior de cada página. Puede contener información como la fecha y hora, nombre de la organización, etc. columnHeader Sirve para listar los nombres de los campos que se van a presentar (desplegar). Por ejemplo: “Nombre del Empleado”, “Hora de Entrada”, “Hora de Salida”, “Horas trabajadas”, “Fecha”, etc. detail En esta sección se despliegan los valores correspondientes a las entradas de campos definidas en la sección anterior. Por ejemplo “Juan Perez”, “09:00”, “18:00”, “9”,”2005-04-27” columnFooter Puede presentar información sumarizada para cada uno de los campos. Por ejemplo “Total de Horas Trabajadas: 180”



pageFooter Aparece en la parte inferior de cada página. Este parte puede presentar, el contador de páginas como “Página 1/7”



summary Esta sección se usa para proporcionar información sumarizada de los campos presentes en la sección “detail” por ejemplo para el caso de las horas trabajadas de cada empleado se puede definir un objeto gráfico tipo “pie” para tener una mejor comparación y comprensión visual de los datos.

DELTA21 WEB

9

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

5. BARRA DE HERRAMIENTAS

Los objetos de texto, imágenes, etc pueden ser colocados en la plantilla del documento usando el método de arrastrar y pegar. Para insertar texto puro usar:

Para insertar campos (Fields) usar:

Para insertar imágenes usar:

Cuando insertamos un objeto de texto lo haremos arrastrando el elemento hasta el lugar del documento donde queramos visualizarlo. Seguidamente se presionará clic derecho para editar las propiedades del objeto y así poder definir los valores de fuente, bordes y el contenido mismo del texto.

DELTA21 WEB

10

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

A medida que insertemos objetos de texto (estáticos y campos dinámicos), nuestro reporte empezará a definir la apariencia visual que buscamos.

6. DEFINICIÓN PARÁMETROS, CAMPOS Y VARIABLES Para definir los parámetros se tiene que pulsar el botón “Parameters” desde la barra de herramientas

Los documentos que se generan con iReports + jasperreports tienen varios valores que son seteables o configurables, estos son parámetros, campos (Fields) y variables: DELTA21 WEB

11

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

a)Parámetros: son valores generales como el titulo del reporte / subreporte, ubicación, autor, etc.

b)Campos (Fields): son los campos tipo texto que llenaremos desde las consultas lanzadas a la aplicación durante la ejecución del reporte.

DELTA21 WEB

12

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

c) Variables: una variable es un valor calculado como una sumatoria.

DELTA21 WEB

13

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

Los objetos de tipo TextField, deben definir un campo field en su viñeta de propiedades y deben usar el key “textField”. En general debe configurarse como se indica en las siguientes pantallas.

Una vez que hemos terminado de diagramar nuestro reporte, debemos compilar y luego ejecutarlo. La herramienta nos permite tener una vista previa en varios formatos de la apariencia de nuestro documento.

DELTA21 WEB

14

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

7. DEFINICIÓN CONSULTA CON PARÁMETROS RECOMENDACIONES:    

USAR SQL ESTÁNDAR USAR FUNCIONES DE USUARIO PARA EVITAR JUNTURAS NO USAR ALIAS EN LAS TABLAS NO USAR FUNCIONES COMO COUNT(*), SUM(*), UNION

Para que un Query maneje parámetros en ireports de debe hacer referencia a los parámetros previamente creados en el reporte. De la siguiente manera:

SELECT CODIGO,TIPO,NOMBRE FROM mutual.CO_CTA WHERE CODIGO BETWEEN $P{CodigoIni} AND $P{CodigoFin} AND ID_EMPRESA=$P{Empresa} DELTA21 WEB

15

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

ORDER BY CODIGO

8. CAMPOS CALCULADOS   

Crear un nuevo TextField , dar clic derecho e ir a sus propiedades. Poner la fórmula cálculo en TEXTFIELD EXPRESSION. Tanto parámetros, campos o variables pueden participar en una fórmula. Parámetros -> $P{nombre_parametro} Campo -> $F{nombre_campo} Variable -> $V{nombre_variable}



Se deben respetar estrictamente el manejo de tipos de datos del lenguaje JAVA. o Por ejemplo: o No se podrán sumar String y tipos de Datos Double. o No se podrán sumar DATE , para eso se usan los métodos propios de la Clase DATE.



Ejemplos de fórmulas utilizados: o Suma de valores Double.

DELTA21 WEB

16

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

new Double ( V{totalactivo}.doubleValue()+ $V{total4}.doubleValue()+ $V{total61}.doubleValue()+ $V{total63}.doubleValue()+ $V{total71}.doubleValue()+ $V{total73}.doubleValue()) o Obtener la fecha actual new Date() o Fórmula de condición.- Si el signo es N, el saldo lo multiplica por 1 ( $F{SIGNO}.equals("P") ? $F{SALDO} : new Double ($F{SALDO}.doubleValue() * new Double(-1).doubleValue())) o Para la paginación: "Pagina: " + $V{PAGE_NUMBER} + " de "

9. MANEJO DEL PRINT WHEN EXPRESSION Sirve para indicar una condición para que el campo pueda ser mostrado en el reporte o no. Debe recibir un resultado Booleano.

DELTA21 WEB

17

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

10. GRAFICOS EN IREPORTS A partir de la versión 0.4.0, iReport proporciona una herramienta para simplificar la construcción de un gráfico. Esta herramienta permite crear un gráfico configurando propiedades y datos principales que serán vistos de manera simple por el usuario final.

La creación de un gráfico se basa en una librería muy conocida de código libre llamada JFreeCharts desarrollada por David Gilbert de Object Refinery Limited. iReport soporta por ahora solamente un pequeño número de tipos de gráficos presentados en JFreeCharts, y pueden modificarse solamente algunas de las propiedades del gráfico, pero es posible aún así, crear gráficos limpios con un gran impacto a la vista. DISEÑO DE EJEMPLO

DELTA21 WEB

18

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

Para insertar un gráfico en un reporte de iReport, seleccione el objeto Chart tool de la barra de herramientas de iReport y dibuje el gráfico sobre la sección summary del reporte:

A continuación deberá seleccionar el tipo de gráfico deseado, para este ejemplo seleccionamos el tipo BAR. Oprimir el botón OK y el componente que contendrá al gráfico ya ha sido creado, lo que resta es configurar las propiedades del mismo y los datos que mostrará. Haciendo doble click sobre el componente del gráfico, se mostrará la pantalla de propiedades de este, sitúese en la pestaña Chart, a continuación oprima el botón Edit chart properties, deberá aparecer una pantalla como la siguiente: DELTA21 WEB

19

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

En la pestaña Chart properties de esta pantalla, se encuentran las propiedades que pueden modificarse para el gráfico en turno, como el nombre del gráfico, las fuentes, leyendas, ect. Puede dejar las propiedades actuales por ahora y modificarlas posteriormente. Ahora centraremos la atención en la manera de configurar los datos para el gráfico. Debe situarse en la pestaña Chart data de la pantalla anterior y enseguida en la pestaña Details. En el apartado Seriesexpression, coloque la descripción para el eje de las X , en el apartado Category expresión coloque el campo $F{} para los valores del eje X y en el apartado Value expresión coloque el campo $F{} para los valores del eje Y. Estos campos son precisamente los que se obtienen de la consulta que se estableció anteriormente, estos a su vez se mostrarán en la sección detail del reporte.

DELTA21 WEB

20

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

Fuente reporte Ireport: cliPrestamo.jrxml 11. SUBREPORTES

DELTA21 WEB

21

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

Los pasos a seguir sarán los siguientes: 1. Diseñar el reporte maestro un elemento vacío de subreporte 2. Diseñar el subreporte como un reporte más 3. Definir los enlaces entre el reporte maestro y el subreporte Después de llevar a cabo los puntos 1 y 2 debemos ser capaces de visualizar por separado reporte y subreporte usando iReport. 

Inclusión del subreporte en iReport

La inclusión de un subreporte en un reporte usando iReport supone lo mismo que incluir un campo de texto o un texto estático. Simplemente hay que pulsar el botón de Subreport tool de la barra de herramientas y después arrastrar el ratón en la banda que nos interese hasta conseguir el tamaño deseado para nuestro subreporte. La siguiente imagen muestra la parte de la barra de herramientas que incluye el botón de subreportes:

DELTA21 WEB

22

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001



Definir en el reporte maestro un parámetro, al que llamaremos SUBREPORT4, de tipo net.sf.jasperreports.engine.JasperReport. Para ello, abriremos la vista de parámetros del menú View y accederemos a la ventana de definición de parámetros. En esta ventana, pulsaremos el botón New para acceder al diálogo que nos permitirá definir nuestro parámetro. La siguiente figura intenta sintetizar lo dicho hasta ahora:



Dar clic Derecho del subreporte y acceder a sus propiedades.

DELTA21 WEB

23

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001



En la pestaña Bajo el título Connection / Datasource expression, vemos una lista desplegable. De ella, podemos seleccionar el método que usará nuestro subreporte para obtener los datos. En nuestro caso, seleccionamos el elemento Use connection expression ya que los vamos a obtener de una base de datos mediante una conexión. A continuación, escribimos la expresión que nos va a llevar a la conexión deseada. En nuestro caso, el parámetro REPORT_CONNECTION. Es decir, nuestro reporte maestro le va a pasar a nuestro subreporte la conexión referenciada en el parámetro REPORT_CONNECTION para que pueda ejecutar su consulta SQL.

DELTA21 WEB

24

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001



Enlazar y subreporte al parámetro que enlazamos anteriormente (SUBREPORT4) y crear los parámetros que recibirá el subreporte.

DELTA21 WEB

25

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001



Si intentamos visualizar el reporte maestro desde iReport, veremos sólo el reporte maestro. En el espacio del subreporte, no veremos nada. La razón es simple, no le hemos pasado al reporte maestro todos los datos necesarios para que pueda mostrarnos el subreporte. Simplemente le hemos indicado dónde los puede encontrar. La aplicación iReport no sabe crear un objeto JaspeReport y pasárselo en un parámetro al reporte maestro. Para ver el resultado final, escribiremos un pequeño programa en Java que nos acabará de llenar los huecos que iReport no puede.

Fuente reporte Ireportco: coBalanceGeneral.jrxml Llamada al reporte ver en el archivo: BalanceGeneral.jsp 12. REPORTES DINAMICOS El problema a solucionar es tener un solo reporte y pasarle dinámicamente el Query de consulta.  No definir una Query estática  Definir un parámetro sql_query de tipo string  En lugar del Query estático colocar la siguiente instrucción $P!{sql_query}

DELTA21 WEB

26

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

Fuente reporte Ireport: invInversiones.jrxml Llamada al reporte ver en el archivo: inversiones.jsp

13. USO DE CLASES JAVA 

Definir un Directorio CLASSPATH , que contendrá las clases compiladas.



Registrar las Directivas de importación.

DELTA21 WEB

27

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

DELTA21 WEB

28

LB

MANUAL IREPORTS

Documentación Fecha: 04/06/2018 NORMAS-001

En el ejemplo se Accede al método hello() de la clase Prueba. Devuelve un String

14. ENLACES DE INTERES  

http://jasperreports.sourceforge.net/ http://www.forosdelweb.com/showthread.php?t=280528

DELTA21 WEB

29