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/)

JAlicia 10/01/2008 18:22

Re: Jasper Report + iReport + NetBeans 4
 
hola de nuevo foreros!!!:-)

Tengo problemas al compilar mi fichero .jrxml ya que me da error cuando se ejecuta esa instruccion, no cuando compilo.
He leido que hay ke tener los ficheros .dtd en la misma carpeta donde creamos el .jrxml para que no de error de compilacion, es esto cierto?? si lo fuera, como obtengo esos .dtd?? porque ami ireport no me los genera que yo vea....

Tambien he visto dos formas de compilar, una seria asi:

JasperReport report=JasperCompileManager.compileReport("C:\\eje mplo.jrxml");

y otra con otra instrucion que creo que es para cargar el .jrxml, es asi:

JasperDesign jasperDesign = JasperManager.loadXmlDesign("C:\\ejemplo.jrxml");
JasperReport report=JasperCompileManager.compileReport(report);

ami me da error de las dos formas, pero cual seria mas correcta??

alguien sabe porque me puede dar error al compilar?? el .jrxml lo he generado con ireport y no tiene texto dinamico, para simplificar mas el ejemplo, pero no funciona de todas maneras..... :S

mis librerias de jasper reports y la version de ireport es la misma, la 2.0.3

espero que sepan responderme!!!
un gran saludo!!!!

JAlicia 10/01/2008 18:28

Re: Jasper Report + iReport + NetBeans 4
 
se me olvidaba una cosa!!!!

uso netbeans en su version 5.5 , y resulta que en el import:

import net.sf.jasperreports.engine.JasperManager;

me sale un puntito verde a la izquierda de la instruccion , y si pongo el raton encima me sale este mensaje:

Warning: [deprecation] net.sf.jasperreports.engine.JasperManager in net.sf.jasperreports.engine has been deprecated

porque puede pasar esto??? la librearia que tengo es la de jasper reports 2.0.3 que es la que venia en el lib de iReport
tendra esto algo que ver con el error al compilar en la ejecucion de mi programa???

muchas gracias a todos, espero que poco a poco se pueda ir resolviendo este misterio!!! :-)

DestruKtor 11/01/2008 20:12

Un poco de codigo nunca esta en mal
 
Hola a todos tanto tiempo,
pues aqui va una pequeña aportacion para todos los q recien comienzan y para los q no tanto, les dejo un ejemplo de una aplicación swing y JasperReport.

Primero que herramientas estoy usando:
Netbeans IDE 6.0
IReport 2.0.2
PostgreSQL 8.1

Librerias Necesarias, que se deben importar al Netbeans:

postgresql-8.2-506.jdbc3.jar
poi-2.5.1-final-20040804.jar
jdt-compiler-3.1.1.jar
jasperreports-1.3.1.jar
commons-beanutils-1.7.jar
commons-collections-3.2.jar
commons-digester-1.7.jar
commons-javaflow-20060411.jar
commons-logging-1.0.2.jar

la mayoria de estas librerias las pueden encontrar en el directorio /lib del IReport y las demas, en San Google como el JDBC de Postgres o la BD que quieran.

Crean un Proyecto Swing, añaden las siguientes importaciones al formulario:

Código:

import java.sql.*;
import java.io.*;
import java.util.*;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;
import net.sf.jasperreports.view.JasperViewer;

Crean un boton en el formulario y le añaden el codigo para cargar el reporte en la Accion:

Código:

    @Action
    public void VerReporte() throws JRException {
        //La Ruta de nuestro reporte
        String filejasper = "z:\\Test1.jrxml";
       
        try
        {
            //Cargamos archivo fuente jxml.
            JasperDesign jasperDesign = JRXmlLoader.load(filejasper);
           
            //Compilar el Reporte.
            JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
           
            //cargamos parametros del reporte (si tiene).
            Map parameters = new HashMap();
            parameters.put("REPORT_LOCALE",new java.util.Locale("es","CL"));
            parameters.put("parametro1","Hola Mundo!");
         
            //Preparacion del reporte (en esta etapa se inserta el valor del query en el reporte).
            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, getConnection());

            //Cargar reporte en el visor.
            JasperViewer jasperviewer = new JasperViewer(jasperPrint,false);
           
            //Le ponemos un titulo personalizado al visor, y desplegamos el reporte.
            jasperviewer.setTitle("Reporte de Prueba");
            jasperviewer.show();
           
        }
        catch(Exception e)
        {
        JOptionPane.showMessageDialog(mainPanel, e.getMessage(),"Error",JOptionPane.ERROR_MESSAGE); 
        }
               

    }

y les dejo ademas la rutina de conexion con la BD, que mas

Código:

    public static Connection getConnection() throws ClassNotFoundException, SQLException {
        //Configuración de la conexión.
        String driver = "org.postgresql.Driver";
        String connectString = "jdbc:postgresql://localhost:5432/MiBaseDeDatos";
        String user = "postgres";
        String password = "xxxxxx";

        Class.forName(driver);
        Connection conn = DriverManager.getConnection(connectString, user, password);
       
        //Retornamos la conexión establecida.
    return conn;
    }

Bueno espero que les sea de utilidad para entender el funcionamiento basico del API JasperReport, y que sigan aportando tan buenas contribuciones como hasta ahora.

Saludos Cordiales!!!

JAlicia 12/01/2008 05:29

Re: Jasper Report + iReport + NetBeans 4
 
Viva Destructooooooooooooorrrrrr!!!!!! jejejeje
muchas gracias por poner ese ejemplo que me ha solucionado unos cuantos problemas :-)

lo que hacia mal es que habia que importar mas librerias de las que yo importaba, pero esque en el foro como habla de versiones mas antiguas pues no llevan las mismas librerias creo.

Aun asi sigo teniendo el problema de que me muestra el reporte en blanco, dice que no contiene paginas, hay alguna solucion comun para este tipo de problema???

agradeceria mucho vuestra ayuda, pues ese ya seria el ultimo paso para poder conseguir mostrar mi reporte!!!! algo tan facil para unos y tan dificil para otras.... jeje!!!!

espero que puedan ayudarme!!!!

un gran saludo a todos!!!! :-):arriba:

DestruKtor 12/01/2008 19:08

Re: Jasper Report + iReport + NetBeans 4
 
Jalicia,

