[SOLUCIONADO] archivos jasper de certificados

Hola

En que parte del codigo de 3w se hace la seleccion del archivo jasper que se utilizará para imprimir un certificado determinado?

Emilio

Hola, podes ver un ejemplo de como se hace en el método accion__descargar_comprobante del archivo src/siu/operaciones/solicitudes/controlador.php, paso a explicarlo:

  1. Primero se crea el objeto Jasper:

$report = new vista_jasperreports();

  1. Luego se obtienen los datos de la solicitud y de la plantilla (archivo .jasper):

$datos_solicitud = \toba::consulta_php('co_constancias')->get_datos_solicitud($solicitud['solicitud']); //se obtienen los datos de la solicitud
$plantilla = \toba::consulta_php('co_constancias')->get_constancia_archivo_plantilla($datos_solicitud['constancia']); //se obtiene el nombre de la plantilla (el jasper)

$path = estatica('guarani', 'get_path_rep_jasper', array($plantilla)); //se arma el path hasta el archivo .jasper
$report->set_path_reporte($path); //se setea el archivo .jasper en el objeto

  1. Luego se pueden asignar parámetros según los que necesite ese Jasper en particular:

//Seteo el logo de la Institución correspondiente, si no existe seteo el logo de Guarani
$path_logo = kernel::localizador()->encontrar_path_archivo('www/img', 'logo-transparente.png');
$report->set_parametro('logo', 'S', $path_logo);
$report->set_parametro('solicitud', 'E', $solicitud['solicitud']);
........

  1. Finalmente se genera la salida y se descarga

$report->generar_salida();
$this->descargar_archivo($report->get_nombre_archivo_generado(), 'comprobante.pdf');

saludos.

Apreciable el detalle de la explicacion.

Esta tarde lo pondré en marcha con algun certificado personalizado.

Hay alguna caracteristica especial que tengan que tener los certificados para que puedan ser descargados directamente desde el 3w? Caso que tengo a mano es el certificado de alumno regular.

Emilio

Deben estar en la carpeta src/siu/exportaciones_g3/jasper, creo que es solo eso, mientras que le pases los parámetros que precise el jasper va a salir funcionando.

El certificado de alumno regular creo que necesita un QR, se ve en el ejemplo en src/siu/operaciones/solicitudes/controlador.php función accion__descargar_comprobante.

El resto de la información la obtiene el propio Jasper ya que este se puede conectar a la DB y hacer consultas.

saludos.

Hay una consulta que devuelve las constancias a presentar para su eleccion que menciona a “objeto is null”.
Son tres los certificados que no cumplen esa condicion y probé con el de regular y funciona desde 3w.
Creo que el objeto es un objeto toba.

Esa condicion debe mantenerse actualmente?

Emilio

Esto donde te pasa?

cuando hablas de consulta te referís a una consulta a la BD?

saludos.

Hola

Si. La consulta que te devuelve los certificados que pueden solicitar los alumnos.

Emilio

PS:
function lista_constancias_activas() en solicitudes.php

Emilio

Hola Emilio, exacto, la consulta que trae el listado de certificados para el 3W esta en src/siu/modelo/datos/db/solicitudes.php función lista_constancias_activas().

También tenes otra opción que es descargar los certificados desde Gestión, se configura en instalacion/config.php:


...........................
             // Se utiliza para generar vínculos hacia gestión. El caso típico es la generación de certificados
            // si esta entrada es vacía
            'url_gestion' => 'http://[URL_GESTION]',
            'solicita_constancias_en_gestion' => true,
...........................

saludos.

Hola

Retomo este tema.
Estoy intentando que se descarguen los certificados (el antes mencionado de alumo) y me sale un pdf en blanco.
Alguna idea de donde puede estar el problema?

guarani v.3.12.

Emilio

Hola

Alguna idea para este problema?

Emilio

Hola Emilio, te quería consultar entonces si este certificado lo estas solicitando por medio de la url de gestión que te comento Leonel y por otro lado pedirte si podrías adjuntar el log del 3w y de apache al momento de hacer el pedido de dicho certificado.

Esto de casualidad lo tenes subido a colab para revisarlo?

Gracias.

Hola Facundo

El problema estaba en la consulta del certificado.
No devolvia nada y por lo tanto salía en blanco.
No me parece un comportamiento adecuado pero ya lo personalizaremos.

Emilio