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?
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?
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)
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;
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');
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?