Buenas. Como están? Les cuento mi problema. Tengo un reporte que se genera mediante un evento desde un cuadro vía jasperreports. El reporte funcionaba bien hasta que se solicito incluir una imagen de fondo para este sistema. Esta imagen de fondo se genera mediante un script js en donde al obtener la url actual y verificar que contiene una cadena especifica, se agrega la clase ‘body-img’ al cuerpo. La clase ‘body-img’ obtiene la imagen a través de una url. El script se encuentra en una clase que se extiende de toba_ei_pantalla, creada solo para que se ejecute el mismo.
Cuando se da click al evento en el cuadro se ejecuta el jasper en una ventana popup, pero la misma queda en blanco y lo que genera es un archivo con extensión .php en lugar del reporte pdf requerido.
La porción de código que llama al jasper desde el evento del cuadro es de la siguiente manera:
"$opciones[‘ts’] = ‘vista_jasperreports’;
$opciones[‘reporte’] = ‘constancia_inscripcion’;
$url = toba::vinculador()->get_url(null,null,$opciones);
$codigo_js = " abrir_popup(‘proyecto’, ‘$url’) “;
toba::acciones_js()->encolar($codigo_js);”
El script en la extensión de pantalla para cargar la imagen de fondo es de la siguiente manera:
" // Obtener la URL actual
var url = window.location.href;
// Verificar si la URL contiene una cadena específica
if (url.includes(‘/aspirantes’)) {
// Agregar la clase ‘body-img’ al cuerpo
document.body.classList.add(‘body-img’);
} else {
// Si no es la página de inicio de sesión, puedes quitar la clase si ya está presente
document.body.classList.remove(‘body-img’);
}".
Si vale la aclaración, el script se encuentra fuera de la clase php al final del archivo.
Estoy usando la versión 3.3.23 de siu-toba. Con php 7.4.33, jasperreports 5.6, Ireport 5.6 y jdk 7 (1.7.0_80).
Desde ya agradezco a quien pueda ayudarme con este problema y dar un poco de luz al asunto. Saludos