28/04/05, 08:22:02
|
#91 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Gracias Kangulo...
|
|
|
|
28/04/05, 08:25:20
|
#92 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Reporte tipo documento (Para Kangulo y Destructor)
No se si puedan darme alguna sugerencia, tengo algunas plantillas de documentos que pueden tener 1 o varias páginas cada una diferente. En cada una tengo varios campos que deben ser llenados dinámicamente a partir de una consulta. No estoy muy seguro de poder lograr que la estructura de reportes de iReports + jasperreports se ajuste a lo que necesito.
Si pueden darme alguna sugerencia les agradeceré infinitamente.
Saludos
KirsonX
|
|
|
|
28/04/05, 09:00:08
|
#93 (permalink)
|
Registrado: abr 2005
Mensajes: 9
|
como invocar un reporte.jasper
Holas
Muchachos ustedes que son los super avanzados en ireport, segun veo en el foro, quiero pedirles el favor de que me indiquen de como invocar un reporte.jasper desde un jsp, en el reporte hecho con ireport tengo el select y todos los formateos, por el IDE visualizo el resultado en excel que es lo que necesito, ahora quiero integrarlo a mi aplicacion hecha en java y creo que se puede invocar desde un jsp. el reporte no pide parametros.
mil gracias
|
|
|
|
28/04/05, 12:20:11
|
#94 (permalink)
|
Registrado: mar 2005
Mensajes: 92
|
Cita:
Originalmente publicado por wifer
Holas
Muchachos ustedes que son los super avanzados en ireport, segun veo en el foro, quiero pedirles el favor de que me indiquen de como invocar un reporte.jasper desde un jsp, en el reporte hecho con ireport tengo el select y todos los formateos, por el IDE visualizo el resultado en excel que es lo que necesito, ahora quiero integrarlo a mi aplicacion hecha en java y creo que se puede invocar desde un jsp. el reporte no pide parametros.
mil gracias
Wifer, si lees el foro de principio a fin veras que hay hasta un codigo completo de como llamar el reporte mediante un jsp. lee y prueba.
__________________
Se Despide
DestruKtor
|
|
|
|
28/04/05, 12:22:50
|
#95 (permalink)
|
Registrado: mar 2005
Mensajes: 92
|
Para: KirsonX
KirsonX, lo que quieres hacer me temo, no podras hacerlo con jasperreport, espero equivocarme, por que seria muy bueno lo que pides. Pero no hay forma de meter en un unico reporte otros a la cola de ese en una nueva pagina
__________________
Se Despide
DestruKtor
|
|
|
|
28/04/05, 12:22:55
|
#96 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Para Wifer, llamar reporte desde JSP
Prueba este codigo que viene en los ejemplos de jasperreports
<%@ page errorPage="error.jsp" %>
<%@ page import="datasource.*" %>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%
File reportFile = new File(application.getRealPath("/reports/WebappReport.jasper"));
Map parameters = new HashMap();
parameters.put("ReportTitle", "Address Report");
parameters.put("BaseDir", reportFile.getParentFile());
byte[] bytes =
JasperRunManager.runReportToPdf(
reportFile.getPath(),
parameters,
new WebappDataSource()
);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
%>
|
|
|
|
28/04/05, 12:27:46
|
#97 (permalink)
|
Registrado: mar 2005
Mensajes: 92
|
Fecha Hora generacion reporte
Hola a todos, mi inquietud es la siguiente
En un reporte lo ideal muchas veces es insertar en esta la fecha de generación de el, pues esto se podria hacer pasando como parametro la fecha desde fuera.
ahora bien iReports, cuenta con Variables dentro de donde esta el numero de paginas y otras y uno puede definir algunas, es posible definir una de estas variables para cargar la fecha dentro del reporte? sin pasarlo como parametro externo?
alguna idea?
__________________
Se Despide
DestruKtor
|
|
|
|
28/04/05, 16:05:55
|
#98 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Ejecutar reporte sin depender del sistema de archivos
Tengo la siguiente inquietud, es posible ejecutar un reporte sin que el archivo se encuentre fisicamente en el sistema de archivos. Necesito que el archivo del reporte .jrxml ó .jasper se almacene en la BDD. Luego yo voy a recuperar el documento como objeto y necesito ejecutarlo pero sin copiar el archivo a disco.
No se si he sido claro con lo que debo hacer.. Si alguien tiene alguna idea se lo agradeceria mucho
Saludos
KirsonX
|
|
|
|
28/04/05, 16:43:10
|
#99 (permalink)
|
Registrado: abr 2005
Mensajes: 20
|
Hola Chic@s
KirsonX:  La unica sugerencia que te puedo dar es que intentes probar con subreportes, es un poquito complicado pero es una opcion, trata de organizar la información en dos reportes, uno padre y otro hijo, colocando el reporte hijo en la sección de Sumary del reporte padre, el cual será el primero que llamaras pasandole la consulta como parametro al reporte hijo y de esta manera podras tener al menos 4 paginas diferentes en un mismo reporte.
De todos modos aqui encontraras un buen manual, gracias a Francesc Rosés Albiol,  que habla sobre el tema y lo mejor totalmente en español.
http://www.javahispano.org/tutorials.item.action?id=50
Espero te sirva de ayuda.
DestruKtor:  Hola DesctruKtor, existen dos maneras de que el reporte imprima la fecha y hora en que se imprime sin necesidad de pasarle estos datos por parametros:
La Primera es, Insertas un Textfield box y en la parte de propiedades en la pestaña de Text Field, en el combo de Textfield Expression Class seleccionas la clase java.util.Date y mas abajo en la parte de Textfield Expression colocas: new Date().
Pero si vas a imprimir esto mas de una vez en el reporte te recomiendo que crees una variable, que es la segunda manera, y le especifique todos los datos de la anterior y luego colocas la variable en las partes donde deseas imprimirla.
Saludos..

