Ver Mensaje Individual
  #270 (permalink)  
Antiguo 29/07/2005, 14:38
djiska
 
Fecha de Ingreso: julio-2005
Mensajes: 1
Antigüedad: 18 años, 9 meses
Puntos: 0
Jasper Report + iReport + NetBeans 4

Hola chicos.

Navegando por la red me he encontrado con este foro y agrada ver cosas en español. Hace tiempo que tengo un problemilla y todavia no lo he solucionado, éste es respecto a la generación de histogramas y diagramas de barra con Ireport. Este problema lo arrastro desde la versión 3.2. Asi que llevo casi un añito, lo dejo aburrido y lo vuelvo a coger, la última vez fue con la version 4.0. Yendo al tema. Mi aplicacion trabaja con las swing de java. Por tanto debe de aparecer el formulario de impresión de Ireport. Yo he creado los informes con histogramas en Ireports y funcionan bien. El problema es cuando los quiero abrir desde la aplicación. Otros tipos de formularios que no llevan charts funcionan correctamente.

El error que me da es:

There is exception herenet.sf.jasperreports.engine.JRException: Error testing report expressions BeanShell script.
Message : Sourced file: inline evaluation of: ``bshCalculator.evaluateOld(17);'' : Class: it.businesslogic.ireport.IReportScriptlet not found in namespace
Line 192 : value = (java.awt.Image)((java.awt.Image)it.businesslogic. ireport.chart.DefaultChartFactory.drawChart(new String[]{"antialias=true","tooltips=false","legend=false", "chartName=Bar3D","plotOrientation=2","foregroundA lpha=0.33","valueLabel=","subtitle=","plotBackgrou nd=[255,255,255]","quality=2","height=334","titlePosition=1","char tBackground=[255,255,255]","width=494","depthFactor=0.2","serie2=SERIE_CALI FICACION","serie1=","serie0=SERIE_COUNT_CALIFICACI ON","categoryLabel=","title="}, (it.businesslogic.ireport.IReportScriptlet)((net.s f.jasperreports.engine.JRAbstractScriptlet)super.p arameter_REPORT_SCRIPTLET.getValue())));

El código que he utilizado y según toda la documentación que he visto, creo que es correcto:

class Informes {

static final String PATH_INFORME = "C:/MiJar/Informes/";
static final int INFORME_ACTA = 0;
static final int INFORME_HISTOGRAMA = 1;

public Informes(String pathXml, int tipoInforme) {
try {

net.sf.jasperreports.engine.design.JasperDesign jasperDesign = net.sf.jasperreports.engine.JasperManager.loadXmlD esign(PATH_INFORME + pathXml);
net.sf.jasperreports.engine.design.JRBshCompiler theCompiler = new net.sf.jasperreports.engine.design.JRBshCompiler() ;
net.sf.jasperreports.engine.JasperReport jasperReport = theCompiler.compileReport(jasperDesign);

Map parameters = new HashMap();

DBAsignatura asignatura = new DBAsignatura(MiArbol.codigoAsig, MiArbol.centro, MiArbol.seccion, MiArbol.plan, MiArbol.cursoAcademico);
Integer i = new Integer(MiArbol.codigoAsig);
if (Informes.INFORME_ACTA == tipoInforme) {
parameters.put("CURSO", asignatura.curso);
parameters.put("TITULACION", asignatura.nombreAsig);
}
parameters.put("CODASIG", i);
parameters.put("SECCION", MiArbol.seccion);
parameters.put("CURSOACAD", MiArbol.cursoAcademico);
parameters.put("CENTRO", new Integer(MiArbol.centro));
parameters.put("PLAN", new Integer(MiArbol.plan));
/*System.out.println("Codigo Asig: " + i.toString() + "\n" +
"Seccion: " + MiArbol.seccion + "\n" +
"Plan: " + MiArbol.plan + "\n" +
"Curso Acad: " + MiArbol.cursoAcademico + "\n" +
"Centro: " + MiArbol.centro);*/
Connection con=null;

try {
BDConexion conexion = new BDConexion();
con = conexion.AbrirConexion();
}
catch(Exception e){
System.out.println("Exception in test.jsp "+ e);
}


net.sf.jasperreports.engine.JasperPrint jasperPrint = net.sf.jasperreports.engine.JasperFillManager.fill Report(jasperReport,parameters,con);
net.sf.jasperreports.engine.JasperManager.printRep ortToPdfFile(jasperPrint,"ReportA.pdf");
net.sf.jasperreports.view.JasperViewer.viewReport( jasperPrint,false);

Marco1.JLABELBARRADEESTADO.setText("Operación: " + "Preparado para imprimir");
}
catch(Exception e){ System.out.println("There is exception here"+ e);
}
}
}

Esto esta hecho con la version 4.0 no sé si hay algún problema con esa versión. El problema parece ser la clase it.businesslogic.ireport.IReportScriptlet. Pero no lo entiendo y he preguntado bastante sobre todo en el foro de desarrollo y nada. No sé si alguien me puede echar un mano.

Gracias y un saludo