Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Jasper Report + iReport + NetBeans 4 (http://www.forosdelweb.com/f45/jasper-report-ireport-netbeans-4-a-280528/)

stavera 12/04/2005 08:00

iReport
 
Hola, no se si te llegaron los correros, lo que pasa es que tengo dos preguntas referente al codigo, en la parte donde la ruta del archivo el es el archivo que yo creo en ireport? y el parte donde va la conexion a la BD si se tiene en una pool de conexiones como se ingresaria el codigo? si sabes como realizar porfavor me podrias ayudar de nuevo.
ah y por ultimo te cuento que ya me dio la sumatoria solo que no me esta dando el resultado como yo quiero pero ahi sigo intentando, yo quiero que el resultado total me quede en la ultima hoja, pero no me da, no se si es por el diseño del reporte.

Muchas gracias por tu ayuda me ha servido bastante.

:adios:

laraos 12/04/2005 17:26

Destruktor con respecto a este tema que planteaste antes..: .."Olvidemos lo de las fuentes por ahora,
Lo que me inquieta es como pasarle parametros a una consulta
puedo definir la consulta y pasarle parametros parametros que eh definido asi:

select * from clientes where idclienter = $P{id}
select * from clientes where idclienter = $P{id} and ciudad = $P{ciudad} order by $P{orden}".. me interesa saber si has encontrado respuesta a tu pregunta..pues yo necesito pasarle a un query varios parametros..Otra cosa sabes como pasarle los parametros desde un jsp? es tan simple como enviarlos desde un jsp a la clase y ya? , me orientas por fa. GRACIAS!!

DestruKtor 14/04/2005 06:38

Para pasar parametros...
 
Pues para pasar parametrso debes hacer lo siguiente en tu codigo jsp:

1-defines en tu reporte los parametros que vas a usar

ej:

select * from tabla1 where id = ${p1} and fecha > ${p2}

2-ahora para pasar las variables a tu reporte desde tu jsp lo haces de la siguiente manera:

Código:

//cargamos parametros del reporte (si tiene).
    Map parametros = new HashMap();
    parametros.put("p1","12");
    parametros.put("p2","15/04/2005");

//Fijate que cuando le haces el runReportToPDF le pasas como argumento los parametros definidos arriba
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(), parametros, conexion);

puedes definir tantos parametros como sean necesarios, con

parametros.put("NombreParametro","Valor");

laraos 14/04/2005 09:43

No carga el archivo..
 
Me puedes decir por que sera que no carga el archivo..tengo el siguiente codigo y se va por aqui..ERROR AL CARGAR ....

<%@ page contentType="text/html; charset=iso-8859-1" language="java" import="java.sql.*" errorPage="" %>


<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.data.*" %>
<%@ page import="net.sf.jasperreports.engine.fill.*" %>
<%@ page import="net.sf.jasperreports.engine.export.*" %>
<%@ page import="net.sf.jasperreports.engine.util.*" %>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.view.*" %>
<%@ page import="java.net.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="java.sql.*" %>
<%@ page import="javax.naming.*" %>


<html>
<head>
<title>Pruebas No. 1</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

<%

net.sf.jasperreports.engine.JasperPrint print =null;

String fileName = ("/reportes/TUTORIAL_SUBREPORTS_MASTER.jasper");
out.print(fileName);


File sourceFile= new File(application.getRealPath(fileName));

String DRIVER = "sun.jdbc.odbc.JdbcOdbcDriver";
String URL = "jdbc:odbc:a";
Class.forName(DRIVER);
Connection conn = DriverManager.getConnection(URL);

try
{

//out.print("No hay error...");
print=JasperFillManager.fillReport(sourceFile.getP ath(), new HashMap(), conn);
}

catch(Exception ex)

{
out.print("ERROR AL CARGAR .... ");
}


JasperReport master=null;


//master=(JasperReport) JRLoader.loadObject(urlMaestro);


%>


hola
</body>
</html>

Gracias.

stavera 14/04/2005 09:57

iReport
 
Hola a todos

Alguien sabe como puedo guardar un diseño de reporte que yo misma cree para poderlo utilizarlo en nuevos reportes?

De antemano muchas gracias


:pensando:

DestruKtor 14/04/2005 10:53

Para Laraos
 
Laraos

Creo que tu error esta en esta linea

print=JasperFillManager.fillReport(sourceFile.getP ath(), new HashMap(), conn);

deberia ser asi!!!

JasperPrint print =JasperFillManager.fillReport(sourceFile.getP ath(), new HashMap(), conn);

ahora que quieres generar??? por que si es un pdf mediante un jsp la forma adecuada es:

byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parametros, conexion);

de esta forma guardas el archivo pdf en un arreglo de bytes y luego lo envias al browser con