El problema que describes del reporte en blanco normalmente se produce por que tu consulta, la que le definiste al reporte no esta trallendo ningun registro, y por ende te aparece el reporte en blanco. verifica la consulta y los parametros que el estas pasando al reporte ya que lo mas probable es problema de datos si el reporte se compila y ejecuta sin errores.

vanesa_vig 15/01/2008 11:37

Re: Jasper Report + iReport + NetBeans 4
 
Buenas a todos, tengo un problema que es bastante urgente, espero que alguno pueda ayudarme, tengo varios reportes que cada uno ocupa una pagina y me gustaria que todos me aparecieran en el mismo pdf. Sabe alguno si se puede hacer esto? y si es posible como hacerlo?

JAlicia 15/01/2008 14:11

Re: Jasper Report + iReport + NetBeans 4
 
Hola a todos foreros!!! y hola a DestruKtor, que parece el mas activo de este hilo!!!!! :-)jeje

bueno, el caso es que sigo como loca con el problema de que el reporte no tiene paginas, y me genera un pdf en blanco.
Te hice caso Destruktor pero es que en mi caso no tengo conexion con base de datos, asi que en la crecion del jasperPrint solo le paso dos parametros, el del reporte y los parametros, ya que no uso base de datos como dije antes.

Tengo importadas todas las librerias necesarias menos la de SQL.

Por si aclara algo, el codigo que uso es este:

Código:

public static void imprimirReporte(){

        String fileNamex1="C:\\ejemplojasper\\reporte\\reporteDinamico.jrxml";
       
        try{
            Map parameters = new HashMap();
            parameters.put("REPORT_LOCALE",new java.util.Locale("es","CL"));
            parameters.put("parametro1","Hola Mundo!");
            JasperDesign jasperDesign = JRXmlLoader.load(fileNamex1);
            JasperReport report=JasperCompileManager.compileReport(jasperDesign);
            JasperPrint jasperPrint = JasperFillManager.fillReport(report,parameters);
           
            JasperViewer jasperviewer = new JasperViewer(jasperPrint,false);
            jasperviewer.setTitle("Reporte de Prueba");
            jasperviewer.show();

        }
        catch(Exception e)
        {
            System.out.println("Mensaje de Error:"+e.toString());
        }
       
    }


El reporte que uso solo tiene un textoDinamico asociada al siguiente parametro:
$P{parametro1}

Espero que alguien sepa responderme a esta duda que va a hacer que me esta quebrando la cabeza.

Muchas gracias a todos y un gran saludo! :-):arriba:


PD: Tambien tengo el mismo problema que Vanesa_vig jeje

DestruKtor 15/01/2008 15:34

Re: Jasper Report + iReport + NetBeans 4
 
Haberlo dicho antes JAlicia!!!,

No puedes generar un reporte sin pasar JRDataSource o una Connection por lo que el reporte se pintara en blanco. Si solo quieres mostrar texto estatico lo que debes hacer en el metodo fillReport es instanciar una conexion vacia de esta manera:

Código:


//Ejemplo de llenado con conexion Vacia: JREmptyDataSource

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, new JREmptyDataSource());


DestruKtor 15/01/2008 15:51

Re: Jasper Report + iReport + NetBeans 4
 
Cita:

Iniciado por vanesa_vig (Mensaje 2249416)
Buenas a todos, tengo un problema que es bastante urgente, espero que alguno pueda ayudarme, tengo varios reportes que cada uno ocupa una pagina y me gustaria que todos me aparecieran en el mismo pdf. Sabe alguno si se puede hacer esto? y si es posible como hacerlo?


Hola

Lo mejor para estos casos son los grupos o cortes de control x ejemplo si tu reporte fuera un listado de personas y quisieras una pagina para cada uno

Consulta: SELECT idpersona, nombre, direccion FROM Persona

En tu reporte agrupas x ID de persona y en la opcion de grupo le dices que inicie en una nueva pagina, tonces cada persona te apareceria en una nueva pagina.

ahora puedes definirle parametros al reporte IDDesde IDHasta tonces hay puedes modificando tu consulta pintar uno o varios registros dependiendo el rango, eso seria.

Ahora si lo que estas pensando es que reportes, totalmente distintos con consultas distinatas se mesclen en 1 solo PDF, que yo sepan no es posible. tendrias que entrar a manipular los archivos PDF generados y mesclarlos a nivel d archivo.

pero si defines bien tus reportes no deberias tener problemas.

JAlicia 15/01/2008 16:40

Re: Jasper Report + iReport + NetBeans 4
 
:-):-):-):-):-):-):-)
Muchisimas gracias destruktor!!!!!!!! :-) ya me funciona perfectamente!!!!!
porfiiiiiiiiiin me puedo poner a hacer algo util!!!!! jeje

muchas gracias de verdad!!!!!!! :arriba:

vanesa_vig 16/01/2008 11:31

Re: Jasper Report + iReport + NetBeans 4
 
Gracias por tu ayuda, a lo que me referia es a la que no tiene solucion.
Si lo que me gustaria seria hacer todas las consultas en un solo reporte, pero a no ser q sepas como puedo hacer para que en vez de que me devuelva los datos


Dato 1
dato 2
dato 3


me los devuelva

dato 1 dato2 dato3

creo q me es imposoble hacer todo en el mismo reporte

djagu_26 16/01/2008 12:57

Re: Jasper Report + iReport + NetBeans 4
 
bueno vanesa_vig creo q no se puede hacer lo que tu quieres en un solo reporte debido a q cada dato q tienes es un registro diferente de la bd no?(supongo q lo lees de un query)
y el field q pones lo colocas en el detail del informe por lo tanto si cada registro es diferente entonces se agrega una fila en el detail del reporte.
saludos capaz destructor tiene la solucion....

vanesa_vig 17/01/2008 02:50

Re: Jasper Report + iReport + NetBeans 4
 
Mi problema no es de la lectura de datos, ya que puedo hacer una sola consulta para que me salgan todos los datos necesarios, mi problema es que la serie de datos se me imprime en colunma y yo necesitaria que me salieran en fila, es decir, por ejemplo, necesito tres datos A, B, C, cada uno de ellos es una serie de valores 1, 2, 3, lo que necesitaria seria que al crear el reprote y poner la expresion los datos me quedaran

A1 A2 A3
B1 B2 B3
C1 C2 C3

sin embargo siempre me salen

A1 B1 C1
A2 B2 C2
A3 B3 C3

