Error al listar propuestas para preinscripción desde autogestión

Buenos días estimados, ¿Cómo están?

Les comento que tenemos varios casos de estudiantes que se quieren preinscribir desde el módulo de autogestión a la propuesta formativa de Medicina 2024, la cual no aparece en el combo de selección de la propuesta a pesar de que el periodo está habilitado.

Estos estudiantes ya tienen inscripciones a la misma propuesta formativa, pero las mismas se encuentran en Estado de Inscripción Rechazado.

A raíz de estos casos, hemos analizado las consultas que se realizan para traer las propuestas disponibles en la función get_propuestas_disponibles_preinscripcion de la clase preinscripcion.php, donde se invoca a la función get_propuestas_a_excluir(). En esta última es donde observamos que se excluye la propuesta mencionada anteriormente.

Entendemos que además de consultar si sga_preinscripcion_propuesta.estado = I, hay que verificar si el estado de la inscripción en la tabla sga_propuestas_aspira se encuentra en Pendiente o Aceptada para determinar correctamente si se debe excluir o no.

¿Podrían indicarnos si la deducción es correcta, y de ser así, guiarnos para poder resolver el error?
Desde ya muchas gracias.
Saludos.

PD: Recientemente hemos actualizado a la versión 3.21.1.


Captura de pantalla 2023-09-18 102202.png

Captura de pantalla 2023-09-18 102202.png

Captura de pantalla 2023-09-18 110036.png

Captura de pantalla 2023-09-18 110036.png

Hola Martín, gracias por reportarlo!!!

Vamos a analizar si se deben incluir las propuestas con Estado de Inscripción Rechazado.

saludos.
2

El método get_propuestas_a_excluir fue cambiado por Ticket #45930 (Preinscripcion de estudiantes rechazados) en version 3.21.2, Por favor actualizar a esta version.
Vi que la query que mencionas es diferente a la que existe actualmente, ya que fue resuelto el problema que informas.

WHERE
					sga_preinscripcion_propuesta.persona = $persona
					AND (--1. Esta inscripto en la propuesta. La preinscripción fue procesada desde Gestion.
					     ( sga_preinscripcion_propuesta.estado = $estado_pre_inscripto
					      -- Que tenga la inscripcion aceptada o pendiente en la propuesta  (que no se haya rechazado)
					      AND EXISTS (SELECT 1
					                  FROM sga_propuestas_aspira
					                  JOIN sga_situacion_aspirante ON sga_propuestas_aspira.situacion_asp = sga_situacion_aspirante.situacion_asp
					                  WHERE sga_propuestas_aspira.persona = sga_preinscripcion_propuesta.persona
					                    AND sga_propuestas_aspira.propuesta = sga_preinscripcion_propuesta.propuesta
					                    AND sga_situacion_aspirante.resultado_asp IN ($inscripcion_pendiente, $inscripcion_aceptada)
					                 )
					     ) OR 
					     (--2. La preinscripción está vigente para ser procesada desde Gestion 
					      sga_preinscripcion_propuesta.estado = $estado_pre_pendiente AND
					      sga_preinscripcion_propuesta.fecha_fin_vigencia >= CURRENT_DATE
					     ) 
					)

				UNION 

Hola Martín, tal cual como dice Ale, se resolvió en la versión 3.21.2 con el ticket 45930.

Crea un GDS y anota el numero del mismo aquí, así te adelantamos la solución.

saludos.
2

Buenos días Leonel, desde ya muchas gracias por la pronta respuesta.
Ya se generó el GDS N°66146, solicitando la solución.

Saludos!

Hola Ale,

Estamos 3.21.0
Hoy empezamos la preinscripción 2024, por lo que estos días está complicado para actualizar a 3.21.2

Me encontré con este mismo problema. Actualicé la parte del SQL que ponés acá y aparte tuve que agregar (que vi en el colab) estas dos variable que no estaban definidas en 3.21.0

$estado_pre_inscripto = kernel::db()->quote(\preinscripcion::insc_procesada);
$estado_pre_pendiente = kernel::db()->quote(\preinscripcion::insc_pendiente);

Sin embargo me quedan las propuestas en blanco. Pude notar que insc_pendiente no se usaba en 3.20.0 por lo que me queda la duda si lo que falla es esta línea
kernel::db()->quote(\preinscripcion::insc_pendiente);

y si es eso, donde se define el insc_pendiente.

Abrazo !

Archivo de gestion: /php/nucleo/matriculas/inscripciones/propuestas_preinscripcion/preinscripcion_nucleo.php

Deberias tener:

// Estados de una preinscripción.
const estado_pendiente = ‘P’;
const estado_activado = ‘A’;
const estado_preparado = ‘C’;
const estado_inscripto = ‘I’;

// Estados de una inscripción a propuesta.
const insc_pendiente = ‘P’;
const insc_procesada = ‘I’;
const insc_copiada_g3 = ‘C’;
const insc_solicitud_informacion = ‘S’;

Gracias Ale,

Las constantes estaban todas definidas en 3.21.0 … No pasaba por ahí …
Así que copié el get_propuestas_a_excluir() completo desde 3.21.2 y anduvo perfecto …

La duda mayor que me queda siempre que hago un cambio …
El cambio lo hice directo en producción.

Hay que versionar ? O correr algún comando del svn ? O cuando instale 3.21.2 todo esto ya quedará pisado y listo ?

Gracias !!

Deberias ubicarlo en la carpeta de personalizaciones /pers o /pers_gestion, segun corresponda. Si directamente cambiaste el método, este será actualizado cuadno migren a 3.21.2. Tal vez de conflicto al intentar actualizar y el cambio no se aplique pisando el codigo actual. Recordá volver atras ese cambio antes de migrar de versión.