|
|
|
|
28/04/05, 17:16:18
|
#100 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Para Kangulo
Muchas gracias el documento está muy completo ya he empezado a revisarlo
|
|
|
|
29/04/05, 07:10:04
|
#101 (permalink)
|
Registrado: abr 2005
Mensajes: 9
|
Cita:
Originalmente publicado por DestruKtor
Wifer, si lees el foro de principio a fin veras que hay hasta un codigo completo de como llamar el reporte mediante un jsp. lee y prueba.
Si DestruKtor, tienes razon, pero veo que tienes en tu package "reportload" un llamado a "c:\\reports\\rep_cli.jasper", el cual es el reporte ejecutable, tambien veo que le envias como parametro una sentencia select parameters.put("sql_query", new String("select * from clientes")); y mi reporte .jasper tiene la sentencia select, el formateo de las columnas y el formateo de la salida que es a excell, ademas yo manejo un pool de conexiones y en tu clase manejas quemada la conexion. lo que quiero es saber como hago un llamado a un report el cual ya tiene todo como los select, los formateos de salida, solo quiero invocarlo.
Mil gracias DestruKtor por tu oportuna respuesta.
|
|
|
|
29/04/05, 08:47:52
|
#102 (permalink)
|
Registrado: abr 2005
Mensajes: 2
|
Hola gente:
Estoy generando un reporte con Ireports y Jasperreportds para correr en una aplicacion web, genere un bean de reporte y un action para que me lo genere, al correr la aplicacion. el reporte se abre correctamente con JasperViewer, pero al cerrar la ventanao guardar el archivo en algun formato se baja el Tomcat
Tienes idea de por que se produce esto?
Gracias por todo
|
|
|
|
29/04/05, 09:02:23
|
#103 (permalink)
|
Registrado: abr 2005
Mensajes: 20
|
Para wifer
Wifer primero que nada definamos el ambiente de desarrollo, en mi caso, estoy usando
- Apache Tomcat 5.5.9
- MySQL 4.1
- Internet Explorer
- iReport 0.4.1
En unos de los mensajes anteriores esta como utilizar en vez de la conexion un pool de conexiones, pero por si las dudas aqui te mando el codigo entero de una pagina JSP que hace un llamado a un reporte y lo muestra en el browser, como notarás es con MySQL y en la pagina se aprecia la sustitución de la cadena de conexion por el datasource q implementa el pool de conexiones.
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>
<%
/*
Connection conexion;
String DRIVER = "org.gjt.mm.mysql.Driver";
String USERNAME = "exo";
String PASSWORD = "exo";
String STRING = "jdbc:mysql://localhost/[MiBaseDatos]";
Class.forName(DRIVER).newInstance();
conexion = DriverManager.getConnection(STRING,USERNAME,PASSWO RD);
*/
Context init = new InitialContext();
Context context = (Context) init.lookup("java:comp/env");
DataSource dataSource =(DataSource)context.lookup("jdbc/[dsMiBaseDatos]");
Connection conexion = dataSource.getConnection();
File reportFile = new File(application.getRealPath("/rpt/Reporte.jasper"));
/* Sin Parametros
Map parameters = new HashMap();
parameters.put("Parametro1", "valor");
*/
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parameters, conexion);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
%>
Espero te sirva de ayuda.
Saludos...