Por tanto mi solucion fue crear un reporte en el que los datos estan rotados a la derecha entonce me queda como necesito que me salgan, el problema es que necesito muchas filas (lo cual haciendolo como lo hago quedan en columna) y tengo que hacer varios reportes para tener todos los datos que necesito, por eso preguntaba si alguien sabia como hacer que 3 reportes distintos salgan en un mismo pdf.

DestruKtor 17/01/2008 06:57

Re: Jasper Report + iReport + NetBeans 4
 
vanesa_vig:

En esencia cualquier reporteador te va a desplegar los datos de la forma como son retornados los registros de tu fuentes de datos, cada linea del detalle representa un registro de tu fuente de datos.

djagu_26 17/01/2008 11:53

Re: Jasper Report + iReport + NetBeans 4
 
Bueno capaz destructor sabes como hacer esto
resulta que tengo q hacer un reporte de trabajos los cuales tengo q pasarle un arraylist con los trabajos seleccionados desde java, mi problema es que no se por donde empezar, supongo q el debo pasarle un parametro de tipo Object al reporte pero no se como hacer referencia en la sql? El diseño del reporte lo tengo hecho el problema es como hago para recorrer ese arraylist(Parametro Object) desde la sql
si alguien tiene un ejemplo de como hacerlo se agradece mucho

pd: he buscado donde poner una imagen como firma pero no encuentro por ningun lado tmb agradeceria su ayuda

saludos y gracias

stock 18/01/2008 11:48

Re: Jasper Report + iReport + NetBeans 4
 
para poner una imagen simplemente asi:
Código:

<image>
                        <reportElement
                                x="500"
                                y="0"
                                width="33"
                                height="38"/>
                        <imageExpression class="java.lang.String"><![CDATA[$P{LOGO_URL}]]></imageExpression>
                </image>

donde $P{LOGO_URL} es un parametro de la url donde esta la imagen alojada en el servidor ;-)

mas información en http://www.crysfel.com/index.php/200...-jasperreport/

saludos :adios:

JAlicia 18/01/2008 18:18

Re: Jasper Report + iReport + NetBeans 4
 
hola a todos!!!! :-)

me gustaria poner una grafica en mi reporte, pero mi pregunta es....¿se puede poner una grafica en el reporte pasandole los datos desde mi aplicacion java y no desde una base de datos?:pensando: ¿y como se le pasarian los datos?

muchas gracias compis!!! ;-):arriba:

Riley 21/01/2008 11:10

iReport
 
Hola a todos..... Necesito su ayuda, resulta que trabajo en una empresa que tiene un sistema interno en php, similar a un ERP y tengo q generar reportes para el area de contabilidad, usé el IReport 2.0.4 para generarlos :arriba:. Provando el IReport conseguí crear los reportes y funcionan. Pero no se como hacer para que se puedan generar los reportes dentro del sistema :'( , ni como hacer para enviarle parametros a IReport. Además las personas de contabilidad no tienen conocimiento de herramientas como IReport y ellos necesitan que los reportes se generen automaticamente cuando ellos seleccionan por ejemplo una fecha.
Resulta que no se mucho de java... :'(

Les agradecería mucho si me ayudan en esto....

Atentamente

Riley

stock 21/01/2008 13:16

Re: Jasper Report + iReport + NetBeans 4
 
para pasar parametros al reporte desde java

http://www.crysfel.com/index.php/200...n-jasperreport

Riley 22/01/2008 09:53

iReport
 
Buenos días a todos... Gracias por el link, pero desafortunadamente no funciona :-(.... bueno les dire que el IReport 2.0.4 genera los reportes directamente, es una herramienta grafica y permite hacer los reportes con la consulta y la conexion a la base de datos.
Yo ya compile los reportes y los genere, claro que declarando los parametros que deberian ser recibidos por el reporte y aun no recibe y que como no tienen valor los imprime como "null".

¿Es necesario crear un applet para enviar los parametros e invocar a mi reporte?
Copie algunos ejemplos que encontré, pero me salen errores. Estoy trabajando con el eclipse.

Les estare muy agradecida si me ayudan con esto...

DarkHammer 23/01/2008 10:04

una gran dua sobre jasperreport
 
Hola a todos después de mucho navegar encontré este gran foro en español que resolvió muchas de mis dudas sobre esta gran herramienta, pero tengo un problema que no se como resolver y apelo a su piedad y espero que me ayuden por favor. Bueno les cuento en que consiste mi problema. Tengo un proyecto web muy simple y sencillo lo único que hace es que al presionar un botón y este tendría que imprimir un reporte esto lo hace bien en forma local (ya que el server esta en mi pc), pero cuando pruebo esto desde otro equipo (pc) con su navegador, no funciona ya que imprime en el server y no el cliente. Mi pregunta conocen o saben alguna forma de hacer que imprima en el cliente y no el server y mediante que instrucción ya que lo he echo con la que pasa a pdf pero no me sirve necesito que se vaya directo a la impresora.
Gracias y ojala me puedan ayudar y saludos.

JAlicia 24/01/2008 02:37

Re: Jasper Report + iReport + NetBeans 4
 
Cita:

Iniciado por JAlicia (Mensaje 2254508)
hola a todos!!!! :-)

me gustaria poner una grafica en mi reporte, pero mi pregunta es....¿se puede poner una grafica en el reporte pasandole los datos desde mi aplicacion java y no desde una base de datos?:pensando: ¿y como se le pasarian los datos?

muchas gracias compis!!! ;-):arriba:


en serio nadie sabe si esto es posible?:'(

Riley 28/01/2008 08:40

Re: Jasper Report + iReport + NetBeans 4
 
Buenos días a todos... nuevamente tengo unos problemitas con iReport... Pues tengo una consulta para generar el repote cone le wizard, pero en el momento de generar el reporte me sale un error:

Cita:

