Mejoras #20286

Mejora sobre el debug

Añadido por Nacho Santos Gaudioso hace alrededor de 12 años.

Estado:Nueva Fecha de inicio:2012-04-13
Prioridad:Normal Fecha fin:
Asignado a:- % Realizado:

0%

Categoría:-
Versión prevista:-
Ref. DESIG (Jira):

Descripción

Con la idea de obtener en una cadena los mensajes de jasper en modo debug, he preparado unos métodos que habría que adaptar a lo existente.

De este modo podríamos realizar trazas de los informes que estén funcionando o no y poder añadirlas en el debug de gvhidra.

Ejemplo:
IgepDebug::setDebug(DEBUG_USER,'Debug jasper by Nacho:

'.$informeJ->getDebugTrace('pdf').'
');

Salida:
Debug jasper by Nacho:

export CLASSPATH=/usr/local/jdk1.5.0_07/bin:/usr/local/jdk1.5.0_07/lib:/usr/local/jdk1.5.0_07/bin:/usr/local/jdk1.5.0_07/lib:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/commons-beanutils-1.8.2.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/commons-collections-3.2.1.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/commons-digester-2.1.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/commons-javaflow-20060411.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/commons-logging-1.1.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/commons-math-1.0.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/dom4j-1.6.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/jasperreports-extensions-3.5.3.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/jasperreports-fonts-4.5.0.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/jcommon-1.0.15.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/spring.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/iText-2.1.7.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/jasperreports-4.5.1.jar:/usr/local/jdk1.5.0_07/bin:/usr/local/jdk1.5.0_07/lib:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/barbecue-1.5-beta1.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/barcode4j-2.0.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/groovy-all-1.7.5.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/jasperreports-chart-themes-4.5.0:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/jfreechart-1.0.12.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/xalan.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/postgresql-8.3-603.jdbc3.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/classes12.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/mysql-connector-java-5.1.6-bin.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/veranda.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/verdana.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/liberation_serif.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/Barcode128.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/arial.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/liberation_mono.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/lucida_sans_typewriter.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/courier_new.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/linux_biolinum.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/linux_libertine.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/times_new_roman.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/jars/fonts/liberation_sans.jar:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/plantillasJasper:/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper:

Comando: /usr/local/jdk1.5.0_07/bin/java  -Djava.awt.headless=true  InformeJasper /tmp/llamadaJasper_cOTuer.xml 2>&1

Resultado Ejecución:

net.sf.jasperreports.engine.JRException: Unknown column name : anyo_contabilidad

at net.sf.jasperreports.engine.JRResultSetDataSource.getColumnIndex(JRResultSetDataSource.java:390)
at net.sf.jasperreports.engine.JRResultSetDataSource.getFieldValue(JRResultSetDataSource.java:120)
at net.sf.jasperreports.engine.fill.JRFillDataset.setOldValues(JRFillDataset.java:922)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:887)
at net.sf.jasperreports.engine.fill.JRFillDataset.next(JRFillDataset.java:864)
at net.sf.jasperreports.engine.fill.JRBaseFiller.next(JRBaseFiller.java:1435)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:126)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746)
at net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:58)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:417)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:247)
at InformeJasper.createResultFile(InformeJasper.java:305)
at InformeJasper.cargaFichDatosEntrada(InformeJasper.java:785)
at InformeJasper.main(InformeJasper.java:378)

-

Fichero XML de invocación


