Sie sind auf Seite 1von 11

Tutorial Patrn de Impresin y JasperReport

Introduccin
Bueno, ahora voy a pasar a explicar cmo hacer un reporte con NetBeans y
JasperReport para luego terminar con el patrn de impresin.

Creacin de un reporte
El proceso para realizar un reporte, tanto para reportes que se
sobreimprimen como para reportes que se imprimen desde cero, es el
siguiente.
Primero vamos a definir la carpeta donde se van a ubircar los archivos jrxml
que son la salida de la elaboracin de un reporte con JasperReport. Una vez
que tengamos definida la ruta vamos a realizar la siguiente secuencia:
Creamos un nuevo reporte:

Seleccionamos Empty report y le damos a Siguiente> o Next>

En newReport ponemos el nombre del Archivo jrxml. El nombre tiene que


ser representativo.
Clic en Finalizar o Finish y ya tenemos creado un reporte, ahora vamos a
disearlo.

Diseo de Reportes
Para empezar voy a explicar cada una de las partes de un reporte en
JasperReport. Esto aplica tanto si trabajamos en NetBean o en JasperSoft.
Un reporte recin creado tiene la siguiente estructura:

El ttulo de nuestro reporte debe escribirse en esta seccin. Solo se mostrar en la primera pgina del reporte.

Aparece en la parte superior de cada pgina. Puede contener informacin adicional del reporte, descripciones,

etc.

En esta seccin se muestran los nombres de los campos que se van a presentar

En esta seccin se despliegan los valores correspondientes a los nombres de los campos definidos en la seccin anterior.

Puede presentar informacin de totales para algunos de los campos de la seccin detail. Por ejemplo Total de Empleados: 220

Aparece en la parte inferior de cada pgina. Este parte puede presentar, la fecha, nmero de pgina del reporte.

Esta seccin puede presentar totales de campos de la seccin detail. Si se desea incluir algn grfico en el reporte, debe hacerse en esta se

Este es el navegador, paso a explicar algunos de los tems.

Styles: A cada reporte se le puede aplicar distintos estilos, es ac


donde se ubican los mismos.
Parameters: son los parmetros que recibe un reporte a la hora de
su creacin en tiempo de ejecucin, el parmetro fundamental es
OBJECT donde se ubica el objeto PRINCIPAL del reporte. Mas a delante
voy a explicar con ms detalle este parmetro cuando explique el
patrn de impresin.
Fields: los fields son los datos que se van a mostrar en cada una de
las filas en el detalle, es decir si nosotros en el detalle vamos a
mostrar un detalle de factura, y ese detalle tiene cantidad,
descripcin, precio unitario y subtotal, entonces en fields tendremos
esos atributos, por cada vuelva imprimiremos esos datos. Los fields
se puede definir a partir de una consulta o de un
JavaBeansDataSource que es caso que vamos a utilizar nosotros.
Variables: Las variables son usadas para realizar clculos y
guardarlos para luego ser mostrados en el reporte. Las variables por
defecto son cantidad de pginas, cantidad de columnas, pgina
actual, etc.

Antes de trabajar con Objetos en IReport debemos realizar algo muy


importante, definir las clases que vamos a mostrar en el reporte en el
classpath de IReport. Para eso vamos a realizar los siguiente vamos a las
opciones de IReport: Tools > Options

As deber quedar en IReport en la solapa Classpath.

Ahora para corroborar que el jar se cargo correctamente. Vamos a hacer lo


siguiente:

Y colocamos en la solapa JavaBeans DataSource el nombre de la clase y


luego en Read atributes. Les tiene que listar todos los atributos de la clase.
Como ven la solapa dice JAVABEANS, esto quiere decir que la clase tiene que
ser un BEAN, bsicamente es una clase que cumple con un estndar lo que
la hace manejable por distintos entornos, en este caso IReport con
NetBeans, este estndar nos ayuda a manejar el objeto sin saber cmo est
compuesto. Una de las reglas que deben cumplir las clases para ser un Bean
es la siguiente:

Los atributos tienen que tener su respectivo get y set. Respetando el


nombre de dicho atributo. Es decir si tengo un atributo que se llama
numeroDeComprobante tengo que tener los mtodos
getNumeroDeComprobante y setNumeroDeComprobante. Los
atributos booleanos por ejemplo si tengo el atributo facturaImpresa
tengo que tener isFacturaImpresa y setFacturaImpresa.

Afortunadamente esto lo hace NetBeans por nosotros pero es bueno


saberlo por si no lo definimos con NetBeans.

Patrn de Impresin
Diseo de Reporte
Ahora voy a explicar como parametrizar el reporte para luego disearlo
como cualquier reporte.
Para poder utilizar el reporte con el patrn de impresin primero lo que
debemos hacer es definir un parmetro con el nombre OBJETO como
muestra la siguiente imagen

Como vemos en las propiedades del parmetro OBJETO la clase tiene que
tener el mismo nombre que nosotros definimos en GAIA.
Una vez que tenemos hecho esto podemos utilizar sus mtodos de la
siguiente manera.
RECORDEMOS: El Objeto que nosotros vamos a tratar DEBE ser un
JavaBean. En resumen debe tener los mtodos set and get y los is
y set (solo para atributos booleans). Tambin debe tener el
constructor por defecto.

Luego podemos utilizar los mtodos del objeto en el diseo del reporte sin
tener que preocuparnos por consultas SQL. Se muestra el ejemplo del ticket
de Balanza.

Llamada del Reporte


Libreras para le ejecucin: Se debern tener las siguientes libreras
para la ejecucin de los reportes.

Todas estas librearas se podrn sacar donde se instalo iReport.

Impresin del Reporte:


Para imprimir el reporte bsicamente utilizamos las siguientes clases:
ImpresionListener: Antes de imprimir un reporte tenemos que
implementar esta clase para escuchar los eventos de impresin:
onImpresionStart: Este evento se lanza cuando comienza la
impresin.

onImpresionFinish: Este evento se lanza cuando termina la


impresin.
onImpresionError(Exception ex): este evento se lanza cuando
hubo algn error en la impresin, y recibimos la excepcin que
ocurri.
GestorImpresion: Es el encargado de imprimir el reporte, como se ven en
el ejemplo de ticket impresin PDF, pero existen otras impresiones
implementadas.
Actualmente se tiene las siguientes formas de impresin:
printToPDFArchive(Object object, String pathToExport, InputStream
pathJRXML): imprime en pDF. (Ver JavaDoc)
printToPrinter(Object object, boolean withDialog, String pathJRXML):
impresin a dispositivo de impresin. (Ver JavaDoc).

Ejemplo Prctico Reportes Simple: Impresin de Ticket de


Balanza
Como vemos la clase GestorEmitirRomaneo

Luego sus mtodos implementados:

Al realizar clic en imprimir ticket:

Se genera el ticket de balanza

Luego el proceso de generacin del ticket, este proceso puede ser


cualquiera, como por ejemplo registrar un CDI, Registrar una Liquidacin,
etc. Lo importante ac es generar el objeto para la impresin.

El mtodo imprimirTicket es el esencial para generar la impresin.

Como se ve se genera un nuevo GestorImpresion y se tiene que generar los


siguientes parmetros.
Export: es la ruta donde se va a exportar el ticket generado en PDF, porque
en este caso se utiliza la impresin PDF.
Jrxml: es la ruta donde se encuentra el archivo jrxml, bsicamente el
reporte diseado.
Ticket: el objeto para imprimir en el reporte.

Ejemplo Prctico Reportes Complejo: Impresin CDI


Prximamente :D

Das könnte Ihnen auch gefallen