Professional Documents
Culture Documents
GUIA DE
PROGRAMACIN
JAVA CON
iReport EN
NETBEANS.
Miguel Angel Recalde
[INGENIERA DE SOFTWARE II
GUA DE PRGRAMACIN]
.
Ingeniera de Software II
Gua de Programacin
Contenido
Contenido .......................................................................................................................................... 1
REPORTES con iReport ........................................................................................................................ 3
Instalar el plugin iReport ..................................................................................................................... 3
Instalar la librera jaspertreports-4.7.1.tar ........................................................................................... 6
Verificar la librera JasperReports. ....................................................................................................... 7
Eliminar librera JasperReports 3.0.1 .........................................................................................................8
Crear nueva librera jasperReports ............................................................................................................8
Agregar archivos Jar a la biblioteca jasperReports ....................................................................................9
Crear nuevo paquete. ....................................................................................................................... 11
Definir Origen de Datos. ................................................................................................................... 12
Crear nuevo reporte. ........................................................................................................................ 15
Definir la Base de Datos. ................................................................................................................... 22
Agregar campos al reporte ................................................................................................................ 29
Pre visualizar un reporte. .................................................................................................................. 31
Agregar fecha y hora......................................................................................................................... 33
Agregar paginador. ........................................................................................................................... 38
Agregar color de fondo. .................................................................................................................... 46
Agregar bibliotecas iReport y Jasper Report ...................................................................................... 51
Agregar eventos al men Reporte de Productos. ............................................................................... 54
Ejecutar reporte desde la ventana principal....................................................................................... 56
Guardar Reporte............................................................................................................................... 58
Uso de Variables y Parmetros.......................................................................................................... 59
Configurar propiedades de las bandas .....................................................................................................64
Prof. Lic. Miguel Angel Recalde.
Pgina 1
Ingeniera de Software II
Gua de Programacin
Pgina 2
Ingeniera de Software II
Gua de Programacin
Es una herramienta de soporte de la librera JasperReports que ayuda a la edicin de los informes complejos
mediante un editor grfico, permitiendo la inclusin de grficos, imgenes y subinformes. Est desarrollada en
cdigo Java y es de libre distribucin
Pgina 3
Ingeniera de Software II
Gua de Programacin
Pgina 4
Ingeniera de Software II
Gua de Programacin
Luego segumos los pasos, aceptamos las condiciones , presionamos el boton Terminar y ya tenemos
instalado nuestro plugin.
Pgina 5
Ingeniera de Software II
Gua de Programacin
Ahora una vez descargado e instalado ya los podemos visualizar desde Netbeans.
Tambin vamos a notar que aparecen nuevos iconos propios del iReport en nuestro Netbeans.
Pgina 6
Ingeniera de Software II
Gua de Programacin
Una vez en la ventana de Administrador de Bibliotecas vamos a buscar la librera JasperReports 3.0.1 y
alli nos daremos cuenta que nuestra librera presenta unos cuantos errores, todas las rutas en rojo o
direcciones nos indican que no puede encontrar el jar correspondiente.
Pgina 7
Ingeniera de Software II
Gua de Programacin
Figura 10: Vista de los jar que contiene la librera JasperReport 3.0.1
Figura 11: Vista pasos a seguir para crear una Nueva biblioteca
Pgina 8
Ingeniera de Software II
Gua de Programacin
Figura 13: Vista de los archivos jar a ser agregados desde la carpeta dist
El sguiente paso es agregar los otros jar que faltan para ello nos vamos nuevamente a nuestra carpeta
jasperreports-4.7.1 y alli seleccionamos la carpeta lib, dentro de esta carpeta seleccionamos los jar que
muestran en la imagen y por ultimos seleccionamos el botn Agregar archivo JAR/Carpeta.
Prof. Lic. Miguel Angel Recalde.
Pgina 9
Ingeniera de Software II
Gua de Programacin
Figura 14: Vista de los archivos jar a ser agregados desde la carpeta lib
Pgina 10
Ingeniera de Software II
Gua de Programacin
Figura 16: Vista de los pasos a seguir para crear un nuevo Paquete en Java.
Esto nos lleva a la ventana Nuevo Paquete Java donde le agregamos el nombre y elegimos el botn
Terminar.
Prof. Lic. Miguel Angel Recalde.
Pgina 11
Ingeniera de Software II
Gua de Programacin
Figura 17: Vista del paso 2 Nombre y ubicacin del nuevo paquete.
Esto nos lleva a la ventana Connection / Datasources donde tenemos que definir nuestro origen
de datos para ello presionamos el botn New.
Pgina 12
Ingeniera de Software II
Gua de Programacin
iReport ella permite hacer la conexin con varios tipos de Bases de datos o varias fuentes de datos, para
nuestro ejemplo vamos a usar Database JDBC conection pero podramos utilizar una conexin de
NetBeans Database JDBC connection o el de Hibernate por ejemplo.
Pgina 13
Ingeniera de Software II
Gua de Programacin
Presionamos el botn Next, esto nos lleva a la ventana de Database JDBC connection donde
tenemos que asignarle un nombre para nuestro ejemplo ser systvent, tambin tenemos que
seleccionar el driver, recuerden que estamos usando MySql, luego le pasamos la ruta completa a
nuestra base de datos, tambin completamos la direccin del servidor, el nombre de la Base de
Datos, el nombre de usuario de la Base de Datos y su contrasea, all podemos presionar el botn
Test.
Figura 21: Vista de los datos a completar en la ventana Database JDBC connection.
Pgina 14
Ingeniera de Software II
Gua de Programacin
Figura 23: Vista del nombre y tipo de origen de datos en la ventana Connections / Datasources.
Pgina 15
Ingeniera de Software II
Gua de Programacin
Figura 25: Vista de los pasos a seguir para crear un nuevo reporte.
Esto nos lleva al Paso 1 escogemos el tipo de Archivo de la ventana Archivo nuevo donde en Categoras
vamos a elegir la carpeta iReport y en Tipos de archivos para nuestro ejemplo vamos a elegir Report
Wizard, luego presionamos el botn Siguiente.
Pgina 16
Ingeniera de Software II
Gua de Programacin
En el Paso 2 Nombre y ubicacin de la ventana Archivo nuevo lo primero que vamos a hacer es elegir un
modelo en el Layout, como podemos observar existen varios tipos:
Figura 27: Vista del paso 1 defuncin del tipo de Layout de la ventana Archivo nuevo.
Aqu es donde vamos a definir el tipo de reporte que vamos a usar, para nuestro ejemplo elegimos
Blank A4, luego presionamos el botn Siguiente.
Pgina 17
Ingeniera de Software II
Gua de Programacin
Figura 28: Vista del paso 3 Nombre y Ubicacin del nuevo reporte.
En esta ventana le vamos a asignar un nombre por ejemplo Productos y luego presionamos el botn
Siguiente.
En el paso 4 Fields de la ventana Nuevo Report Wizard es donde tenemos que definir el diseo de
nuestra consulta (Query), en este punto podemos introducir nuestro cdigo SQL que es la consulta que
nosotros tenemos que hacer a nuestra Base de Datos para poder generar nuestro reporte, esta consulta
la podemos hacer de forma manual o lo podemos hacer de forma automtica, entonces nosotros para
nuestro ejemplo vamos a tomar la segunda opcin y seleccionamos el botn Desing Query.
Esto nos lleva a la ventana donde aparecen todas las tablas de nuestra Base de Datos, entonces vamos a
seleccionar primero la tabla productos haciendo doble clic sobre ella y tambin vamos a seleccionar la
tabla proveedores tambin haciendo doble clic sobre ella.
Figura 29: Vista de las tablas seleccionadas dentro de la ventana Design Query.
Pgina 18
Ingeniera de Software II
Gua de Programacin
Si nos fijamos aparecen todos los campos marcados de ambas tablas pero para nuestro ejemplo nosotros
solo vamos a querer mostrar el cdigo del producto, su descripcin, su precio de venta y el nombre del
proveedor de ese producto, entonces vamos a dejar marcado solo esas opciones, en el grafico tambin
podemos observar la relacin que existe entre estas tablas, en realidad iReport va a hacer un join entre
esas tablas.
Figura 30: Vista de los campos seleccionados dentro las tablas productos y proveedor de la ventana Design
Query.
Presionamos el botn OK y en la ventana ya podemos observar el query que iReport creo por nosotros.
Figura 31: Vista de la consulta creada automticamente desde la ventana Desingn query.
Pgina 19
Ingeniera de Software II
Gua de Programacin
Observamos el SQL que iReport creo donde primero hace un select, luego observamos el INNER JOIN
entre las tablas, en este punto nosotros tambin podemos guardar esa consulta.
Presionamos el botn Siguiente, y en el paso 5 no vamos a definir ningn grupo, luego en el paso 6 nos
muestra la ventana Archivo nuevo con el mensaje de Felicitacin donde nos indica que el nuevo reporte
fue creado satisfactoriamente, presionamos finalmente el botn Terminar.
Figura 32: Vista del mensaje de felicitacin por la creacin exitosa del reporte.
Figura 33: Vista del diseo de la estructura del nuevo reporte creado.
Aqu Netbeans ya abri nuestro reporte para poder disearlo, ahora ya tenemos la estructura del
reporte, en el mdulo de la izquierda tenemos nuestro Report Inspector donde iReport nos muestra
cuales son los archivos o los reportes que estn abiertos en este momento, como podemos observar el
Prof. Lic. Miguel Angel Recalde.
Pgina 20
Ingeniera de Software II
Gua de Programacin
reporte abierto ahora es Productos, tambin all podemos observar todos los objetos que nosotros
tenemos en nuestro reporte como por ejemplo el Titulo (Title), la cabecera (Page Header), etc.
Tambin en la parte de abajo podemos observar nuestra consola de salida que es donde iReport nos va a
mostrar todas las acciones que estn siendo ejecutadas en este momento.
En el panel de la derecha tenemos la Paleta y las Propiedades donde nos muestra las propiedades del
objeto que estn siendo seleccionados.
Estos paneles lo podemos minimizar para poder trabajar mejor sobre nuestra rea de trabajo, nosotros
podemos observar que las ventanas de Propiedades, Paleta y Chat estn minimizadas, tambin los estn
Prof. Lic. Miguel Angel Recalde.
Pgina 21
Ingeniera de Software II
Gua de Programacin
Nosotros podemos observar aqu que iReport divide la hoja de trabajo en varias bandas, primero
tenemos el ttulo (Title), luego tenemos la cabecera de la pgina (Page Header), despus tenemos la
cabecera de la columna (Column Header), el detalle (Detail), el pie de columna (Column Footer), el fin
de pgina que es el pie de pgina (Page Footer) y por ltimo el Summany.
Pgina 22
Ingeniera de Software II
Gua de Programacin
Ella abre nuestra ventana Report query donde nosotros ya tenemos definido nuestra consulta.
En esta ventana vamos a seleccionar la opcin Automatic Retrieve Fields para recuperar de forma
automtica los campos que seleccionamos de nuestra Base de Datos.
Prof. Lic. Miguel Angel Recalde.
Pgina 23
Ingeniera de Software II
Gua de Programacin
Figura 38: Vista de la opcin Automatically Retrieve Fields seleccionada dentro de la ventana Report query.
Ahora podemos observar en la parte de abajo el nombre (Field name) y el tipo (Field type) de cada uno
de los campos, ahora hacemos clic en el botn OK.
Figura 39: Vista de los campos a utilizar dentro de Fields de la ventana Report Inspector.
En este momento nosotros lo que definimos fue los campos que va a tener nuestro reporte y esos
campos ya se pueden observar en la opcin Fields del Report Inspector.
Prof. Lic. Miguel Angel Recalde.
Pgina 24
Ingeniera de Software II
Gua de Programacin
Ahora vamos a hacer algunos cambios en las bandas, comenzamos con la banda ttulo (Title) lo vamos a
seleccionar y en sus propiedades vamos elegir la altura de la banda (Band height) y all vamos a poner un
valor de veinte (20).
Ahora lo que vamos a hacer en este punto es agregar un texto esttico (Static text) en la banda Title,
para ello nos vamos en la paleta, la seleccionamos y despus la colocamos en la cabecera con el mismo
tamao de la banda veinte (20), luego nos vamos en sus Propiedades.
Figura 41: Figura 28: Vista de la etiqueta Static Text agregada a la banda Title.
Vamos a agregar un ttulo a nuestro reporte, para nuestro ejemplo lo vamos a llamar Reporte de
Productos Proveedor, luego en sus propiedades ponemos que la alineacin horizontal (Horizontal
alignment) ser en el centro(Center), que la Alineacin vertical (Vertical alignment)ser en el medio
Prof. Lic. Miguel Angel Recalde.
Pgina 25
Ingeniera de Software II
Gua de Programacin
(Middle), el tamao (Size) de la letra ser 14, la fuente (Font name) que vamos a usar es Arial, le vamos a
asignar un color de letra (Forecolor), la ponemos en negrita (Bold) y en Text definimos el ttulo que
tendr nuestro Reporte.
Figura 42: Vista de los cambios realizados en las propiedades de la etiqueta agregada.
Pgina 26
Ingeniera de Software II
Gua de Programacin
Figura 43: Vista del cambio de propiedades realizado a la banda Page Header.
Luego de esta accin ya desapareci ese Page Header de nuestro reporte y si nosotros quisiramos que
vuelva a aparecer entonces nos vamos al iReport inspector y all seleccionamos Page Header y
cambiamos nuevamente en sus propiedades.
Figura 44: Vista del cambio de propiedades realizado a la banda Page header.
Pgina 27
Ingeniera de Software II
Gua de Programacin
Ahora en esta banda Column Header vamos en sus propiedades y le damos una altura (Band height) con
el valor de veinte (20).
Figura 45: Vista del cambio de propiedades realizado a la banda Column Header.
Luego seleccionamos la banda Detail y le asignamos tambin una altura (Band height) con el valor de
veinte (20).
Pgina 28
Ingeniera de Software II
Gua de Programacin
Figura 47: Vista del campo Cdigo de Producto agregado a la banda Detail.
Luego continuamos de la misma manera con los dems campos, al final debera quedar ms o menos as.
Figura 48: Vista de todos los campos y las etiquetas agregadas a las bandas Column Header y Detail.
Ahora hacemos que todos los campos tengan el mismo tamao que el ttulo, tambin en sus
propiedades podemos hacer que aparezcan centrados, cambiar de color, etc., siguiendo los mismos
pasos vistos anteriormente.
Prof. Lic. Miguel Angel Recalde.
Pgina 29
Ingeniera de Software II
Gua de Programacin
Figura 49: Vista de los cambios realizados a las propiedades del campo de texto y a las etiquetas.
Ahora vamos a seleccionar el campo descripcin de productos y seleccionar en sus propiedades la opcin
Text Field Expression.
Figura 50: Vista de la expresin definida dentro de la ventana Text Field Expression.
Pgina 30
Ingeniera de Software II
Gua de Programacin
Para nuestro ejemplo vamos a elegir Test Report Preview o tambin podemos visualizar eligiendo el
botn Preview.
Pgina 31
Ingeniera de Software II
Gua de Programacin
Figura 52: Vista del reporte generado con los datos guardados dentro de la base de Datos.
Lo que hizo aqu iReport fue consultar la base de datos y luego nos muestra el reporte, en ella se puede
observar los ttulos que son campos estticos y tambin ya nos muestra los valores de cada campo,
iReprt nos trajo el cdigo del producto, el nombre del producto, su precio de venta y el nombre del
proveedor tambin podemos observar en la pestaa Finished que l cre un archivo con llamado
ReportProductos.jasper, este archivo tiene una extensin .jasper .
Tambin podemos observar que nuestro reporte solo tiene ms de una pgina, eso es porque tenemos
cargado muchos productos en nuestra tabla.
Ahora vamos a poner esa banda Page Footer en sus propiedades.
Prof. Lic. Miguel Angel Recalde.
Pgina 32
Ingeniera de Software II
Gua de Programacin
Ahora en el pie de pgina vamos a modificar su tamao, nos vamos nuevamente en sus propiedades y
ponemos que va a tener un tamao de veinte (20).
Figura 53: Vista del cambio realizado en las propiedades de la banda Page Footer.
Pgina 33
Ingeniera de Software II
Gua de Programacin
Ella en este punto nos va a preguntar en Categoras si queremos insertar una fecha (Date) o la hora
(Time), en Type podemos elegir el formato que queremos utilizar, vamos a usar l nos muestra el da, la
fecha, el mes y el ao, entonces presionamos el botn Apply.
Ahora ya podemos observar en sus propiedades que Text Field Expression que est instanciando a
java.util.date().
Pgina 34
Ingeniera de Software II
Gua de Programacin
Ahora vamos a ejecutar nuevamente nuestro reporte para ver si nos hizo los cambios, como podemos
observar aparecen los mismos datos de la cabecera y el detalle.
Pgina 35
Ingeniera de Software II
Gua de Programacin
Y ah est la fecha que le acabamos de agregar, ahora vamos a agregar la hora de impresin para ello
seguimos los mismos pasos vistos anteriormente, seleccionamos la opcin Current Date y la arrastramos
nuevamente sobre la banda Page Footer, entonces nos aparece nuevamente la ventana Pattern editor
donde en Category elegimos la opcin Time y luego su tipo.
Pgina 36
Ingeniera de Software II
Gua de Programacin
Figura 60: Vista de la nueva fecha hora agregada a la banda Page Footer.
Vamos a hacer correr nuevamente para ver si nos tom los cambios.
Muy bien ahora vamos a hacer que esa banda Summany no aparezca para ello la seleccionamos y en sus
propiedades Band height le damos un valor de cero (0).
Prof. Lic. Miguel Angel Recalde.
Pgina 37
Ingeniera de Software II
Gua de Programacin
Ahora vamos a colocar un paginador en el pie de pginas pero esta vez lo vamos a colocar en el lado
derecho, para ello nuevamente vamos a agregar un campo de texto de tipo Text Field.
Agregar paginador.
Ahora seleccionamos nuestro campo de texto y en sus propiedades vamos a alinearlo en la horizontal en
el centro y en la vertical en el medio, y en Text Field Expression vamos a hacer algunas modificaciones.
Prof. Lic. Miguel Angel Recalde.
Pgina 38
Ingeniera de Software II
Gua de Programacin
Ahora vamos editar esta expresin primero vamos a borrar la expresin $F{field} y agregamos Pagina
+
Figura 65: Vista de la ventana Text Field Expression con la nueva expresin agregada.
Pgina 39
Ingeniera de Software II
Gua de Programacin
Luego tenemos que agregarle una variable, dentro de la opcin Variables vamos a encontrar todas la
variables que ya estn predefinidas, como queremos agregar el nmero de la pgina entonces
presionamos dos veces PAGE_NUMBER con el mouse y ella lo agrega automticamente dentro de la
expresin $V(PAGE_NUMBER).
Figura 66: Vista de la ventana Text Field Expression con la nueva Variable agregada.
Figura 67: Vista de la ventana Text Field Expression con la nueva expresin agregada.
Pgina 40
Ingeniera de Software II
Gua de Programacin
Figura 68: Vista del campo de texto con las modificaciones agregadas.
Ahora vamos a agregar otro campo de texto ms desde la Paleta siempre siguiendo los mismos pasos
vistos anteriormente.
Pgina 41
Ingeniera de Software II
Gua de Programacin
Ahora nos vamos nuevamente en sus propiedades y nuevamente vamos a cambiar la clase de expresin
a entero (Integer).
Y en la Expresin del Campo de Texto (Text field Expression) tambin vamos editar la expresin del
campo de texto.
Pgina 42
Ingeniera de Software II
Gua de Programacin
Vamos a eliminar esa expresin y vamos a agregarle una nueva variable de tipo PAGE_NUMBER para
ello simplemente hacemos doble clic sobre ella y ya aparece en la caja de edicin.
Figura 72: Vista de la ventana Text Field Expression con la nueva Variable agregada.
Pgina 43
Ingeniera de Software II
Gua de Programacin
Ahora vamos a hacer un Preview para ver cmo est quedando nuestro reporte.
La forma ms corta de conseguir esta funcionalidad es utilizando la opcin Page X Of Y que se encuentra
en la paleta.
Ok ahora vamos poner nuestra hora al lado de la fecha y vamos a agregar una etiqueta ms para ello nos
vamos a la Paleta y elegimos la opcin Static Text.
Prof. Lic. Miguel Angel Recalde.
Pgina 44
Ingeniera de Software II
Gua de Programacin
Pgina 45
Ingeniera de Software II
Gua de Programacin
Figura 77: Vista de la etiqueta con el texto FPUNA Villarrica en el pie de pgina del reporte.
Pgina 46
Ingeniera de Software II
Gua de Programacin
Luego seleccionamos el rectngulo y hacemos que tenga el mismo alto y el mismo largo que la banda.
Figura 79: Vista de los cambios de tamao realizados al rectngulo agregado a la banda Detail.
Ahora nos vamos en sus propiedades y en Backcolor elegimos el color que ms nos gusta.
Pgina 47
Ingeniera de Software II
Gua de Programacin
Figura 80: Vista del color de fondo que tendr nuestro rectngulo en la banda Detail.
Figura 81: Vista de los pasos a seguir para enviar un rectngulo detrs del texto en la banda Detail.
Pgina 48
Ingeniera de Software II
Gua de Programacin
Ahora ya podemos observar que aparecen los campos te textos que veamos anteriormente
Luego seleccionamos nuevamente nuestro rectngulo y en sus propiedades Print When Expression
vamos a hacer que ese rectngulo sea impreso solamente lnea de por medio para ello escribimos la
expresin new Boolean().
Pgina 49
Ingeniera de Software II
Gua de Programacin
Ahora dentro del parntesis vamos agregar una variable, para ello nos vamos a Variables y dentro de
ella elegimos la opcin REPORT_COUNT, este REPORT_COUNT es un contador de registros de la pgina
actual.
Figura 84: Vista de la ventana Print When Expression con la nueva Variable agregada .
Entonces luego lo que vamos a hacer es verificar el resto entero de nuestro REPORT_COUNT por dos (2)
sea igual a cero (intValue()% 2 == 0) o sea si el contador de registro divido 2 y el resto sea igual a cero
entonces iReport va a imprimir el rectngulo, en caso contrario no lo va a imprimir, entonces el cdigo
que agregamos ac es new Boolean($V{REPORT_COUNT}.intValue()% 2 == 0)
Figura 85: Vista de la ventana Print When Expression con la condicin booleana agregada.
Pgina 50
Ingeniera de Software II
Gua de Programacin
OK ahora vamos a presionamos el botn Aceptar y luego hacemos un Preview de nuestro Reporte.
En nuestro reporte podemos observar que en la primera lnea no nos imprimi el rectngulo pero en la
lnea dos si entonces est imprimiendo de forma alternada nuestro rectngulo de esta manera se facilita
la lectura del reporte.
Pgina 51
Ingeniera de Software II
Gua de Programacin
Figura 87: Vista de los pasos a seguir para Agregar una biblioteca a nuestro proyecto.
Esto hace que aparezca la ventana Aadir biblioteca donde vamos a encontrar una lista de bibliotecas
disponibles pero la que necesitamos nosotros es la de JasperReport as que seleccionamos esa
biblioteca.
Pgina 52
Ingeniera de Software II
Gua de Programacin
Pgina 53
Ingeniera de Software II
Gua de Programacin
Ahora en la Ventana Principal tenemos un men llamado Reportes y dentro de ella vamos a encontrar
un tem de men llamado Reporte de Productos.
Pgina 54
Ingeniera de Software II
Gua de Programacin
Figura 91: Vista de los pasos a seguir para agrega un evento al tem de men Reporte de Productos.
HashMap par = new HashMap();//no definimos ningn parmetro por eso lo dejamos as
JasperPrint jp = JasperFillManager.fillReport("C:/sistvent/sysvent_1/src/py/com/systvent/reportes/Productos.jasper", par,con);//el primer
parmetro es el camino del archivo, se cambia esta direccin por la direccin del archivo .jasper
JasperViewer jv = new JasperViewer(jp);
jv.setVisible(true);
}
catch(Exception e)
{
e.printStackTrace();
}
Pgina 55
Ingeniera de Software II
Gua de Programacin
Figura 93: Vista de los pasos a seguir para llamar al Reporte de Productos.
Pgina 56
Ingeniera de Software II
Gua de Programacin
Pgina 57
Ingeniera de Software II
Gua de Programacin
Guardar Reporte
Ahora podemos guardar el nuestro reporte en el formato que deseemos para ello vamos a elegir el icono
Guardar.
Esto nos lleva a la ventana Guardar donde tenemos que elegir donde guardar nuestro archivo, para
nuestro ejemplo lo vamos a guardar en el Escritorio, tambin le asignamos un nombre y en Tipo de
archivos nos aseguramos que sea .pdf.
Pgina 58
Ingeniera de Software II
Gua de Programacin
Ahora abrimos el archivo que tenemos guardado en el escritorio y luego ya lo podemos observar en
formato .pdf.
Pgina 59
Ingeniera de Software II
Gua de Programacin
Esto nos lleva al paso dos Nombre y ubicacin donde vamos a elegir la opcin Blank A4, luego
seleccionamos Siguiente.
Pgina 60
Ingeniera de Software II
Gua de Programacin
En el paso tres es donde tenemos definir el nombre del reporte y all le ponemos como nombre
Presupuesto.
En el paso cuatro Fields es donde tenemos que definir la consulta, para ello vamos a seleccionar el botn
Design query.
Pgina 61
Ingeniera de Software II
Gua de Programacin
Esto nos lleva a la ventana del diseador donde vamos a seleccionar las tablas cab_presupuesto y
det_presupuesto.
Dentro de cab_presupuesto vamos a seleccionar los campos fch_pres_cab, vlr_presu_cab, cod_clente y
cod_funcionario.
Dentro de det_presupuesto vamos a seleccionar los campos cant_presu_det, vlr_unit_presu_det y
vlr_total_presu_det.
Luego seleccionamos el botn OK
Ahora volvemos nuevamente a nuestra ventana Query donde ya podemos observar el query generado,
ahora seleccionamos el botn Siguiente hasta terminar la creacin del nuevo archivo.
Pgina 62
Ingeniera de Software II
Gua de Programacin
Ahora ya podemos observar que archivo fue creado exitosamente, hacemos clic en el botn Terminar.
Figura 104: Vista del mensaje de creacin satisfactoria del Archivo Nuevo.
Pgina 63
Ingeniera de Software II
Gua de Programacin
Bien ahora con el archivo ya creado vamos a poder trabajar con ella.
Ahora vamos a trabajar las Propiedades de cada banda, vamos a poner en 0 la banda Page Header, Page
Footer y Summany, y vamos a poner en 20 las bandas Title, el Colum Header, Detail y Colum Foter
ponemos en 20.
Ahora vamos a agregar una etiqueta para asignar el ttulo, lo vamos a llamar Reporte de Presupuesto,
tambin vamos a hacer algunos cambios en sus Propiedades.
Pgina 64
Ingeniera de Software II
Gua de Programacin
Ahora nos vamos al icono de Base Datos, ella nos lleva a la ventana Report Query donde marcamos y
desmarcamos la opcin Automatically Retrieve Fields.
Ahora ya podemos observar el nombre de los campos, tambin podemos observar el tipo de cada
campo, hacemos clic en el botn OK.
Ahora nos vamos en el Report Inspector y nos vamos a la opcin Field donde tenemos que seleccionar
cada campo, luego lo arrastramos y soltamos sobre la banda Detail.
Ahora ya podemos observar el nombre de los campos, tambin podemos observar el tipo de cada
campo, hacemos clic en el botn OK.
Renombramos todas las etiquetas, las centramos, etc.
Pgina 65
Ingeniera de Software II
Gua de Programacin
Ahora nos vamos en el Report Inspector y nos vamos a la opcin Field donde tenemos que seleccionar
cada campo, ac seleccionamos cdigo del cliente, fecha del presupuesto, el cdigo del funcionario, el
precio unitario, cantidad, total de lnea y total general, luego lo arrastramos y soltamos sobre la banda
Detail. Renombramos todas las etiquetas, las centramos y la diseamos segn nuestra preferencia.
Ahora una vez definido nuestro diseo nos preguntamos qu es lo que vamos a hacer??
Vamos a editar nuestra consulta, para ello nos vamos al icono de Base de datos, ac para nuestro
ejemplo nosotros estamos trayendo todos los registros que estn en nuestra tabla de presupuesto pero
necesitamos asignar una condicin o un filtro, vamos a agregarle a nuestro cdigo
where cab_presupuesto.fch_pres_cab between '01/03/16' and '18/05/16'
Pgina 66
Ingeniera de Software II
Gua de Programacin
Una vez definido el filtro, seleccionamos el botn OK y luego ejecutamos nuestro reporte.
Ahora ya podemos observar los presupuestos realizados dentro de ese rango de fecha que nosotros
definimos en nuestro filtro directamente en el cdigo SQL.
Prof. Lic. Miguel Angel Recalde.
Pgina 67
Ingeniera de Software II
Gua de Programacin
Esto nos crea un nuevo parmetro, ahora seleccionamos ese nuevo parmetro y en sus Propiedades
vamos a asignarle un nombre, lo vamos a llamar Fecha_Ini y en Parameter Class nos aseguramos que
sea del tipo java.util.Date.
En Default Value Expresion tenemos que agregar un valor de la expresin, vamos a colocar new
Date("01/03/16")
Pgina 68
Ingeniera de Software II
Gua de Programacin
Ahora vamos a crear otro parmetro siguiendo los mismos pasos vistos anteriormente, a este parmetro
lo vamos a llamar Fecha_Fin.
Ahora nos vamos a nuestra Base de Datos y en lugar de indicar la fecha nosotros vamos a indicar los
parmetros where cab_presupuesto.fch_pres_cab between $P{Fecha_Ini} and $P{Fecha_Fin}.
Prof. Lic. Miguel Angel Recalde.
Pgina 69
Ingeniera de Software II
Gua de Programacin
Ahora vamos a ejecutar nuevamente nuestro reporte, para ello hacemos un Preview, esto nos va a
mostrar unas ventanas donde nosotros podemos asignar la fecha de inicio y la fecha de fin.
Pgina 70
Ingeniera de Software II
Gua de Programacin
Ahora ya podemos observar los datos filtrados por medio de los parmetros que nosotros le pasamos.
Figura 120: Vista de los datos filtrados entre las fechas de inicio y fin.
Figura 121: Pasos para crear una nueva variable desde el Report Inspector.
Pgina 71
Ingeniera de Software II
Gua de Programacin
Podemos observar aqu que ya tenemos nuestras variables predefinidas que inclusive ya utilizamos
algunas de ellas como el PAGE_NUMBER, entonces vamos a agregar algunas variables.
A la primera variable lo vamos a llamar suma_valor, en Variable class nos aseguramos que sea Double,
en Calculation el tipo de clculo que l va a realizar es una suma (sum) y la Variable de expresin que
vamos a usar aqu es Valor Total (cab_presupuesto_vlr_presu_cab), entonces que es lo que l va a
hacer?? Va a tomar el valor total y despus realizara una suma, esa suma lo va a guardar justamente en
esta variable que estamos creando.
Ahora lo que vamos a hacer es agregar esta variable al final de nuestra columna en Colum Footer,
tambin podemos usar una mscara (Pattern) para estos valores.
Pgina 72
Ingeniera de Software II
Gua de Programacin
Pgina 73
Ingeniera de Software II
Gua de Programacin
Bien solo nos queda hacer una previsualizacion para observar como se ve ahora nuestro reporte.
Figura 128: Pasos a seguir para agregar eventos al tem de men Reporte de Presupuesto.
Pgina 74
Ingeniera de Software II
Gua de Programacin
Ahora solo nos queda ejecutar nuestro reporte desde la ventana principal.
Pgina 75
Ingeniera de Software II
Gua de Programacin
Pgina 76
Ingeniera de Software II
Gua de Programacin
Sobre el material.
Todos los datos utilizados en la especificacin del proyecto son ficticios y con fines ilustrativos
acadmicos nicamente. De ninguna manera se pretende que este documento sea una plantilla final.
Nuevamente el documento aqu presentado es solo un ejemplo, su contenido pretende servir solamente
como orientacin y apoyo a los conceptos presentados en clase presencial, que se ha de aplicar con
sentido comn y con arreglo a las particularidades del contexto de que se trate.
Pgina 77