Error*rellenando*la*impresión...*Error*executing*S QL*statement*for*:*libro
net.sf.jasperreports.engine.JRException:*Error*exe cuting*SQL*statement*for*:*libro* ****at*net.sf.jasperreports.engine.query.JRJdbcQue ryExecuter.createDatasource(JRJdbcQueryExecuter.ja va:141)* ****at*net.sf.jasperreports.engine.fill.JRFillData set.createQueryDatasource(JRFillDataset.java:683)* ****at*net.sf.jasperreports.engine.fill.JRFillData set.initDatasource(JRFillDataset.java:615)* ****at*net.sf.jasperreports.engine.fill.JRBaseFill er.setParameters(JRBaseFiller.java:1203)* ****at*net.sf.jasperreports.engine.fill.JRBaseFill er.fill(JRBaseFiller.java:842)* ****at*net.sf.jasperreports.engine.fill.JRBaseFill er.fill(JRBaseFiller.java:795)* ****at*net.sf.jasperreports.engine.fill.JRFiller.f illReport(JRFiller.java:63)* ****at*net.sf.jasperreports.engine.JasperFillManag er.fillReport(JasperFillManager.java:402)* ****at*net.sf.jasperreports.engine.JasperFillManag er.fillReport(JasperFillManager.java:234)* ****at*it.businesslogic.ireport.IReportCompiler.ru n(IReportCompiler.java:944)* ****at*java.lang.Thread.run(Unknown*Source)* Caused*by:*org.postgresql.util.PSQLException:*No*s e*ha*especificado*un*valor*para*el*parámetro*1.* ****at*org.postgresql.core.v3.SimpleParameterList. checkAllParametersSet(SimpleParameterList.java:134 )* ****at*org.postgresql.core.v3.QueryExecutorImpl.ex ecute(QueryExecutorImpl.java:179)* ****at*org.postgresql.jdbc2.AbstractJdbc2Statement .execute(AbstractJdbc2Statement.java:430)* ****at*org.postgresql.jdbc2.AbstractJdbc2Statement .executeWithFlags(AbstractJdbc2Statement.java:346) * ****at*org.postgresql.jdbc2.AbstractJdbc2Statement .executeQuery(AbstractJdbc2Statement.java:250)* ****at*net.sf.jasperreports.engine.query.JRJdbcQue ryExecuter.createDatasource(JRJdbcQueryExecuter.ja va:135)* ****...*10*more*
Iimpresión no llenada. Intento usando una Fuente de datos vacia...
Pero cuando ejecuto la consulta con el EMS, me aparecen los campos y los datos....
Por favor, alguien sabe como solucionar ese problema???
Les agradeceré mucho su ayuda...

DestruKtor 28/01/2008 10:57

Re: Jasper Report + iReport + NetBeans 4
 
Riley,

Tu error esta claro en el mensaje que te muestra ireport, dice:

Caused*by:*org.postgresql.util.PSQLException:*No*s e*ha*especificado*un*valor*para*el*parámetro*1

lo que significa que en tu consulta no le has dado valor al parametro, es decir si hiciste una consulta

SELECT * FROM TABLA WHERE Codigo = $P{parametro1}

y a $P{parametro1} no le das ningun valor, te va a lanzar ese error, en irreport esto se hace el el campo Default Value del parametro, si lo hacer x codigo debes asegurarte de pasar siemrep el parametro en el metodo fill

TNT_Alfredo 08/02/2008 07:04

Re: Jasper Report + iReport + NetBeans 4
 
Hola a todos gracias por este hilo, al comienzo tambien tuve problemas con los reportes y por la pagina mmm... 5 o 6 creo encontre la solcuion y ahora todo ok. pero como todo usuario cuando les muestras algo .. al poco tiempo quieren algo nuevo en base a lo hecho ... ahora necesito darle algunas restricciones a mi PDF generado , es decir las restriccion de no poder grabar o modificar y esas cosas q directamente dels del acrobat se podria dar facilmente ... pero como el PDF se genera on the fly ... tons nose como decirle q me cree mi PDF con algunas restricciones .... alguien que pueda ayudarme ????

Agradeciendo de antemano por la ayuda

Saludos

_TNT_

NsSRL 14/02/2008 07:57

Re: Jasper Report + iReport + NetBeans 4
 
Alguien sabe como se puede cambiar el dtd por uno de host local??

Osea lo que quiero cambiar es:

<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">

Por otro que tengo yo en mi servidor.

El problema ocurre cuando modifico el reporte, vuelve solo a ponerse lo que habia antes(el texto que esta mas arriba).

Agradezco por anticipado su colaboración.

Saludos,

theFast 15/02/2008 02:22

Re: Jasper Report + iReport + NetBeans 4
 
Buenos dias.

Llevo unos dias dedicado exclusivamente a este nuevo tema para mi, creacion de reports, y hasta el momento OK, ya se más o menos usar ireport y ya me salen informes pdf, excel y html a medias.

El post, es por el problema que tengo con los html, no me los habre correctamente en el browser, salen errores como de no encuentra bien la ruta.
Otra cosa me genera un carpeta "nombreFichero.html_files" y otro que si lo habro si sale correcto que es el "fichero.html".

Alquien sabe lo que ocurre?
Otra cuestion es posible que no me genere esos archivos y carpetas?

Otra cosilla que tampoco me termina de convencer es que al generar el Excel, me crea también fisicamente el fichero en la carpeta que yo le digo.
¿Hay forma que no genere ese fichero, pero si que lo habrá en el excel y sea el usuario quien lo guarde?

Otra cosa yo le envio un sql al report por parametros pero no se como hacer referencia a un alias que tengo en la sql. ¿Que tengo que hacer un parametro con el nombre del alias, o no se puede hacer, me da errores?

Espero me podais ayudar, felicitaciones al foro, me ha ayudado mucho. Gracias de antemano.

isalorsaw 19/02/2008 22:17

Re: Jasper Report + iReport + NetBeans 4
 
