[SOLUICIONADO]Error en Inscripción

Buenos días, tenemos el siguiente problema, un estudiante inscripto en tres carreras de una misma UA (Abogacía, Procurador y Notariado) El alumno quiere inscribirse en una materia de Procurador y el sistema le devuelve el siguiente error:

X El alumno XXXXX debe las siguientes correlativas de aprobación: Argumentación y Redacción Jurídica (Aprobada) (ESTA MATERIA ES DE ABOGACÍA)
Falta inscribirse en alguna instancia de cursada Más info…

Los planes están bien cargados. Estamos en la versión 3.19.1. No tenemos personalizaciones en ninguna de las operaciones de inscripción.

Estuvimos investigando un poco y pudimos ver que al archivo regals_correlativas_de_cursadas.php le llega el parámetro $alumno correspondiente a Procurador pero $plan_version está llegando el plan versión de Abogacía.

Lo que no pudimos encontrar es dónde se ejecuta efectivamente la función

function get_plan_version($alumno, $fecha = null);

Alguna idea del porque de la mezcla de los planes al recuperar al alumno?

Hola Javier,

Qué valor tienen configurado para el parámetro ‘exa_controla_correlativas_actuales’?
La versión es 3.19.1?

Saludos, Florencia.

Florencia, así es estamos en la 3.19.1. Te paso la imagen.


exa_controla_correlativas_actuales.png

exa_controla_correlativas_actuales.png

Javier,

Entonces en la línea 65 del archivo regla_correlativas_de_aprobacion.php está invocando al método ‘get_plan_version’ de la clase ‘cache_alumno_apc’. Allí es donde se recupera un plan-versión que no corresponde? Es raro porque no se envía el identificador de la persona sino del alumno. Tienen los logs en modo debug?

Saludos, Florencia.

Así es, por eso es que les escribimos. Cuando hicimos un

echo $alumno
echo $plan_versión

Nos dimos con que recuperaba el alumno de la Propuesta (a la cual queremos inscribirnos en la materia) pero el $plan_version era de otra propuesta (de la misma UA)

Paso el archivo solicitado.


log.rar (11.3 KB)

Javier,

El resultado de ejecutar la siguiente consulta SQL devuelve un plan-versión incorrecto? El identificador de alumno es 99006, por lo que entiendo es correcto:

SELECT get_plan_version_alumno('99006', '2022-04-06') as plan_version;

Saludos, Florencia.

Florencia, el alumno para procuración tiene el ID 99006

la consulta devuelve Plan_version=315 que es Abogacía debería devolver 313

Estos datos me devuelve vw_alumnos
Persona Alumno Propuesta_nombre Propuesta Plan_version
70071 99006 Procuración 117 313
70071 08296 Notariado 118 314
70071 431272 Abogacía 119 315

Saludos

Javier,

A menos que la función de la BD ‘get_plan_version_alumno’ esté personalizada, la consulta SQL que realiza es:

SELECT	plan_version
FROM	sga_alumnos_hist_planes
WHERE	alumno = 99006 AND
		fecha = (	SELECT	max(sga_alumnos_hist_planes.fecha) 
					FROM	sga_alumnos_hist_planes 
					WHERE	sga_alumnos_hist_planes.alumno = 99006 AND
							cast(sga_alumnos_hist_planes.fecha as date) <= '2022-04-06');

Qué valor obtienen al ejecutarla?

Saludos, Florencia.

Devuelve 315, lo que pasa es que tiene el max(), si lo sacamos devuelve

157599 99006 313 1 2018-03-27 00:00:00.000 -0300
296092 99006 315 1 2022-03-25 00:00:00.000 -0300

Al tener el max devuelve la del 2022

Javier,

Esos registros son del histórico de cambios de plan? No entiendo cómo hubo un cambio para el alumno de la propuesta “Procuración” a un plan-versión de “Abogacía”. Tienen auditoría de ese registro?

Saludos, Florencia.

Florencia los resultados que te pase son de la tabla sga_alumnos_hist_planes. Me informan que corrieron un procedimiento interno y cambiaron el dato.

Como siempre muchas gracias por la dedicación y disculpas por el tiempo perdido.


log.png

log.png