response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();

Suerte!!

DestruKtor 14/04/2005 12:23

Para Stavera
 
El diseño del reporte se guarda en un archivo xml, pues hay tienes el diseño y lo puedes modificar para crear reportes nuevos, o a que más te refieres??

stavera 15/04/2005 07:21

Para Destruktor
 
Hola espero que estes muy bien.
Mira a lo que me refiero es a crear una plantilla para poder utilizarla para varios reportes de diferentes tablas.

Muchas gracias

:adios:

DestruKtor 15/04/2005 07:43

Por eso mismo a eso me refiero, lo que necesitas mantener en un reporte como plantilla, principalmente es la cabecera de pagina, con el logotipo de la empresa, nombre del documento, etc. y al pie de pagina tu contador de pagina y esas cosas, es decir lo que es comun entre un reporte y otro. pues simplemente haces un reporte con esta informacion. y guardas el xml, y cuando necesites crear nuevos reportes. comienzas a trabajar a partir de eso.

ahora lo del detalle del reporte imposible hacer plantilla de eso amenos que las tablas que uses tengan los mismos nombres de campo cosa que es practicamente imposible

DestruKtor 15/04/2005 07:46

Laraos

los *.jar de jasperreport los puedes descargar de su sitio

http://jasperreports.sourceforge.net/

la ultima vercion es la 0.6.6 y salio recien el 6 de abril, aún no la pruebo yo estoy trabajando con la 0.6.5

en todo caso cualquiera de las 2 contienen todas las clases necesarias.

DestruKtor 15/04/2005 13:39

Cita:

Iniciado por laraos
:'(
mira que al compilar el jsp sale el mensaje: javax.servlet.ServletException: org/eclipse/jdt/internal/compiler/env/INameEnvironment
at org.apache.jasper.runtime.PageContextImpl.handlePa geException(PageContextImpl.java:498)
at org.apache.jsp.scriplet_jsp._jspService(scriplet_j sp.java:125)
at org.apache.jasper.runtime.HttpJspBase.service(Http JspBase.java:92)
root cause

java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/env/INameEnvironment
at java.lang.Class.getDeclaredConstructors0(Native Method)
at java.lang.Class.privateGetDeclaredConstructors(Cla ss.java:2328)
at java.lang.Class.getConstructor0(Class.java:2640)

yo tengo la carpeta de org.eclipse.jdt.internal.compiler.env.INameEnviron ment en el mismo nivel de mi jsp, que sera lo que esta sucediendo? GRACIAS!

Pues claramente no te esta pescando esa clase, mi pregunta es las agregaste a tu classpath ? yo lo que hago es por ejemplo tener mis jsp en el servidor tomcat, en cualquier directorio no hay problema y para no liarme con las clases todos los *.jar como el jasperreport.jar y los que ya mencione antes los copio dentro de j2sdk/jre/lib/ext o el directorio que te paresca mejor y agregas la ruta al class path. eso me permite mover los jsp dentro de cualquier directorio del servidor tomcat y siempre me va a encontar las clases

laraos 15/04/2005 18:05

muchisimas gracias
 
Funciono!! mira que me faltaba agregar el paquete org al web-inf en tomcat . MUCHAS GRACIAS!!!

laraos 15/04/2005 19:27

Destruktor sabes como exportar desde una clase en java el reporte de ireport al explorer?GRACIAS!!

DestruKtor 15/04/2005 19:47

Laraos!
 
Pues eso ya te lo respondi mas abajo lee bien!! :adios:

laraos 17/04/2005 11:21

lo siento Destruktor
 
te refieres a esto: es que no :no: lo veo??

DestruKtor Fecha de Ingreso: Mar 2005
Mensajes: 27

Para Laraos

--------------------------------------------------------------------------------

Laraos

Creo que tu error esta en esta linea

print=JasperFillManager.fillReport(sourceFile.getP ath(), new HashMap(), conn);

deberia ser asi!!!

JasperPrint print =JasperFillManager.fillReport(sourceFile.getP ath(), new HashMap(), conn);

ahora que quieres generar??? por que si es un pdf mediante un jsp la forma adecuada es:

byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parametros, conexion);

de esta forma guardas el archivo pdf en un arreglo de bytes y luego lo envias al browser con

response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();

lo que pasa es que este codigo es de jsp, la pregunta es si sabes como exportarlo al explorer desde java directamente sin hacerlo desde un jsp. Te agradezco muchisimo, mira que me has orientado un resto. GRACIAS!!! :si:

Racamtru 18/04/2005 03:57

Principiante en Jasper Report
 
