Hola Emilio,
la cantidad de clases que se imprimen en la planilla de asistencia es un número fijo por defecto, ya que esas clases que se recuperan de la base y se envían como parámetros a jasper para mostrarlas en las columnas correspondientes según el diseño del jrmxl asociado.
Por lo cual, no sería factible hacer que esta cantidad sea dinámica.
Tal como comenta Emilio Luque, la posibilidad que existe es que personalices esta operación para imprimir la cantidad de clases que a ustedes les sea conveniente. Para esto vas a tener que realizar dos cambios:
Personalizar el archivo correspondiente a $path_instalacion_guarani\php\operaciones\asistencia\imprimir_planilla_asistencia\ci_nav_imprimir_planilla_asistencia.php, generando el propio personalizado. Deberán redefinir el método vista_jasper_reports donde envían las clases como parámetros, y además modificar la definición de la variable de clase: $s__cant_clases_planilla para asignarle el número deseado. Por otro lado si quieren visualizar correctamente la cantidad de clases en el cuadro de previsualización, en la pantalla previa a la impresión, tambíen deberán modificar el metadato asociado al mismo (cuadro_asistencias: 37000696), personalizándolo para agregar las columnas correspondientes, aunque no es necesario modificar su configuración en php.
Personalizar el jrxml PlanillaAsistencia.jrxml, generando el propio a partir del original en la carpeta de personalizacion\exportaciones\jasper. Aquí deberán agregar en el listado las columnas correspondientes a las clases que ustedes agreguen como parámetros. Agregar tanto los textfields como los parámetros necesarios.
Estimada Gabriela…, me podrias ayudar con tu guia para el siguiente caso?
En la planilla de asistencia necesito cambiar el legajo por el dni…, veo el archivo que me sugeriste para cambiar la cantidad de clases (a $path_instalacion_guarani\php\operaciones\asistencia\imprimir_planilla_asistencia\ci_nav_imprimir_planilla_asistencia.php)
y no veo nada transparente para poder pasar el nuevo parametro a jasper…
Hola Emilio,
en este caso el Legajo y el Dni no son parámetros si no campos en el listado de alumnos, el cuadro de previsualización de la impresión se envía por xml a jasper, por lo que para cambiar una columna del Detail del jrxml necesitás:
En el archivo PlanillaAsistencia.jrxml personalizado, modificar la columna ‘Legajo’, para que su encabezado sea ‘Dni’ y el textfield refiera al campo correspondiente F{dni} (o como se denomine el campo que vos agregues con los próximos pasos).
En el cuadro de alumnos de la vista previa a la impresión, metadato: 37000696, reemplazar la columna Legajo, por la columna Dni, que manejara ese nuevo dato deseado, y se exportará como un metadato personalizado modificado dentro de tu esquema de personalizaciones iniciado.
En tu clase personalizada para el ci_nav_imprimir_planilla_asistencia.php, deberás asegurarte en el método de configuración de dicho cuadro, que al cargarlo se le pase el dato correspondiente a esa columna que agregaste con el nombre apropiado (dni). Para esto debés verificar si también es necesario modificar o agregar personalizando alguna sql para la carga o ya es suficiente con las existentes. En este caso particular el método es: conf__cuadro_asistencias, y verás que en la consulta que se usa para cargarlo get_alumnos_inasistencias_acum_comision del co_asistencias.php, ya se está trayendo una columna con el id ‘nro_identificacion’, que entiendo que te serviría para tu propósito. En este caso deberás usar ese id al modificar el metadato del cuadro, y en el field del jrxml.
De no ser así podrías personalizar la sql en una clase propia para agregar una columna denominada dni o con el dato particular que vos quisieras traer, y en el método de carga de cuadro personalizarlo para invocar a la misma.