<!DOCTYPE llamadaJasper [
<!ELEMENT llamadaJasper (jasperFile , jasperDataSource , resultFileName , jasperParams?)?>
<!ATTLIST llamadaJasper id ID #REQUIRED>
<!ELEMENT jasperFile EMPTY>
<!ATTLIST jasperFile fileName CDATA #REQUIRED>
<!ELEMENT jasperDataSource (jasperDBOptions | jasperXMLData)?>
<!ATTLIST jasperDataSource type (sgbd | xml | none) "sgbd">
<!ELEMENT jasperDBOptions (dbType , dbHost , dbPort , dbDatabase , dbUser , dbPassword)?>
<!ATTLIST jasperDBOptions jdbc CDATA #IMPLIED>
<!ATTLIST jasperDBOptions driver CDATA #IMPLIED>
<!ELEMENT dbType EMPTY>
<!ATTLIST dbType php CDATA #IMPLIED>
<!ATTLIST dbType java CDATA #IMPLIED>
<!ELEMENT dbHost ANY>
<!ELEMENT dbPort ANY>
<!ELEMENT dbDatabase ANY>
<!ELEMENT dbUser ANY>
<!ELEMENT dbPassword ANY>
<!ELEMENT jasperXMLData (resultSet)>
<!ATTLIST jasperXMLData baseXpath CDATA #REQUIRED>
<!ELEMENT resultSet (dataRow)*>
<!ATTLIST resultSet id ID #REQUIRED>
<!ATTLIST resultSet numrows CDATA #IMPLIED>
<!ATTLIST resultSet numcols CDATA #IMPLIED>
<!ELEMENT dataRow (dataCol)+>
<!ATTLIST dataRow number CDATA #REQUIRED>
<!ELEMENT dataCol (#PCDATA)>
<!ATTLIST dataCol name CDATA #REQUIRED>
<!ELEMENT jasperParams (jParam)*>
<!ATTLIST jasperParams numparams CDATA #IMPLIED>
<!ELEMENT jParam ANY>
<!ATTLIST jParam name CDATA #REQUIRED>
<!ATTLIST jParam type CDATA #REQUIRED>
<!ELEMENT resultFileName EMPTY>
<!ATTLIST resultFileName fileName CDATA #REQUIRED>
<!ATTLIST resultFileName fileType (pdf | rtf | doc | csv | odf | odt) "pdf">
]>
<llamadaJasper id="docsSinValidarPagina.jasper"><!--
Este "truco" es la unica forma de que PHP4 pueda validar
documentos cuando los crea al vuelo con DOM XML.
Esta "plantilla" es por tanto necesaria para trabajar con
XML bien formados y válidos.
-->
<jasperFile fileName="/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/plantillasJasper/docsSinValidarPagina.jasper"/><jasperDataSource type="sgbd"><jasperDBOptions driver="org.postgresql.Driver" jdbc="jdbc:postgresql://rosa.coput.gva.es:5432/marte"><dbType php="pgsql" java="org.postgresql.Driver"/><dbHost>rosa.coput.gva.es</dbHost><dbPort>5432</dbPort><dbDatabase>marte</dbDatabase><dbUser>xxx</dbUser><dbPassword>xxx</dbPassword></jasperDBOptions></jasperDataSource><resultFileName fileName="/tmp/docsSinValidar_AZTyU7.pdf" fileType="pdf"/><jasperParams numparams="5"><jParam name="CIT_logo_horiz_BN" type="String">/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/images/logo_horiz_BN.jpg</jParam><jParam name="CIT_logo_horiz_bicolor" type="String">/home/usuarios/isantos/public_html/cvswrk/serpre-eclipse/serpre/include/jasper/images/logo_horiz_bicolor.jpg</jParam><jParam name="query" type="String">
SELECT
tspr_documento.anyo_contabilidad as assas,
concat(tcmn_org_hacienda.cdcon,concat('-',concat(tcmn_org_hacienda.cdsa,concat('-',tcmn_org_hacienda.cddg)))) as organica,
tspr_documento.num_prp,
tspr_documento.numsec,
tspr_documento.tipo_doc,
tspr_documento.clase,
tspr_datos_oc.cprog,
tspr_datos_oc.subconcepto,
tspr_documento.fecha_prp,
CASE WHEN tspr_datos_oc.anyo is not null THEN concat(tspr_datos_oc.anyo,concat('-', concat( tspr_datos_oc.dgral, concat('-', concat( to_char(tspr_datos_oc.num,'000'), concat('-', concat(tspr_datos_oc.tipo_exp, concat('-', tspr_datos_oc.num_tipoexp)))))))) END as claveInformatica,
tspr_datos_oc.texto_origen,
CASE WHEN tspr_datos_oc.subn_pry is not null then concat(tspr_datos_oc.cproy,concat('/',tspr_datos_oc.subn_pry)) ELSE tspr_datos_oc.cproy END as proySubproy,
tspr_documento.importe_corriente
FROM
tspr_documento,
tspr_datos_oc
LEFT OUTER JOIN tcmn_org_hacienda ON tcmn_org_hacienda.cdorg=tspr_datos_oc.cdorg
WHERE
tspr_documento.anyo_contabilidad=tspr_datos_oc.anyo_contabilidad and tspr_documento.clave_oc=tspr_datos_oc.clave_oc
/*WHERE DE FILTRO DEL PANEL*/

and tspr_documento.anyo_contabilidad=2008 
AND   tspr_datos_oc.cprog IN (51110,43110,44210,51210,51310,73110,43210,51320,51330,51410,51430,12160)  AND    tspr_datos_oc.tipo_presu='0'  AND    tcmn_org_hacienda.cdcon='08'   AND    tspr_documento.estado='P'
/*WHERE DE FILTRO DEL PANEL*/
ORDER BY
organica,
tspr_datos_oc.cdorg,
tspr_documento.num_prp,
tspr_documento.numsec
&lt;/jParam&gt;&lt;jParam name="paramFiltro1" type="String"&gt;2008&lt;/jParam&gt;&lt;jParam name="subtituloListado" type="String"&gt;Propuestos Presupuesto corriente Créditos y Pagos&lt;/jParam&gt;&lt;/jasperParams&gt;&lt;/llamadaJasper&gt;

informeJasper.php: Error. No se generó el fichero resultado: /tmp/docsSinValidar_AZTyU7.pdf

informeJasper.php - Clase con las modificaciones (57,3 KB) Nacho Santos Gaudioso, 2012-04-13 15:59

Exportar a: Atom PDF