Reportes en Grails con iReport
Es común que siempre que se desarrolle un sistema se requieran de reportes para poder hacer más accesible la información y Grails cuenta con el plugin jasper que facilita la construcción de estos a partir de la herramienta iReport.
El ejemplo que presentaré se realizó con grails 1.1.2 e iReports 3.7.4.
El primer paso es instalar el plugin en nuestra aplicación con el siguiente comando: grails install-plugin jasper. (En caso de tener problemas por las versiones del plugin se puede instalar una versión anterior grails intall-plugin jasper 0.9.5 ).
Lo siguiente es igualar las versiones del plugin e iReports para ello puedes consultar la siguiente liga: http://observatoriodegrails.com/articulos/informes-con-jasperreports-ireport-y-el-plugin-jasper/
Una vez realizado el cambio de librerías procedemos a crear el reporte para ello se ocupará la siguiente clase
class Trabajador {
/* Atributos*/
int id
String nombre
String apellidos
/*constraints*/
/*Algunos métodos*/
}
El siguiente punto es crear el reporte en la herramienta iReport, el cuál deberá tener 2 Fields con el nombre de los atributos de la clase que deseamos mostrar, en mi caso será el nombre y apellidos de los trabajadores.
Listo el reporte deberemos compilarlo y copiarlo en la direccion: <Nombre de tu aplicación>\web-app\reports (Si no existe la carpeta reports la creamos)
Ahora debemos decirle al controlador que le pase datos al reporte y para ello debemos crear una acción que deberá quedar de la siguiente manera:
def reporte={
chain(controller: "jasper", action: "index", model: [data: Trabajador.list()], params:params)
}
Donde el parámetro data contiene el listado que se le pasará al reporte en este caso serán todos los trabajadores.
Por último debemos crear la liga que llamará a la acción que creará el reporte de la siguiente manera:
<g:jasperReport jasper="nombredelReporte" format="PDF,XLS" name="nombredelReporte" action="reporte" controller="trabajador" />
Podremos observar que en nuestra aplicación se creo algo como lo siguiente:
Y tenemos nuestro reporte.
Si se requiere más información sobre los tipos de archivo en los que puedes exportar consulta la documentación del plugin en la página de grails.




Hola! segui tu ejemplo, tengo problemas: al elegir el reporte me manda error 404 no encuentra el archivo, el reporte compilado lo guarde donde comentaste.
Espero puedas apoyarme, gracias!
Saludos!!
n.n
Hola!: pues como dice el error, no encuentra el documento, creo deberías verificar que el nombre del reporte es que estas llamando a mostrar.
Hola!
Estuve desconectado del Blog pero creo que más vale tarde que nunca, debes verificar que estás llamando al reporte de manera correcta tomando en cuenta mayúsculas y minúsculas.
Saludos.