Curso de Ireport

33
MANUAL IREPORTS LB Documentació n Fecha: 14/08/2022 NORMAS-001 I MANUAL IREPORTS DELTA21 WEB 1 Creado por Lenin Boada Pino Fecha Creación 14/08/2022 Fecha Modificación 14/08/2022

Transcript of Curso de Ireport

Page 1: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

I

MANUAL IREPORTS

DELTA21 WEB 1

Creado por Lenin Boada PinoFecha Creación 12/04/2023Fecha Modificación 12/04/2023

Page 2: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

INDICE

1. INSTALACION....................................................................................................................................32. LEVANTAR IREPORTS......................................................................................................................43. CONFIGURAR DATA SOURCE........................................................................................................54. DISTRIBUCIÓN DEL LAYOUT.........................................................................................................85. BARRA DE HERRAMIENTAS.........................................................................................................106. DEFINICIÓN PARÁMETROS, CAMPOS Y VARIABLES.............................................................117. DEFINICIÓN CONSULTA CON PARÁMETROS...........................................................................158. CAMPOS CALCULADOS.................................................................................................................169. MANEJO DEL PRINT WHEN EXPRESSION..................................................................................1710. GRAFICOS EN IREPORTS.........................................................................................................1811. SUBREPORTES...........................................................................................................................2112. REPORTES DINAMICOS...........................................................................................................2613. USO DE CLASES JAVA..............................................................................................................2714. ENLACES DE INTERES.............................................................................................................29

DELTA21 WEB 2

Page 3: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 4: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

3. Instalar Ireporta. 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

Page 5: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 6: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

Configurar los DataSource JDBC

Seleccionar DataSource--> Connection/DataSource-->New

 

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.

DELTA21 WEB 6

Page 7: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 8: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 9: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 10: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 11: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 12: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 13: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

   

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

 

    DELTA21 WEB 13

Page 14: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 15: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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_CTAWHERE CODIGO BETWEEN $P{CodigoIni} AND $P{CodigoFin} AND ID_EMPRESA=$P{Empresa}

DELTA21 WEB 15

Page 16: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 17: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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 actualnew 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

Page 18: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 19: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 20: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 21: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

Fuente reporte Ireport: cliPrestamo.jrxml

11. SUBREPORTES

DELTA21 WEB 21

Page 22: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

Los pasos a seguir sarán los siguientes:

1. Diseñar el reporte maestro un elemento vacío de subreporte2. Diseñar el subreporte como un reporte más3. 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ñodeseado para nuestro subreporte.La siguiente imagen muestra la parte de la barra de herramientas que incluye el botón desubreportes:

DELTA21 WEB 22

Page 23: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 24: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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

Page 25: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

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

DELTA21 WEB 25

Page 26: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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. Laaplicació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

Page 27: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

Fuente reporte Ireport: invInversiones.jrxmlLlamada 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

Page 28: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

NORMAS-001

DELTA21 WEB 28

Page 29: Curso de Ireport

MANUAL IREPORTS

LB

Documentación

Fecha: 12/04/2023

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