Está en la página 1de 27

DI05 INFORMES

1. Descargar los plugin e instalar en netbeans

2. Crear proyecto en ant sin main


En librerias add jar -> para añadir los jar necesarios. Añadimos tmb
la librería MYSQL JDBC Driver

3. Creamos el archivo report


New file ->Report Wizard

Blank A4

Diseñamos la consulta bien con designquery o la escribimos


Modo design query, previamente he puesto la consulta

Pasamos los campos a consultar a la derecha


Agrupamos por nombre, corresponde al nombre de cada empresa, en este caso
queremos un informe en el que aparececan por cada empresa, su nombre, dirección y
ciudad y sus pedidos. Lo ideal es agrupar por claves primarias ID_Cliente en este caso,
pero he agrupado por nombre por que no hay empresas con el mismo nombre
Pulsamos siguiente y finish

4. Diseño del primer informe


Vamos a crear los grupos de reporte, añadimos uno para Empresa y otro para pedido

Para el grupo empresa que corresponde a la

tabla Clientes
agrupamos por
nombre para
que salga una
vez el nombre
de la empresa
en el informe.

Para el grupo Pedido


agrupamos por idPedido
Podemos eliminar las bandas que no
vayamos a usar, a parte de las que he
creado, dejo el título y el page footer

Empezamos a diseñar
En el Grupo Empresa header, añadimos los datos de los clientes
Nombre, dirección y ciudad. En Pedidos Footer añadimos los datos de los
pedidos, cuando pongamos el importe_a_pagar le agregamos la funcion sum

En
el

Footer de empresa añadimos también el importe como SUM para que muestre el total
a pagar de los pedidos realizados por cada empresa
Pedidos Group header no voy a usarlo asi que subo la banda hasta que no se vea
Asi queda mi diseño, he añadido la fecha en el título, una imgen y en el footer el
número de página. Para las etiquetas he empleado static text.Si no ves la paleta,
Windows- reset windows

Si pulsamos preview nos genera el archivo jasper y además nos muesra el diseño.
En preview print podemos guardar el archivo en pdf, en save nos guarda el jasper
donde indiquemos.
EJERCICIO 2
Reporte
Este ejercicio requiere de una consulta con un parámetro ID_Cliente.
He copiado el archivo jrxml del ejercicio anterior y procedo a modificar la consulta para
que ahora pueda recibir un parámetro. Recibirá un ID_Cliente y mostrara únicamente
sus datos asociados
1. Añado nuevo parámetro
Lo renombro con el parámetro que voy a
introducir, en este caso ID_Cliente
Si no hacemos esto primero, nos dará error la
consulta por que no encontrará el parámetro
2. Modifico consulta para asignar ID_Cliente = $P{ID_Cliente}
SELECT clientes.Nombre, clientes.Direccion, clientes.Ciudad,

pedidos.ID_Pedido, pedidos.Fecha_Pedido,

detalle_pedidos.Unidades * detalle_pedidos.Precio AS "importe_a_pagar"

FROM clientes, pedidos, detalle_pedidos

WHERE clientes.ID_Cliente = pedidos.ID_Cliente

AND detalle_pedidos.ID_Pedido = pedidos.ID_Pedido

AND clientes.ID_Cliente = $P{ID_Cliente}

ORDER BY clientes.Nombre, pedidos.ID_Pedido

3. Propertis del ID_Clienteque está en el parámetro


Ahora al pulsar preview podemos aportar un id , en este caso voy a usar el default y
gestionaré esto con la app, nos dirá que el informe está vacío

APLICACIÓN
El comboBox se carga con los idCliente mediante una consulta y al pulsar aceptar
genera el informe del cliente en archivo pdf y lo abre
EJERCICIO 3
Creo el nuevo reporte con la siguiente consulta
SELECT articulos.Descripcion, detalle_pedidos.Unidades
FROM articulos
INNER JOIN detalle_pedidos ON articulos.Id_articulo = detalle_pedidos.ID_Articulo
ORDER BY articulos.Descripcion;
Necesitamos la descripción del artículo--> nombre del articulo , id y las unidades
totales vendidas
Creo el grupo Articulo , solo el header y agrupo por descripcion , he eliminado el resto
de bandas excepto el título, colum header , sumary para meter el gráfico y el footer.

Añado al Column Header las static text


Articulo Group header la descripcion y las unidades vendidas con la funcion SUM
Gráfico
El gráfico lo meto en Summary arrastrando el componente chart
Selecciono el gráfico bar 3d
En el expresion editor le meto la descripción
En la siguiente ventana descripción y unidades con la funcion sum , escribir la
expresión por que da error $V{Unidades_2}--> en mi caso unidades2
Si hacemos click derecho en el gráfico y vamos a data chart, en details podemos ver la
categoria y el valor
EJERCICIO 4
Creo el informe principal vacio Empty Report y después le meto la siguiente consulta
En detalles meto los detalles de la empresa

SUBINFORMES
Creo un Empty Report para recuperar los datos de los pedidos
Consulta, hay que meterle un parámetro, yo le he puesto ID_Pedido tipo integer

Propiedades del parámetro ID_Pedido


Hago el diseño, detail ID_Pedido

Compilo

Arrastro el subreport a la banda de detalles, si al usar el archivo jrxml no aparecen los


parámetros, meter el jasper , eliminar el reporte y volver a meterlo con el jrxml
Si no aparecen los parámetros , lee arriba
Asigno el parámetro a la expresión
Segundo Report fecha pedido
Consulta, con el parámetro igual que en el subreport anterior

Meto la fecha en detail


Compilo y añado el report al informe en la banda detail , en este caso al meter el
archivo jmxl y se me aparecen los parámetros

Asigno la variable con su expresión

Ambos subreport tienen esto igual


Diseño del subinforme para los totales
Creo EMPTY REPORT
Consulta para calcular el total .Mismo parámetro

Meto el total a la banda detalles, si queremos añadir texto +”texto”


Compilo

Meto el subreport en el informe principal.

También podría gustarte