Sei sulla pagina 1di 6

Reportes en el Framework

REPORTES EN EL FRAMEWORK
Requisitos

Crear un reporte en iReport 5.0.4

A continuacin se detalla el proceso para visualizar un reporte creado en iReport 5.0.4 utilizando
los componentes del framework.
Es necesario ubicar el reporte dentro del directorio WebContent\reportes del proyecto,
para el caso de ejemplo voy a ocupar el reporte rep_perfil.jasper que se encuentra en el
directorio WebContent\reportes\rep_seguridad

Creamos una pantalla en el sistema y en la pestaa de REPORTES asociamos a la pantalla


el reporte que queremos que se visualice.

Lo que hemos hecho es crear una nueva pantalla y asignarle un reporte, se puede asignar
varios reportes a una pantalla.

Reportes en el Framework

En el campo NOM_REPO se define el nombre que del reporte, es importante definir bien
el nombre ya que este se utilizar para al momento de programar la pantalla, y no se
podr cambiarlo despus.
En el campo PATH_REPO se define la ruta donde se encuentra el reporte sin tomar en
cuenta la carpeta reportes ya que por defecto el framework busca en este directorio.
Damos permiso a un perfil a la pantalla y al reporte.

Creamos la clase pre_componentes.java en el paquete paq_demo ya que asi lo


definimos.
Definimos 2 objetos fundamentales para visualizar el reporte

Estos componentes son tipo Dialogo por lo tanto necesitan los mtodos get y set

Reportes en el Framework

Definimos un objeto de tipo Map para cargar los parmetros que recibe el reporte
Configuramos los 2 componentes en el mtodo constructor de la clase

Implementamos el mtodo abrirListaReportes() el cual se ejecuta al dar click en el botn reportes

Implementamos el mtodo aceptarReporte() el cual se ejecuta cuando el usuario selecciona un


reporte y da click en el botn aceptar

Hasta el momento el cdigo quedara de la siguiente manera


package paq_demo;
import
import
import
import
import

java.util.HashMap;
java.util.Map;
framework.componentes.Reporte;
framework.componentes.SeleccionFormatoReporte;
paq_sistema.aplicacion.Pantalla;

public class pre_componentes extends Pantalla{


private Reporte rep_reporte = new Reporte(); //Listado de Reportes, siempre se llama rep_reporte
private SeleccionFormatoReporte sel_rep = new SeleccionFormatoReporte(); //formato de salida del reporte
private Map map_parametros = new HashMap();//Parametros del reporte
public pre_componentes() {
rep_reporte.setId("rep_reporte"); //id
rep_reporte.getBot_aceptar().setMetodo("aceptarReporte");//ejecuta el metodo al aceptar reporte
agregarComponente(rep_reporte);//agrega el componente a la pantalla
bar_botones.agregarReporte();//aparece el boton de reportes en la barra de botones
sel_rep.setId("sel_rep"); //id
agregarComponente(sel_rep); //agrego el componente a la pantalla
}
@Override
public void abrirListaReportes() {
// TODO Auto-generated method stub
rep_reporte.dibujar();
}
@Override
public void aceptarReporte(){
}
@Override

Reportes en el Framework

public void insertar() {


// TODO Auto-generated method stub
}
@Override
public void guardar() {
// TODO Auto-generated method stub
}
@Override
public void eliminar() {
// TODO Auto-generated method stub
}
public Reporte getRep_reporte() {
return rep_reporte;
}
public void setRep_reporte(Reporte rep_reporte) {
this.rep_reporte = rep_reporte;
}
public SeleccionFormatoReporte getSel_rep() {
return sel_rep;
}
public void setSel_rep(SeleccionFormatoReporte sel_rep) {
this.sel_rep = sel_rep;
}
}

Compilamos, ejecutamos el proyecto y verificamos el funcionamiento de la pantalla

Simplemente lo que hemos hecho es desplegar los reportes a los que tiene acceso el usuario en la
Pantalla.
Ahora vamos a programar los mtodos , para poder desplegar el reporte seleccionado en
el navegador
En el mtodo aceptarReporte() vamos a validar que le usuario selecciono el reporte Perfiles del
Sistema(Ejemplo) , y creamos el mtodo abrirPerfilesSistema() que el que se ejecutar para
visualizar el reporte.

Reportes en el Framework

Programamos el mtodo abrirPerfilesSistema() para que despliegue el reporte

Hasta el momento el cdigo quedara de la siguiente manera


package paq_demo;
import java.util.HashMap;
import java.util.Map;
import framework.componentes.Reporte;
import framework.componentes.SeleccionFormatoReporte;
import paq_sistema.aplicacion.Pantalla;
public class pre_componentes extends Pantalla{
private Reporte rep_reporte = new Reporte(); //Listado de Reportes, siempre se llama rep_reporte
private SeleccionFormatoReporte sel_rep = new SeleccionFormatoReporte(); //formato de salida del reporte
private Map map_parametros = new HashMap(); //Parametros del reporte
public pre_componentes() {
rep_reporte.setId("rep_reporte"); //id
rep_reporte.getBot_aceptar().setMetodo("aceptarReporte");//ejecuta el metodo al aceptar reporte
agregarComponente(rep_reporte);//agrega el componente a la pantalla
bar_botones.agregarReporte();//aparece el boton de reportes en la barra de botones
sel_rep.setId("sel_rep"); //id
agregarComponente(sel_rep); //agrego el componente a la pantalla
}
@Override
public void abrirListaReportes() {
// TODO Auto-generated method stub
rep_reporte.dibujar();
}
@Override
public void aceptarReporte(){
//Pregunta que reporte selecciono el usuario
if (rep_reporte.getReporteSelecionado().equals("Perfiles del Sistema(Ejemplo)")) {
abrirPerfilesSistema();
}
}
private void abrirPerfilesSistema() {
//Despliega el reporte de Perfiles del Sistema(Ejemplo)
rep_reporte.cerrar(); //cierra la Lista de Reportes
map_parametros.clear();//limpiamos los parametros
//Agregamos el parametro titulo, el cual se visualizar en el reporte
map_parametros.put("titulo", "EJEMPLO REPORTE PERFILES DE USUARIO");
//una ves creado todos los parametros del reporte procedemos a configurar
//el objeto SeleccionFormatoReporte para que despliege el reporte en pantalla
sel_rep.setSeleccionFormatoReporte(map_parametros, rep_reporte.getPath());
sel_rep.dibujar(); //dibuja el objeto SeleccionFormatoReporte
}

Reportes en el Framework

@Override
public void insertar() {
// TODO Auto-generated method stub
}
@Override
public void guardar() {
// TODO Auto-generated method stub
}
@Override
public void eliminar() {
// TODO Auto-generated method stub
}
public Reporte getRep_reporte() {
return rep_reporte;
}
public void setRep_reporte(Reporte rep_reporte) {
this.rep_reporte = rep_reporte;
}
public SeleccionFormatoReporte getSel_rep() {
return sel_rep;
}
public void setSel_rep(SeleccionFormatoReporte sel_rep) {
this.sel_rep = sel_rep;
}
}

Compilamos, ejecutamos el proyecto y verificamos el funcionamiento de la pantalla

NOTA.
La complejidad de la configuracin de un reporte en el framework depende del reporte, este es un
pequeo ejemplo que les ensea la lgica que se debe tener al momento de configurar un
reporte.

Potrebbero piacerti anche