Hola a todos los del foro, Tengo una incognita con respecto a IReport, Como puedo enviar consultas sql dinamicas a mi reporte?
Tengo este ejemplo
//---------------------------------------------------------------------------------
Map parameters=new HashMap();
parameters.put("sql",new String("select * from Q_REGISTROS where id_user = josel"));
new Reporte(parameters,"./Reportes/registro_accesos.jasper");//OBJETO DE LLAMADO A GENERACION DE REPORTE
//---------------------------------------------------------------------------------
//Reporte.java
Reporte(Map parameters, String n){
try{
File app=new File(n);
String fileName=app.getCanonicalPath();
JasperPrint jasperPrint = JasperFillManager.fillReport(fileName,parameters,n ew Coneccion().getConexion());
JasperViewer jviewer = new JasperViewer(jasperPrint,false);
if(jasperPrint.getPages().isEmpty()==false)jviewer .show();
else JOptionPane.showMessageDialog(null,"Reporte en Blanco, Revise su Consulta","",1);

}
catch (Exception j) {
JOptionPane.showMessageDialog(null,"Mensaje de Error:"+j.getMessage());
j.printStackTrace();
}
//-------------------------------------------------------------
En el IReporte tengo definida la variable sql como $P{sql} en la configuracion de report query en IReport.

Los errores que me aparecen al momento de ejecutar mi aplicacion desde java
es : Error executing SQL Statement for: registro_accessos.

Alguna ayuda?

quieresqueso 20/02/2008 06:09

Re: Jasper Report + iReport + NetBeans 4
 
Hola,

tengo unos informes en IReport con su diseño propio. El caso es que necesito exportarlos a excel manteniendo el diseño (cabceras en azul) pero mostrando las
celdas de los datos (las de excel) para poder manejar la info.

Para la exportación utilizo Jasper.

¿Existe alguna forma desde IReport de configurar estos parámetros? Desde el código manejo IS_WHITE_PAGE_BACKGROUND pero esto se me aplica a todo el documento.


gracias!

vanesa_vig 21/02/2008 11:38

Re: Jasper Report + iReport + NetBeans 4
 
Hola a todos, tengo un duda que no se si me la podreis resolver, alguien sabria como puedo pasar un paremetro si uso una query en mdx??

onecarlost 22/02/2008 04:14

Re: Jasper Report + iReport + NetBeans 4
 
Buenas

Tengo que hacer lo siguiente. Tengo una excel con unos graficos ya creados. Debo coger ese archivo excel, obtener los graficos y modificar sus parametros. ¿Como podria hacerlo con JasperReport?Si es posible hacerlo claro....

Saludos y muchas gracias

carlos_82 04/03/2008 12:46

Re: Jasper Report + iReport + NetBeans 4
 
:) :) :) :) :) :) :) :)

carlos_82 04/03/2008 12:54

Re: Jasper Report + iReport + NetBeans 4
 
buenas soy nuevo en esto de generar reportes, y en consecuencia nuevo en jasper report. luego de indagar en varios post, lista y afines este foro sin duda alguna me parece el mas interesante y el que me ha sido de mayor utilidad!

recurro la esperiencia de este foro por la siguente inquietud:

¿como puedo hacer para generar un reporte cuando la consulta a la bd no me trae registros?, pues cuando esto sucede se genera el pdf vacio (en blanco) y me gustaria en ese caso que el pdf mostrar la estrcutura que le he definido aun cuando no tenga datos que mostrar!!!!!

de antemano agradesco su ayuda

