Esimados, estoy modificando un reporte de Acta de examen. La eliminacion y los cambios de lugar no son un problema. Pero me encuentro con un requerimiento que es Agregar Acta informatica N°.
Al estilo : $P{nro_acta} para el numero de acta…
Como se el nombre del parametro? Donde lo modifico o agrego.?
Hola Emilio,
entiendo que a lo que te referís es a agregar un parámetro nuevo para el reporte. Esto, a nivel del iReports implica simplemente, en la solapa izquierda (Report Inspector), en Parameters, hacer un Add Parameter con el nombre y tipo que vos desees. Ahí mismo vas a encontrar el listado de parámetros existentes, si desearas modificar alguno.
Sin embargo, para esto, también vas a necesitar modificar la clase php que invoca a jasper, en el método vista_jasperreports, para agregar el pasaje de ese parámetro con una línea del estilo:
$report->set_parametro(‘nombre parametro’, tipo_parametro, valor_parametro);
Para esto va a ser necesario que agregues la clase personalizada, en tu carpeta de personalizacion, que extienda de la original de Guaraní, redefiniendo este método vista_jasperreports, que implemente lo mismo que el original agregando dicho parámetro con el valor necesario. Para el caso de Actas de Examen, esta clase sería: $path_instalacion_guarani\php\operaciones\examenes\actas\imprimir_acta\ci_edi_imprimir_acta_examen.php.
Gabriela…, pude solucionar con tus pasos el agregado de una variable. Pero me surgio otro problema que necesito un poco de ayuda para destrabarme.
El tema es que cuando largo la impresion del acta de examen la variable $V{ausentes} que lista los ausentes siempre me viene en 0. Ya saben de este error? Como puedo solucionarlo?..
No conozco ningun IDE en php donde sea transparente poner break point y ver el valor de una variable en tiempo de ejecucion. O quizas hay alguna forma de pasarlo a un log de una forma clara de que representa y cuando se vuelca el valor…
Hola Emilio,
en principio te comento que en iReports son dos cosas diferentes las variables y los parámetros. Un parámetro, como el que agregaste en el caso anterior, recibe el valor que se le asigna en el código php, en el método vista_jasperreports, mediante la sentencia $report->set_parametro(…).
Lo que Emilio Luque señala, te va a servir para debuggear cualquier variable del código php, por ejemplo el valor de un parámetro que vayas a pasarle a jasper, etc, pero no para las variables definidas en el iReports.
Estas variables internas definidas para el reporte podés verlas en el panel izquierdo, Variables. En este caso particular, la variable Ausentes, está definida con cálculo de tipo Suma, que se resetea en cada página, y cuya expresión de valor se define como: new Integer($F{resultado_descr}.equalsIgnoreCase(‘Ausente’) ? 1 : 0). Esto quiere decir que en cada página, la variable toma el valor del total de alumnos cuyo resultado es ausente.
En la versión actual, está funcionando correctamente. Lo que podría estar sucediendo es que en tu base de negocios, cuando cargás las notas al Acta, los resultados (sga_escalas_notas_resultado) no estén incluyendo el ‘ausente’, o que hayas modificado el valor de esta variable en el jrxml.
Podes verificar si estás viendo la misma definición de la variable, y cuáles son los resultados correspondientes a las notas asignadas a los alumnos del Acta.