|
|
|
|
29/04/05, 11:22:17
|
#104 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Ayuda para ejecutar reporte sin depender del sistema de archivos
Tengo la siguiente inquietud, es posible ejecutar un reporte sin que el archivo se encuentre fisicamente en el sistema de archivos. Necesito que el archivo del reporte .jrxml ó .jasper se almacene en la BDD. Luego yo voy a recuperar el documento como objeto y necesito ejecutarlo pero sin copiar el archivo a disco.
No se si he sido claro con lo que debo hacer.. Si alguien tiene alguna idea se lo agradeceria mucho
Saludos
KirsonX
|
|
|
|
29/04/05, 14:39:00
|
#105 (permalink)
|
Registrado: mar 2005
Mensajes: 92
|
Cita:
Originalmente publicado por KirsonX
Tengo la siguiente inquietud, es posible ejecutar un reporte sin que el archivo se encuentre fisicamente en el sistema de archivos. Necesito que el archivo del reporte .jrxml ó .jasper se almacene en la BDD. Luego yo voy a recuperar el documento como objeto y necesito ejecutarlo pero sin copiar el archivo a disco.
No se si he sido claro con lo que debo hacer.. Si alguien tiene alguna idea se lo agradeceria mucho
Saludos
KirsonX
KirsonX, en la documentacion de jassperreport existen medodos para pasar la ruta del archivo o bien un imputstream:
static byte[] JasperRunManager.runReportToPdf(java.io.InputStrea m inputStream, java.util.Map parameters, JRDataSource jrDataSource)
o
JasperManager.runReportToPdfFile(java.lang.String sourceFileName, java.util.Map parameters, JRDataSource jrDataSource)
tal vez podrias cargar un reporte en una base de datos y luego cargarlo en un inputstream. aún si logras eso el problema es el siguiente. si tu reporte tiene imagenes, jassperreport NO incrusta las imagenes dentro del *.jasper y ademas para accesar a las imagenes utiliza una ruta absoluta y no una direccion relativa del servidor web, asi que la complicacion va por ese lado, creo ademas que no es muy optimo almacenar y consultar binarios sobre bases de dato.
__________________
Se Despide
DestruKtor
|
|
|
|
29/04/05, 14:48:41
|
#106 (permalink)
|
Registrado: mar 2005
Mensajes: 92
|
Cita:
Originalmente publicado por wifer
y mi reporte .jasper tiene la sentencia select, el formateo de las columnas y el formateo de la salida que es a excell, ademas yo manejo un pool de conexiones y en tu clase manejas quemada la conexion. lo que quiero es saber como hago un llamado a un report el cual ya tiene todo como los select, los formateos de salida, solo quiero invocarlo.
Mil gracias DestruKtor por tu oportuna respuesta.
wifer, hay una cosa que tienes que tener claro, no existe tal cosa como un ejecutable, es decir el archivo *.jasper. no tiene ni los datos ni menos tienes en el configurado el formato de salida, es decir no es llegar y te ejecuta el reporte en excell. el archivo *.jasper desde fuera le pasas parametros y dependiendo el metodo de exportacion es el archivo final (excell, html,pdf) uno no predefine el formato de salida. tu en el iReport ves que la cosa es como automatica, por que el ireport pasa la misma informacion que tu tienes que pasar en tu jsp por debajo y no te das cuenta, por ejemplo si quieres obtener el resultado como pdf, lo haces asi
Código:
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parametros, conexion);
y si lo quieres obtener en html, asi
Código:
JasperRunManager.runReportToHtmlFile(reportFile.getPath(),HtmlFilesSource + htmlFileName, parametros, conexion);
en excell
Código:
JasperPrint jasperPrint=JasperFillManager.fillReport(reportFile.getPath(), parametros, conexion);
//Nombre archivo resultado.
String xlsFileName = outFileName + ".xls";
//Creacion del XLS
JRXlsExporter exporter = new JRXlsExporter();
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_FILE_NAME,xlsFilesSource + xlsFileName);
exporter.setParameter(JRXlsExporterParameter.IS_ONE_PAGE_PER_SHEET, Boolean.TRUE);
exporter.exportReport()
Ve los codigos posteados, y esto con ello tendras todo lo necesario para ejecutar tu reporte.
__________________
Se Despide
DestruKtor
|
|
|
|
01/05/05, 13:06:58
|
#107 (permalink)
|
Registrado: abr 2005
Mensajes: 31
|
Por favor ayuda!!
alguien ha exportado un pdf con un grafico?..lo que pasa es que me saca este error
net.sf.jasperreports.engine.JRException: No input source supplied to the exporter.
cuando llega a JasperExportManager.exportReportToPdfFile(jprintRe porte, strRetorno);
Que debo hacer?
GRACIAS!!
|
|
|
|
02/05/05, 09:12:02
|
#108 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Gracias DestruKtor
Ya habia encontrado los métodos que mencionas, no había reparado en lo concerniente a las imágnes; al menos por ahora no necesito que mis reportes usen imágenes pero tendré muy en cuenta tus comentarios.
Saludos
KirsonX
|
|
|
|
02/05/05, 14:30:43
|
#109 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Pequeño tutorial de iReports
|
|
|
|
02/05/05, 16:14:07
|
#110 (permalink)
|
Registrado: abr 2005
Mensajes: 56
|
Problema con response.getOutputStream();
Al generar el reporte me ha dado problemas en la linea ServletOutputStream ouputStream = response.getOutputStream(); me dice que la funcion getWriter() ya ha sido llamada, si alguien tiene alguna idea o le ha pasado esto antes le agradeceria su ayuda
Saludos
KirsonX
|
|
|
|
02/05/05, 16:27:54
|
#111 (permalink)
|
Registrado: abr 2005
Ubicación: Tabasco
Mensajes: 7
|
Hola Laraos Yo tuve el mismo problema cuando compilaba mi reporte salia perfecto, cuando le hice la prueba desde mi localhost ningun problema, el problema fue cuando tuve que subirlo al servidor donde esta alojado el sitio,
bueno lo primero que hice en mi reporte fue insertarle un cuadro de "image tool" en la pestaña image le asigne el siguiente parametro $P{ruta}
en parameters---->parameters defini un nuevo parametro llamado "ruta", de tipo string con el siguiente valor por defecto "C:/carpetamadre/carpetadeweb/imagenes/image1.jpg"
que es donde se encuentra mi imagen en mi maquina local.
compile mi reporte y todo bien
ahora me fui al archivo que me permite hacer el enlace y llamar al reporte el cual pongo el siguiente ejemplo:
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="proyectomio.comun.UtilDB" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%
File reportFile = new File(application.getRealPath("/Reportes/puesto.jasper"));//Este es la direccion del sitio donde tengos los .jasper y hago referencia al archivo
Map parameters = new HashMap();
parameters.put("ruta",request.getRealPath("/imagenes/image1.jpg"));//aqui defino la ruta donde actualmente se encuentra alojado el proyecto la detecta automaticamente
byte[] bytes =
JasperRunManager.runReportToPdf(
reportFile.getPath(),
parameters,
UtilDB.getConnection()
);
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
%>
Bueno eso es todo y ya puedo correr la pagina y verse bien
cabe mencionar que estoy trabajando en el Jbuilder y es un proyecto de paginas web y tengo un pool,UtilDB.getConnection() que es el que le pasa los parametros de la connecion.Espero que te sirva la informacion, Saludos!!
|
|
|
|
02/05/05, 16:39:56
|
#112 (permalink)
|
Registrado: abr 2005
Mensajes: 31
|
Muchas Gracias Ctx
Ctx lo que pasa es que tambien tengo problemas con los graficos que hago desde ireport con la libreria jfreechart, sera que la solucion que me das para este problema sirve tambien cuando son este tipo de graficos?
Última edición por laraos fecha: 02/05/05 a las 16:49:57.
|
|
|
|
03/05/05, 19:33:29
|
#113 (permalink)
|
Registrado: abr 2005
Mensajes: 31
|
Ayuda graficos Ireport
Alguien ha hecho un grafico 3D en ireport?, alguien tiene un ejemplo?
|
|
|
|
04/05/05, 04:09:40
|
#114 (permalink)
|
Registrado: may 2005
Mensajes: 3
|
Hola, necesito realizar un reporte de una query bastante compleja y mi problema es que los parámetros que se utilizan en la query los ponen entre comillas simples lo que no es muy util en la mayoría de los casos, por ejemplo, al llegar al WHERE campo IN (${parametro}) utilizo una cadena de enteros separados por comas y el problema es que al insertarlos como parámetro los engloba entre las dichosas comillas con lo que sólo me recoge el primero de ellos (en el mejor de los casos).
Se pueden definir los parámetros para que no aparezcan estas comillas?
|
|
|
|
04/05/05, 10:05:02
|
#115 (permalink)
|
Registrado: abr 2005
Ubicación: Tabasco
Mensajes: 7
|
Cita:
Originalmente publicado por laraos
Ctx lo que pasa es que tambien tengo problemas con los graficos que hago desde ireport con la libreria jfreechart, sera que la solucion que me das para este problema sirve tambien cuando son este tipo de graficos?
no lo he intentado laraos, esto es para imagenes que ya tienes guardadas en disco duro,si se algo luego te aviso.
|
|
|
|
05/05/05, 03:23:53
|
#116 (permalink)
|
Registrado: abr 2005
Mensajes: 31
|
Por favor ayuda!!! | |