Problemas con Constancias desde 3W

Gente buenas tardes, tenemos el siguiente inconveniente, un ingresante solicita mediante 3w la constancia de alumno regular, como es ingresante No debería otorgársela, pero el sistema le devuelve la misma.

Cuando ingresamos desde Gestión, solicitamos la constancia y nos devuelve el error de que el alumno no es alumno regular.

Nosotros tenemos personalizado el CI ci_constancia_alumno_regular.php, la consulta sería porque para gestión funciona de manera correcta y para 3W NO?

Estamos con la versión 3.21.0

Muchas gracias!

Hola!

Autogestión no consume los componentes de toba ci, por lo tanto esa personalización no la va a ejecutar. Para que ambas interfeces vean esa personalización, deberían personalizar en el método es_alumno_regular del co_alumnos, ese método si se comparte.

Miren el método validar_constancia de src/siu/modelo/transacciones/solicitud_constancias.php de Autogestión

Saludos!

Hola Sergio, gracias por la respuesta, te comento, el co_alumnos ya lo tenemos extendido por lo que agregamos el método es_alumno_regular


	function es_alumno_regular($alumno)
	{
            
	$alumno = toba::db()->quote($alumno);
        $fecha = '\''.date("Y-m-d").'\'';    
        $sql = "SELECT * FROM negocio_unt.unt_f_validacion_alumno_regular($alumno, $fecha);";
        $rs = toba::db()->consultar_fila($sql);

        if ($rs['unt_f_validacion_alumno_regular']==0){
	    throw guarani::error(guarani_mensajes::get('800MAT_alumno_no_activo_regular')); 
        }
            return true;
        }	

Pero al realizar la verificación desde Autogestión sigue sin funcionar.
En cambio si cambiamos el archivo …/transacciones/solicitud_constancias.php de Autogestión cambiando

if (! (\toba::consulta_php('co_alumnos')->es_alumno_activo($alumno) && \toba::consulta_php('co_alumnos')->es_alumno_regular($alumno))) 

POR

if (! (\toba::consulta_php('co_alumnos')->es_alumno_activo($alumno) && \toba::consulta_php('[b]co_alumnos_unt[/b]')->es_alumno_regular($alumno))) 

Pasa lo siguiente, cuando solicitamos la constancia el sistema devuelve que se generó correctamente (Aviso de color verde) pero no le agrega a la lista. Se nota que está ejecutando la función el cual el devuelve el mensaje de error peor no lo interpreta en Autogestión.

Qué estamos haciendo mal para que no lo tome de manera correcta a co_alumnos_unt?

Saludos

Hola

Para personalizar una clase de consulta, deben seguir la siguiente documentación, sección Modificar la clase de consulta, Luego también tienen que tener en cuenta la sección siguiente Regenerar el autoload, que genera las modificaciones necesarias, para que autogestion pueda consumir esos cambios, luego deben hacer un SVN UP en autogestion para obtener esos cambios.

Para darles más información, también pueden leer esta documentación.

Cualquier duda consulten!
Saludos!

Sergio, gracias por la respuesta y por refrescar los conceptos con el pers_autoload el cual no lo había realizado. Ahora con la solicitud sigue mostrando el cartel que se generó de manera correcta, pero llega un mensaje que lo debe buscar de sección alumnos. La idea es que indique que no se generó porque no cumple con los requisitos. Me parece que G3w3 no está interpretado la negativa que enviamos con

   throw guarani::error(guarani_mensajes::get('800MAT_alumno_no_activo_regular'));

Mando captura de mensaje y de la configuración del co.

Saludos


Captura desde 2023-03-23 12-07-11.png

Captura desde 2023-03-23 12-07-11.png

Captura desde 2023-03-23 12-08-49.png

Captura desde 2023-03-23 12-08-49.png

Hola
tal vez la forma que se usa en el archivo de 3w src/siu/modelo/transacciones/solicitud_constancias.php la funcion function validar_constancia($constancia) te ayude un poco para ver como muestra los mensajes 3w
muestra el mensaje


throw new error_guarani(kernel::traductor()->trans('constancias_certificados.no_sos_activo_regular'));

estos mensajes están dentro del archivo src/siu/mensajes/mensajes.es.php
para cambiar el comportamiento deberías realizar con el esquema de personalizaciones

cualquier consulta avísanos
muchas gracias
saludos

Hola Jesica, perdón por la demora, retomando este tema… hicimos lo siguiente, personalizamos en G3W la solicitud de constancias

<?php
namespace unt\modelo\transacciones;

use SIU\Chulupi\ErrorKernelDb;
use \SIU\Chulupi\kernel;
use siu\errores\error_guarani;
use siu\errores\error_guarani_usuario;
use \siu\modelo\datos\catalogo;

class solicitud_constancias extends \siu\modelo\transacciones\solicitud_constancias
{
	function validar_constancia($constancia)
	{
		if ($constancia == \constancias::constancia_de_alumno_regular) {
			$alumno = $this->alumno;
			if (1==1) {
				throw new error_guarani(kernel::traductor()->trans('constancias_certificados.no_sos_activo_regular'));
			}			
/*			
			if (! (\toba::consulta_php('co_alumnos')->es_alumno_activo($alumno) && \toba::consulta_php('co_alumnos')->es_alumno_regular($alumno))) {
				throw new error_guarani(kernel::traductor()->trans('constancias_certificados.no_sos_activo_regular'));
			}
*/			
		}
	}
}

Como pueden ver obligamos a que entre en el if y nos tire el mensaje de error. al realizar un debug podemos ver que carga el mensaje “Debes ser alumno regular en la propuesta” pero cuando sigue ejecutando el código, en algún momento sobre escribe el mensaje y nos termina mostrando el mensaje "La solicitud se generó correctamente ", sin generar el registro correspondiente en la grilla.

O sea está bien que NO nos el nuevo registro en la grilla, pero no entiendo el porque del mensaje correcto.

Qué otra cosa podríamos ver??

Muchas gracias

Buen día, se les ocurre qué puede ser que no nos está mostrando el mensaje requerido?
Saludos

Hola Javier,

Pude reproducir el caso, y pasa como decís, no muestra el mensaje de error.

Ya cree el ticket 46137 para resolverlo, crea un GDS así te pasamos la solución cuando este.

saludos.
2

Leo, muchas gracias por ver el tema, llevamos un tiempo largo con esto.

Te paso el nro de GDS 64689.

Saludos

Excelente Leo, ya lo probamos y funciona.

Gracias