Hola a todos! Hace mucho tiempo que no programo en java, pero acaba de iniciar un proyecto en este lenguaje, como editor estoy usando net beans.
Necesito realizar algunos reportes, he estado leyendo un poco sobre jasper report, pero aun tengo algunas dudas. Alguien no tendra por ahi un tutorial que pueda servir como guia de inicio.
Gracias.

DestruKtor 18/04/2005 06:27

Respuesta: Laraos
 
Laraos, creo que recien comienzo a entender lo que quieres, haber si estoy en lo correcto, estas programando una aplicacion java, no un jsp o servlet, y quieres que esta aplicacion genere el reporte en pdf y luego de ello lances el explorer para mostrarlo, es eso???

pues si es eso lo que quieres, mi pregunta es por que quieres ver el pdf en el explorer??? no seria mejor lanzar directamente el acrobat ya que al fin y al cabo el explorador hace eso. ejecutas el acrobat y le pasas como parametro la ruta del archivo.

ahora mi otra inquietud es por que quieres abir el reporte, con un programa aparte cuando la propia api jasperreport trae un visor de reportes???????

busca en la documentacion de la api la clase:
net.sf.jasperreport.view

te daras cuenta que con la funcion:
JasperViewer()

y pasandole los parametros necesarios podras visualizar tu reporte el el visor propio de jasperreport si que tengas que utilizar ni acrobat ni explorer ni nada de nada.

Suerte!!!

stavera 18/04/2005 10:10

iReport
 
Hola Destruktor, espero que te encuentre super bien.
Tengo dos pequeñas dudas, una que cuando inserto un logo en un reporte que construyo en excel no me aparece, pero lo contruyo en PDF y si me lo muestra no se si me puedes ayudar, y la otra duda es que quiero colocarle hora al reporte en el cual fue creado, pero me sale un error no se que estoy haciendo mal.
El error es el siguiente:
net.sf.jasperreports.engine.JRException:*Errors*we re*encountered*when*compiling*report*expressions*c lass*file: 1.*Time*cannot*be*resolved*or*is*not*a*type ****************value*=*(java.sql.Time)(new*Time() ); ********************************************<--> 2.*Time*cannot*be*resolved*or*is*not*a*type ****************value*=*(java.sql.Time)(new*Time() ); ********************************************<--> 3.*Time*cannot*be*resolved*or*is*not*a*type ****************value*=*(java.sql.Time)(new*Time() ); ********************************************<--> 3*errors ****at*net.sf.jasperreports.engine.design.JRJdtCom piler.compileReport(JRJdtCompiler.java:156) ****at*net.sf.jasperreports.engine.design.JRDefaul tCompiler.compileReport(JRDefaultCompiler.java:149 ) ****at*net.sf.jasperreports.engine.JasperCompileMa nager.compileReportToFile(JasperCompileManager.jav a:171) ****at*net.sf.jasperreports.engine.JasperCompileMa nager.compileReportToFile(JasperCompileManager.jav a:153) ****at*it.businesslogic.ireport.IReportCompiler.ru n(IReportCompiler.java:398) ****at*java.lang.Thread.run(Unknown*Source)

Muchas gracias por tu ayuda, me ha servido muchisimo.

Buena suerte :adios:

DestruKtor 18/04/2005 12:06

Haber en primer lugra hasta donde tengo entendido la api jassperreport NO es capaz aún de exportar las imagenes a Excel, asi que no hay ningun error tuyo. solo exporta los datos, No imagenes.

y lo de la fecha, pues me gustaria saber como lo intentas hacer para saber que estas haciendo mal, por lomenos el mensdaje de error dice que tienes un problema con los tipos. pues yo para el tema de la fecha del reporte lo haria de esta manera

crearia una parametro $P{fecha} y le pasaria como argumento la fecha actual. no veo que tan complejo puede ser eso.

saludos.

laraos 18/04/2005 13:01

pasar reporte a explorer
 
Destruktor, es exactamente lo que quiero que el acrobat se habra en el explorer...me puedes explicar que instrucciones debo usar en un jsp para que se abra el acrobat y me ejecute el reporte; es decir como hago "ejecutas el acrobat y le pasas como parametro la ruta del archivo.".GRACIAS

laraos 18/04/2005 13:07

Racambru ..http://es.geocities.com/mdelia_99/ir..._y_jasper.html
http://members.lycos.co.uk/oderin/tu...ngTutorial.htm
http://www.j2b.com.br/abstract/?op=V...7&blogId=1..te pueden servir..

Racamtru 18/04/2005 17:19

Gracias.... Laraos
 
Ya leí los vinculos que me eviaste y con otra informacion que tengo por ahi, creo que ya tengo la suficientes bases. Gracias por responder a mi consulta y suerte con tus proyectos.

laraos 18/04/2005 17:25

