Upload
alex-bedolla
View
113
Download
0
Embed Size (px)
Citation preview
Creado por
MANUAL IREPORTSLB
Documentacin
Fecha: 09/09/2008
NORMAS-001
IMANUAL IREPORTS
Creado porLenin Boada Pino
Fecha Creacin09/09/2008
Fecha Modificacin09/09/2008
INDICE
31.INSTALACION
42.LEVANTAR IREPORTS
53.CONFIGURAR DATA SOURCE
84.Distribucin del Layout
105.Barra de herramientas
116.Definicin PARMETROS, campos y Variables
157.Definicin CONSULTA CON Parmetros
168.CAMPOS CALCULADOS
179.MANEJO DEL PRINT WHEN EXPRESSION
1810.GRAFICOS EN IREPORTS
2111.SUBREPORTES
2612.REPORTES DINAMICOS
2713.USO DE CLASES JAVA
2914.ENLACES DE INTERES
1. INSTALACION1. 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
3. Instalar Ireport
a. Copiar la carpeta en el siguiente PATH
2. LEVANTAR IREPORTSEjecutar C:\Archivos de Programa\Apache\Ireport-1.2.0\ireport.bat
La interfaz grfica de iReport comienza a cargarse:
3. CONFIGURAR DATA SOURCE Verificar que los archivos *.jar que permiten la conexin va JDBC estn definidos en la variable de sistema
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 conexin.
JDBC URL: La direccin URL de donde se encuentra alojado el ambiente de trabajo de la base de datos.
Especificar la cadena de conexin con la base de datos, colocar usuario y password.
Salvar la configuracin de la conexin.
Presionar el botn Test, para verificar que la conexin este correcta, para la cual deber aparecer la siguiente ventana:
Para Oracle los parmetros son:
4. Distribucin del Layout
La apariencia del layout (plantilla) de la pgina del reporte es la siguiente:
Donde:
title Aparece slo al inicio del reporte. El ttulo se escribe en est seccin. Ejemplo: Reporte de Desempeo de los empleados pageHeader Aparece en la parte superior de cada pgina. Puede contener informacin como la fecha y hora, nombre de la organizacin, 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 seccin se despliegan los valores correspondientes a las entradas de campos definidas en la seccin anterior. Por ejemplo Juan Perez, 09:00, 18:00, 9,2005-04-27 columnFooter Puede presentar informacin sumarizada para cada uno de los campos. Por ejemplo Total de Horas Trabajadas: 180 pageFooter Aparece en la parte inferior de cada pgina. Este parte puede presentar, el contador de pginas como Pgina 1/7 summary Esta seccin se usa para proporcionar informacin sumarizada de los campos presentes en la seccin detail por ejemplo para el caso de las horas trabajadas de cada empleado se puede definir un objeto grfico tipo pie para tener una mejor comparacin y comprensin visual de los datos.
5. Barra de herramientas
Los objetos de texto, imgenes, etc pueden ser colocados en la plantilla del documento usando el mtodo de arrastrar y pegar.
Para insertar texto puro usar:
Para insertar campos (Fields) usar:
Para insertar imgenes 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.
A medida que insertemos objetos de texto (estticos y campos dinmicos), nuestro reporte empezar a definir la apariencia visual que buscamos.
6. Definicin PARMETROS, campos y Variables
Para definir los parmetros se tiene que pulsar el botn Parameters desde la barra de herramientas
Los documentos que se generan con iReports + jasperreports tienen varios valores que son seteables o configurables, estos son parmetros, campos (Fields) y variables:
a)Parmetros: son valores generales como el titulo del reporte / subreporte, ubicacin, autor, etc.
b)Campos (Fields): son los campos tipo texto que llenaremos desde las consultas lanzadas a la aplicacin durante la ejecucin del reporte.
c) Variables: una variable es un valor calculado como una sumatoria.
Los objetos de tipo TextField, deben definir un campo field en su vieta 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.
7. Definicin CONSULTA CON Parmetros
RECOMENDACIONES: USAR SQL ESTNDAR
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 parmetros en ireports de debe hacer referencia a los parmetros 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}
ORDER BY CODIGO
8. CAMPOS CALCULADOS Crear un nuevo TextField , dar clic derecho e ir a sus propiedades.
Poner la frmula clculo en TEXTFIELD EXPRESSION.
Tanto parmetros, campos o variables pueden participar en una frmula.
Parmetros -> $P{nombre_parametro}
Campo -> $F{nombre_campo}
Variable -> $V{nombre_variable}
Se deben respetar estrictamente el manejo de tipos de datos del lenguaje JAVA.
Por ejemplo:
No se podrn sumar String y tipos de Datos Double.
No se podrn sumar DATE , para eso se usan los mtodos propios de la Clase DATE.
Ejemplos de frmulas utilizados:
Suma de valores Double.
new Double ( V{totalactivo}.doubleValue()+ $V{total4}.doubleValue()+ $V{total61}.doubleValue()+ $V{total63}.doubleValue()+ $V{total71}.doubleValue()+ $V{total73}.doubleValue())
Obtener la fecha actual
new Date()
Frmula de condicin.- 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()))
Para la paginacin:
"Pagina: " + $V{PAGE_NUMBER} + " de "
9. MANEJO DEL PRINT WHEN EXPRESSION
Sirve para indicar una condicin para que el campo pueda ser mostrado en el reporte o no. Debe recibir un resultado Booleano.
10. GRAFICOS EN IREPORTS
A partir de la versin 0.4.0, iReport proporciona una herramienta para simplificar la construccin de un grfico. Esta herramienta permite crear un grfico configurando propiedades y datos principales que sern vistos de manera simple por el usuario final.
La creacin de un grfico se basa en una librera muy conocida de cdigo libre llamada JFreeCharts desarrollada por David Gilbert de Object Refinery Limited. iReport soporta por ahora solamente un pequeo nmero de tipos de grficos presentados en JFreeCharts, y pueden modificarse solamente algunas de las propiedades del grfico, pero es posible an as, crear grficos limpios con un gran impacto a la vista.DISEO DE EJEMPLO
Para insertar un grfico en un reporte de iReport, seleccione el objeto Chart tool de la barra de herramientas de iReport y dibuje el grfico sobre la seccin summary del reporte:
A continuacin deber seleccionar el tipo de grfico deseado, para este ejemplo seleccionamos el tipo BAR. Oprimir el botn OK y el componente que contendr al grfico 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 grfico, se mostrar la pantalla de propiedades de este, sitese en la pestaa Chart, a continuacin oprima el botn Edit chart properties, deber aparecer una pantalla como la siguiente:
En la pestaa Chart properties de esta pantalla, se encuentran las propiedades que pueden modificarse para el grfico en turno, como el nombre del grfico, las fuentes, leyendas, ect. Puede dejar las propiedades actuales por ahora y modificarlas posteriormente. Ahora centraremos la atencin en la manera de configurar los datos para el grfico.
Debe situarse en la pestaa Chart data de la pantalla anterior y enseguida en la pestaa Details. En el apartado Seriesexpression, coloque la descripcin para el eje de las X , en el apartado Category expresin coloque el campo $F{} para los valores del eje X y en el apartado Value expresin 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 mostrarn en la seccin detail del reporte.
Fuente reporte Ireport: cliPrestamo.jrxml
11. SUBREPORTES
Los pasos a seguir sarn los siguientes:
1. Disear el reporte maestro un elemento vaco de subreporte
2. Disear el subreporte como un reporte ms
3. Definir los enlaces entre el reporte maestro y el subreporte
Despus de llevar a cabo los puntos 1 y 2 debemos ser capaces de visualizar por separado reporte y subreporte usando iReport.
Inclusin del subreporte en iReport
La inclusin de un subreporte en un reporte usando iReport supone lo mismo que incluir un campo de texto o un texto esttico. Simplemente hay que pulsar el botn de Subreport tool de la barra de herramientas y despus arrastrar el ratn en la banda que nos interese hasta conseguir el tamao
deseado para nuestro subreporte.
La siguiente imagen muestra la parte de la barra de herramientas que incluye el botn de
subreportes:
Definir en el reporte maestro un parmetro, al que llamaremos SUBREPORT4, de tipo net.sf.jasperreports.engine.JasperReport.
Para ello, abriremos la vista de parmetros del men View y accederemos a la ventana de definicin de parmetros. En esta ventana, pulsaremos el botn New para acceder al dilogo que nos permitir definir nuestro parmetro. La siguiente figura intenta sintetizar lo dicho hasta ahora:
Dar clic Derecho del subreporte y acceder a sus propiedades.
En la pestaa Bajo el ttulo Connection / Datasource expression, vemos una lista desplegable. De ella, podemos seleccionar el mtodo 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 conexin.
A continuacin, escribimos la expresin que nos va a llevar a la conexin deseada. En nuestro caso, el parmetro REPORT_CONNECTION.
Es decir, nuestro reporte maestro le va a pasar a nuestro subreporte la conexin referenciada en el parmetro REPORT_CONNECTION para que pueda ejecutar su consulta SQL.
Enlazar y subreporte al parmetro que enlazamos anteriormente (SUBREPORT4) y crear los parmetros que recibir el subreporte.
Si intentamos visualizar el reporte maestro desde iReport, veremos slo el reporte maestro. En el espacio del subreporte, no veremos nada.
La razn es simple, no le hemos pasado al reporte maestro todos los datos necesarios para que pueda mostrarnos el subreporte. Simplemente le hemos indicado dnde los puede encontrar. La
aplicacin iReport no sabe crear un objeto JaspeReport y pasrselo en un parmetro al reporte maestro.
Para ver el resultado final, escribiremos un pequeo 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 dinmicamente el Query de consulta.
No definir una Query esttica Definir un parmetro sql_query de tipo string En lugar del Query esttico colocar la siguiente instruccin $P!{sql_query}
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 importacin.
En el ejemplo se Accede al mtodo 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 WEB1