no tienen alguna idea :(

saga_ra 05/03/2008 08:26

Concatenar dos PDF
 
Código:

<%@ page import = "BaseDatos.Acceso" %>
<jsp:useBean id = "acceso" scope="page" class="BaseDatos.Acceso"/>

<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.design.*" %>
<%@ page import="net.sf.jasperreports.engine.data.*"%>
<%@ page import="net.sf.jasperreports.engine.export.*"%>
<%@ page import="net.sf.jasperreports.engine.util.*"%>
<%@ page import="net.sf.jasperreports.view.*"%>
<%@ page import="net.sf.jasperreports.view.save.*"%>
<%@ page import="com.lowagie.text.pdf.PdfCopyFields"%>
<%@ page import="com.lowagie.text.pdf.PdfReader"%>

<%@ page import="java.sql.Connection"%>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>

<html>
<head><title>Generando Reporte Historia de Ingreso...............</title>
<head>

<%
/*Declaro e inicializo la variable codigobebe, para enviarla como parametro*/
String codigobebe="0";
if (request.getParameter("codigobebe")!=null)
        codigobebe = request.getParameter("codigobebe");
/*FIN Declaro e inicializo la variable codigobebe, para enviarla como parametro*/                       

try{
        String ResultadoConexion = acceso.Conectar();
        if ("Ok".equals(ResultadoConexion))
        {
                        /*<Obtengo una conexión de la Base de datos>*/
                Connection conn = acceso.getConexion();

                        /*<Cargamos el jasperreports-0.6.7.jar OK>*/
                System.setProperty("jasper.reports.compile.class.path", application.getRealPath("/WEB-INF/lib/jasperreports-0.6.7.jar") +
                                        System.getProperty("path.separator") +
                                        application.getRealPath("/WEB-INF/classes/"));

        /*<Primer reporte>*/
                /*<Compilamos el primer reporte historiaIngreso.jrxml>*/
                        System.setProperty("jasper.reports.compile.temp", application.getRealPath("/WEB-INF/reportes/"));
                        JasperCompileManager.compileReportToFile(application.getRealPath("/WEB-INF/reportes/historiaIngreso.jrxml"));
                /*<FIN de compilar el primer reporte historiaIngreso.jrxml>*/
                       
                /*<Obtenemos el archivo .jasper historiaIngreso.jasper>*/
                        File reportFile = new File(application.getRealPath("/WEB-INF/reportes/historiaIngreso.jasper"));
               
                /*<Enviamos los parametros al reporte, en este ejemplo utilizo los mismos parametros para los dos reportes>*/
                        Map parameters = new HashMap();
                        parameters.put("CODIGO_BEBE",codigobebe);
               
                /*<Generamos el reporte en PDF, se guarda en una variable tipo bytes>*/
                        byte[] bytes = JasperRunManager.runReportToPdf( reportFile.getPath(), parameters, conn ); //Generar reporte PDF
        /*<FIN Primer reporte>*/
       
        /*<Segundo reporte>*/
                /*<Compilamos el segundo reporte historiaIngreso2.jrxml>*/
                        JasperCompileManager.compileReportToFile(application.getRealPath("/WEB-INF/reportes/historiaIngreso2.jrxml"));
                /*<FIN de compilar el segundo reporte historiaIngreso2.jrxml>*/
               
                /*<Obtenemos el archivo .jasper historiaIngreso2.jasper>*/
                        File reportFile2 = new File(application.getRealPath("/WEB-INF/reportes/historiaIngreso2.jasper"));
               
                /*<Generamos el reporte en PDF, se guarda en una variable tipo bytes>*/
                        byte[] bytes2 = JasperRunManager.runReportToPdf( reportFile2.getPath(), parameters, conn ); //Generar reporte PDF
        /*<FIN Segundo reporte>*/
               
                /*<Concatenamos los dos reportes>*/
                        PdfReader reader1 = new PdfReader(bytes);
                        PdfReader reader2 = new PdfReader(bytes2);
                        PdfCopyFields copy = new PdfCopyFields(new FileOutputStream(application.getRealPath("/WEB-INF/reportes/historiaIngreso3.pdf")));
                        copy.addDocument(reader1);
                        copy.addDocument(reader2);
                        copy.close();
                /*<Concatenamos los dos reportes>*/
               
                /*<Ahora debemos leer el reporte que creamos en /WEB-INF/reportes/ y enviarlo al navegador para su descarga>*/
               
                        /*<Se manda como tipo pdf al navegador>*/
                                response.setContentType("application/pdf");
                        /*<Se envia como adjunto, para que aparesca la ventana de Abrir con ó Guardar como>*/
                                response.setHeader ("Content-Disposition", "attachment;filename=\"historiaIngreso3.pdf\"");

                        /*<Se lee el Archivo pdf que creamos>*/
                                InputStream archivo = new FileInputStream(application.getRealPath("/WEB-INF/reportes/historiaIngreso3.pdf"));
                        /*<Se crea una variable de salida para el navegador>*/
                                ServletOutputStream outs = response.getOutputStream();
                       
                        /*<Se lee el contenido del Archivo PDF y se envia a la variable de salida>*/
                                int bit = 256;
                                int i = 0;
               
                                while ((bit) >= 0) {
                                bit = archivo.read();
                                outs.write(bit);
                                }
                               
                        /*<Forzamos a enviar los datos al navegador>*/
                                outs.flush();
                        /*<Se cierra la variable de salida y el archivo PDF>*/
                                outs.close();
                                archivo.close();
  }
  if ("NO OK".equals(ResultadoConexion))
                out.println("<font color = 'red'>No se pudo conectar a la base de datos, comuniquese con el desarrollador de la aplicación.</font>");
}catch (JRException e)
{out.println("Error:" +e.getMessage());}
catch (Exception e)
{e.printStackTrace(); out.println("Error2:" +e.getMessage());
}
%>
<body onLoad="window.document.close();">
</body>
</html>

Ya habian posteado esta respuesta para concatenar dos reporte y unirlos en unos solo, de hecho muchas gracias me funciono bastante bien, pero ahora tengo una pregunta.
Ese código es para concatenarlos usando struts, ahora estoy usando JSF (Java Server Faces) y el código para imprimir un reporte cambia, pero la pregunta es, alguien sabe como se hace para concatenar reportes usando JSF??

carlos_82 11/03/2008 16:48

Re: Jasper Report + iReport + NetBeans 4
 
con una nueva duda.

resulta que los reportes que estoy haciendo se generan según algunos parametros (4) los cuales ninguno de ellos es obligatorio, entonces tengo el siguiente problema, como hago para generar el reporte algunas veces con un numero (x) determinado de parametros y otras con otro numero (y) de parametros, tal que en ocasiones la consulta sea:

- select * from tabla where parametro1 = valor1 and parametro2 = valor

y otras veces

- select * from tabla where parametro1 = valor1 and parametro2 = valor and parametro3 = valor3

o simplemente

- select * from tabla

estuve hechando el ojo y destructor tuvo problemas en pasar como parametros el string de la consulta como parametro, cosa que pensé que podia dar solucion a mi problema (manipulo el string en java luego lo paso) pero tengo los mismos problemas que el tuvo y no entendi la solucción que le dieron.

Destructor please help ó cualquier otro que alla pasado por lo mismo y lo halla logrado solucionar

HELLLLLLLPPPPPPPPPPPPPPPPPPPPPPPPPPPPPP!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

carlos_82 12/03/2008 06:26

Re: Jasper Report + iReport + NetBeans 4
 
Cita:

Iniciado por DestruKtor (Mensaje 2265480)
Riley,

Tu error esta claro en el mensaje que te muestra ireport, dice:

Caused*by:*org.postgresql.util.PSQLException:*No*s e*ha*especificado*un*valor*para*el*parámetro*1

lo que significa que en tu consulta no le has dado valor al parametro, es decir si hiciste una consulta

SELECT * FROM TABLA WHERE Codigo = $P{parametro1}

y a $P{parametro1} no le das ningun valor, te va a lanzar ese error, en irreport esto se hace el el campo Default Value del parametro, si lo hacer x codigo debes asegurarte de pasar siemrep el parametro en el metodo fill

como estas destructor, una pregunta por que me da error cuando hago lo siguiente


SELECT * FROM TABLA WHERE Codigo = $P{parametro1}


$P{parametro1} = "id=1 and serial=aae-1234"

ireport me da un erro algo asi <<$1>>

Thelordseba 22/03/2008 06:33

Re: Jasper Report + iReport + NetBeans 4
 
Hola, alguien sabe como puedo agregar una pagina en un reporte hecho con jasper report?
¿Como se utiliza el metodo addPage() de la clase JasperPrint?

obravista 26/03/2008 14:42

Re: Jasper Report + iReport + NetBeans 4
 
Hola, a ver si pueden ayudarme, el problema mío es que cuando hago la prueba de conexión a la base de datos, con el iReport, este me modifica la dicha base de datos y la deja inservible para la aplicación original.
Tengo instalado el iReport-2.0.5, Windows xp sp2 y Java 1.6.0_05
Gracias de antemano

quetzalfp 27/03/2008 17:47

Re: Jasper Report + iReport + NetBeans 4
 
Que tal, he estado leyendo todo la historia del foro, y no he encontrado solucion a mi problema.

Tengo una aplicacion con EJB3 y icefaces. Mi problema parece que es de compatibilidad entre icefaces y ireport, ya que con un proyecto JSF funciona sin problemas, pero con un proyecto con icefaces no hace absolutamente nada, cuando bajo el server (glassfish) me sale lo siguiente:

INFO: PWC2785: No se puede serializar el atributo de sesión 1/com.icesoft.faces.sessionAuxiliaryData para la sesión 29932d3160a2f118ada61cfb075c
java.io.NotSerializableException: com.icesoft.faces.webapp.http.servlet.ServletExter nalContext
at java.io.ObjectOutputStream.writeObject0(ObjectOutp utStream.java:1081)
at java.io.ObjectOutputStream.defaultWriteFields(Obje ctOutputStream.java:1375)
at java.io.ObjectOutputStream.writeSerialData(ObjectO utputStream.java:1347)
at java.io.ObjectOutputStream.writeOrdinaryObject(Obj ectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutp utStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutpu tStream.java:302)
at java.util.HashMap.writeObject(HashMap.java:1039)
at sun.reflect.GeneratedMethodAccessor34.invoke(Unkno wn Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(Object StreamClass.java:917)
at java.io.ObjectOutputStream.writeSerialData(ObjectO utputStream.java:1339)
at java.io.ObjectOutputStream.writeOrdinaryObject(Obj ectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutp utStream.java:1079)
at java.io.ObjectOutputStream.defaultWriteFields(Obje ctOutputStream.java:1375)
at java.io.ObjectOutputStream.defaultWriteObject(Obje ctOutputStream.java:391)
at java.util.Collections$SynchronizedMap.writeObject( Collections.java:2033)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(Object StreamClass.java:917)
at java.io.ObjectOutputStream.writeSerialData(ObjectO utputStream.java:1339)
at java.io.ObjectOutputStream.writeOrdinaryObject(Obj ectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutp utStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutpu tStream.java:302)
at java.util.HashMap.writeObject(HashMap.java:1039)
at sun.reflect.GeneratedMethodAccessor34.invoke(Unkno wn Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(Object StreamClass.java:917)
at java.io.ObjectOutputStream.writeSerialData(ObjectO utputStream.java:1339)
at java.io.ObjectOutputStream.writeOrdinaryObject(Obj ectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutp utStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutpu tStream.java:302)
at org.apache.catalina.session.StandardSession.writeO bject(StandardSession.java:1939)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at java.io.ObjectStreamClass.invokeWriteObject(Object StreamClass.java:917)
at java.io.ObjectOutputStream.writeSerialData(ObjectO utputStream.java:1339)
at java.io.ObjectOutputStream.writeOrdinaryObject(Obj ectOutputStream.java:1290)
at java.io.ObjectOutputStream.writeObject0(ObjectOutp utStream.java:1079)
at java.io.ObjectOutputStream.writeObject(ObjectOutpu tStream.java:302)
at org.apache.catalina.session.StandardManager.doUnlo ad(StandardManager.java:624)
at org.apache.catalina.session.StandardManager.unload (StandardManager.java:538)
at org.apache.catalina.session.StandardManager.stop(S tandardManager.java:794)
at org.apache.catalina.core.StandardContext.stop(Stan dardContext.java:5325)
at com.sun.enterprise.web.WebModule.stop(WebModule.ja va:357)
at org.apache.catalina.core.ContainerBase.stop(Contai nerBase.java:1286)
at com.sun.enterprise.web.VirtualServer.stop(VirtualS erver.java:424)
at org.apache.catalina.core.ContainerBase.stop(Contai nerBase.java:1286)
at org.apache.catalina.core.StandardEngine.stop(Stand ardEngine.java:538)
at org.apache.catalina.startup.Embedded.stop(Embedded .java:970)
at com.sun.enterprise.web.WebContainer.stop(WebContai ner.java:931)
at com.sun.enterprise.web.PEWebContainer.stopInstance (PEWebContainer.java:814)
at com.sun.enterprise.web.PEWebContainerLifecycle.onS hutdown(PEWebContainerLifecycle.java:95)
at com.sun.enterprise.server.ApplicationServer.onShut down(ApplicationServer.java:549)
at com.sun.enterprise.server.ondemand.OnDemandServer. onShutdown(OnDemandServer.java:131)
at com.sun.enterprise.server.Shutdown.startShutdown(S hutdown.java:75)
at com.sun.enterprise.admin.event.AdminEventMulticast er.invokeShutdownEventListener(AdminEventMulticast er.java:1501)
at com.sun.enterprise.admin.event.AdminEventMulticast er.handleShutdownEvent(AdminEventMulticaster.java: 1490)
at com.sun.enterprise.admin.event.AdminEventMulticast er.processEvent(AdminEventMulticaster.java:480)
at com.sun.enterprise.admin.event.AdminEventMulticast er.multicastEvent(AdminEventMulticaster.java:176)
at com.sun.enterprise.admin.server.core.channel.Admin ChannelServer.sendNotification(AdminChannelServer. java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Nativ e Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Native MethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(De legatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastSe rverRef.java:294)
at sun.rmi.transport.Transport$1.run(Transport.java:1 53)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport. java:149)
at sun.rmi.transport.tcp.TCPTransport.handleMessages( TCPTransport.java:466)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandl er.run(TCPTransport.java:707)
at java.lang.Thread.run(Thread.java:595)

Ojala alguien me pueda ayudar

mariojava2007 01/04/2008 21:58

Re: Jasper Report + iReport + NetBeans 4
 
Hola, sigo continuando con ireport, pero ahora necesito crear reportes para la web por medio de ireport y java, yo habia pensado utilizar applets, hasta el momento hice una applet y monte en un web proyect de netbeans. Pero al mostrar el reporte no hace nada. ni me marca error.
Si alguien me puediera ayudar se lo agradeceria mucho.

Franklim 02/04/2008 08:58

Re: Jasper Report + iReport + NetBeans 4
 
Buenas, soy nuevo por aquí así que no sé si podrán ayudarme. Tengo el siguiente problema,
estoy diseñando un informe con IReport y tengo 2 parámetros, uno es multiselect que permite
que no se seleccione ningún valor y el otro es un combo donde se debe seleccionar un valor
obligatoriamente. Lo que deseo es que si se selecciona alguno en el multiselect no te permita
elegir ninguno en el combo. El problema es a la hora de construir el sql ya que me bastaría
con recoger el valor del multiselect y pasarlo a la function plpgsql y dentro de la función
tratarlo pero lo único que sé para tratar parámetros multiselect es con
$X{IN,"Columna",ParamentroMultiselect} en el where, si alguien sabe como recuperar el dato
y pasarlo a la función también me valdría.


Un saludo y muchas gracias por la ayuda

carlos_82 04/04/2008 16:13

Re: Jasper Report + iReport + NetBeans 4
 
BUenas gente, tengo una pregunta ¿que me pueden decir de JasperServer? solo se que es un servidor de reportes, pero me gustaria algo de informacion en español ya que todo lo que consiguo de interes esta en ingles y mi ingles no es muy bueno

lunasilek 07/04/2008 20:23

Re: Jasper Report + iReport + NetBeans 4
 
Hola soy nueva en esto del foro y de ireport... estoy haciendo un sistema el cual me genera un evaluación escrita ... mi duda esta en como hago para crear un informe sin una sentencia sql... me explico trabajo con netbeans 5.0 desde ahi executo el query y guardo el resultado en un arreglo ¿como hago para pasar esa información a ireport? se puede? es urgente es mi tesis...

Nighter 21/04/2008 17:31

Re: Jasper Report + iReport + NetBeans 4
 
Buenas tardes, espero me puedan ayudar con la siguiente duda, estoy tratando de crear un reporte en pdf utilizando ireport 2.0.5, anteriormente ya habia trabajado con ireport pero en una aplicacion SE y ahora lo quiero hacer pero desde jsf (Visual jsf de netbeans 6)

twopelu 25/04/2008 01:01

Re: Jasper Report + iReport + NetBeans 4
 
Buenos dias!

Estoy trabajando con iReports para generar informes y me he quedado bloqueado.

El problema es que no consigo que reconozca un parametro de tipo Collection (concretamente un ArrayList<Integer>) que le paso desde mi aplicación Java.

Necesito usar dicha lista en la query del report, que es:

SELECT *
FROM H_HM_DATA_CROSSROADS
WHERE DATE >= $P{DATE_DATEI}
AND DATE <= $P{DATE_DATEF}
AND CROSSROAD_CODE IN $P{LIST_COD_SEL}
ORDER BY DATE, CROSSROAD_CODE;

La linea que indico en negrita da problemas. He intentado pasar la lista como ArrayList pero no funciona. Tambien he probado a convertir la lista en String, con el formato (1, 2, 3) y tampoco.

Ya he comprobado que el tipo de datos del parametro es correcto en cada caso, que la query funciona fuera de iReports y todo por el estilo, ya no se que probar (maldito iRepors caprichoso).

Alguien sabe como usar Collection dentro de las queries de iReports?

Gracias!

twopelu 25/04/2008 01:03

Re: Jasper Report + iReport + NetBeans 4
 
Cita:

Iniciado por lunasilek (Mensaje 2353985)
Hola soy nueva en esto del foro y de ireport... estoy haciendo un sistema el cual me genera un evaluación escrita ... mi duda esta en como hago para crear un informe sin una sentencia sql... me explico trabajo con netbeans 5.0 desde ahi executo el query y guardo el resultado en un arreglo ¿como hago para pasar esa información a ireport? se puede? es urgente es mi tesis...

iReports presta dos funcionalidades principalmente: la primera es generar el informe realizando la consulta sql interna, a partir de la informacion que le pasamos por medio de parametros; la segunda consiste en pasarle la información devuelta por una consulta hecha de forma externa, y el iReports la pintara.

Revisa el manual de iReports o los ejemplos de la web oficial porque ahi hay ejemplitos bastante claros.

Un saludo.

SergioRamosAstur 08/05/2008 05:50

Re: Jasper Report + iReport + NetBeans 4
 
Buenas a todos, llevo dias investigando el funcionamiente de Jasper Reports y estas cosillas utiles para generar informes, diseñe mi plantilla UsuarioReport.jasper, lo compile con el i-report y funciona perfectamente. En el eclipse abri un proyecto java normal , añadi los .jar necesarios, y logre con éxito crear el informe sin ningun problema.

El problema me surguió cuando extrapolo todo esto a un proyecto que estoy haciendo utilizando Struts+Spring+Ibatis, con eclipse y un servidor jboss, y al ejecutar el metodo doInforme() de una clase action me da un error, estoy seguro q es debido a q pongo mal la ruta de acceso al *jasper, tengo una carpeta Report en esta ruta: WebContent/pages/Report/ , y no logro acceder a está ruta correctamente.

Código:


 Connection con=(Connection) DriverManager.getConnection(mySQLURL,usuario,password);
                Map parameters=new HashMap();
                parameters.put("login", login);
                //Ruta del archivo jasper
                String reportName = "C:/Desarrollo/codigo/ProyectoNBA/WebContent/pages/Report/UsuarioReport.jasper";
                JasperReport jasperReport;
                JasperPrint jasperPrint;
                jasperReport = (JasperReport)JRLoader.loadObject(getClass().getResource("/pages/Report/UsuarioReport.jasper"));
                jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,con);
                JasperExportManager.exportReportToPdfFile(jasperPrint, login+".pdf");
                con.close();

He provado pasarle la ruta fisica del fichero en el disco duro, con ../pages/Report , cosas q funcionan bien en el ejemplo primero q hice en el proyecto java normal, pero no consigo hacerlo funcionar, me sale este error:

java.lang.NoClassDefFoundError: net/sf/jasperreports/engine/util/JRLoader
es.proyecto.web.action.InformeAction.doInformeUsua rio(InformeAction.java:50)

Haber si me podeis echar un cable q ando desesperado haciendo pruebas, gracias y un saludo

mayte85 13/05/2008 10:19

Re: Jasper Report + iReport + NetBeans 4
 
Hola buen dia hay alguien que este dispuesto a ayudarme con ireport, tengo un problema al crear los subreportes no consigo hacerlos con el asistente que trae esta herramineta al compilarlo me dice que no encuentra el archivo, tambien tengo otras dudas porfavor ayudenme me urge.
Saludos

leosferatu 13/05/2008 17:22

Re: Jasper Report + iReport + NetBeans 4
 
Hola a todos.
Alguno de ustedes sabe si se puede mandar un parametro como parte del query que va ejecutar iReports, algo asi

String cad = "campo1+campo2+campo3";
...
parameter.put("cad", cad);
...
en iReports el query esta asi:

select $P{cad} as valor, valor1, valor2 from tabla

???

Alguien me puede ayudar, quiero pasarle esa cadena al query, antes del where del query...me carca un error...

java.sql.SQLException: [Microsoft][SQLServer 2000 Driver for JDBC][SQLServer]Error al convertir el tipo de datos nvarchar a float.

les agradeceria mucho su ayuda...saludos

mayte85 14/05/2008 08:41

Re: Jasper Report + iReport + NetBeans 4
 
Hola yo le mando los parametros de la siguiente forma solo que en el where espero te sirva.

where tabla.campoid=tabla.campoid
AND 1=1 $P!{aux_parametro}

y anterior a esto declaro dos parametros un parametro campoid de tipo string y en la expresion le pongo "".
El otro es el auxiliar llamado aux_parametro el cual es de tipo string y en la expresion le pongo lo siguiente.
$P{campoid}.equals("") ? " " : " AND tabla.campoid = " + $P{campoid}
el nombre del campo puede ser igual al nombre del parametro.
Bueno espero te sirva.
Ami me funciona perfecto.


La zona horaria es GMT -6. Ahora son las 13:54.

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