Racamtru y a todos.. por favor si tienen otros links de documentacion Ireport, jasper o cualquier tema relacionado se los agradezco.

DestruKtor 18/04/2005 20:52

Cita:

Iniciado por laraos
Destruktor, es exactamente lo que quiero que el acrobat se habra en el explorer...me puedes explicar que instrucciones debo usar en un jsp para que se abra el acrobat y me ejecute el reporte; es decir como hago "ejecutas el acrobat y le pasas como parametro la ruta del archivo.".GRACIAS

Laraos, cada vez te entiendo menos, te di el codigo para pasar atravez de un jsp a pdf y me dijiste que no necesitabas hacerlo de un jsp y ahora que te explico como hacerlo por una aplicacion java me dices que como ejecutas el reporte desde un jsp. haber dejemos las cosas claras

estas haciendo una aplicacion en jsp?? es decir una pagina web con codigo java que correo en un servidor tomcat??? o tu aplicacion es java que corre directamente en un PC de escritorio.

si es mediante un JSP, envias el reporte de esta manera al browser, no abres el acrobat y le pasas ninguna ruta, si no que generas el reporte como salida y lo escribes en el buffer de salida hacia el browser y el browser solo ejecuta acrobat y abre tu reporte de esta manera

Código:

byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parametros, conexion);

de esta forma guardas el archivo pdf en un arreglo de bytes y luego lo envias al browser con

response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();

si es una aplicacion java usas la funcion

JasperViewer() de la clase
net.sf.jasperreport.view

y eso es todo, super claro no veo la complicacion

DestruKtor 19/04/2005 07:27

Cita:

Iniciado por laraos
..ya probe el codigo jsp y no funciona, que crees que me falta?gracias!!

el codigo funciona y creeme que muy bien, ahora te arroja algun error??

si no te arroja ninguno y no te muestra el pdf instalate la ultima vercion del acrobat la 7, por que las verciones anteriores no funcionan con jasperreport e IE, si tienes otro navegador como mozilla prueba y veras.

el problema no es de codigo, es algun drama entre jassperreport + I.Explorer + Acrobat < 6

prueba instalando acrobat 7 y me cuentas

laraos 19/04/2005 10:58

:si: funciono con acrobat 7!!! muchas gracias, no sabes lo valiosa que ha sido tu colaboracion!!!

laraos 19/04/2005 18:06

ya lo solucionaste?
Cita:

Iniciado por JPG
Hola!, mira encontre un site que dan un ejemplo:
http://sourceforge.net/forum/forum.p...orum_id=113530

pero cuando lo trato de compilar, me dice que no encuentra las siguientes librerias
import="net.sf.jasperreports.engine.*"
import="net.sf.jasperreports.engine.fill.*"
en el archivo classic.java (el que genera el ireport), pero en el ireport si funciona.

Ademas los jar estan en el WEB-INF/lib

:-(
Seguire intentado.
muchas gracias
pura vida


JPG 19/04/2005 18:16

Jsp
 
Si claro, el problema era el JSP no la ubicacion de las clases.

Hay que poner el archivo archivoScriptlet.class y con eso corre.

Pura vida! :-)

DestruKtor 20/04/2005 06:53

Problema com I.E + Acrobat <= 6 + jassperreport
 
Hola Estimados.

Relacionado, con lo ultimo que converse con laraos, el problema que existe entre I.Explorer + Acrobat <= 6 y Jasperreport.

jasperreport esta haciendo su trabajo, pero por algun motivo internet explorer no es capaz de llamar a acrobat para que muestre el reporte, yo hice pruebas con acrobat 6, lo raro es que por ejemplo en mozilla firefox con acrobat 6 si funciona todo a la prefeccion, una solucion como le comente a laraos es instalarse el acrobat 7, pero existe mucha gente aún con verciones de acrobat 5 y 6.

tambien con acrobat 7 no se si les sucede, ejecuta el reporte pero en una ventana fuera del navegador, cuando deberia ejecutarlo inscrustado acrobat dentro del browser, cosas raras no?

alguna idea de por que sucede este efecto?? si alguien encuentra algo relacionado con este tema por favor dehen el link en el foro muchachos.

Suerte a todos!!

laraos 20/04/2005 07:09

con acrobat 7, me ocurre que pdf se abre fuera del navegador, un amigo me sugirio que podria utilizar un IFrame..algo asi:
<IFRAME src="prueba.asp" width=100 height=100>
</IFRAME>
<BR>
<IFRAME src="d:\ireportes\abc.pdf" width=400 height=800>
</IFRAME> :pensando:..pero bueno! aun no se la razon por la cual ocurre esto, si la encuentro la publico.


La zona horaria es GMT -6. Ahora son las 07:47.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2025, Jelsoft Enterprises Ltd.