No se puede cerrar acta de cursada

Buenos dias:

Estamos teniendo un problema al querer cerrar un acta de regularidad. El tema es asi, un alumno es la ubicación de Puerto Madryn, se anoto a cursar pero despues queria ir a cursar a otro ubicacion, Trelew.

Cuando termina el cuatrimestre en Puerto Madryn cierran el acta de cursada con ese alumno y le ponen un reprobado ya que no estuvo en la cursada. En Trelew lo tienen en el acta y al querer cerrarla le da el error que ya esta en un acta de regularidad.

Entonces lo que se hizo fue invalidad la historia academica, sacando la cursada de Puerto Madryn, pero tampoco nos deja cerrar el acta en Trelew que es donde curso y aprobo.

La invalidacion es posterior al acta de cursada. Chequea fechas? o que podemos hacer para cerrar el acta de regularidades?

Gracias por todo.

Saludos

hola jorge como estas?

en que version les esta sucediendo esto?

cuando mencionas : que tampoco les deja cerrar el acta de Trelew , el sistema les muestra algun cartel ? que cartel les muestra nos pueden compartir?

¿pudieron cerrar el acta de puerto madryn? ¿quitaron al alumno del acta de puerto madryn? ¿ como aparece el alumno en ficha de la persona - cursada , es decir , con que estado se encuentra su inscripcion en puerto madryn ? nos muestran?

La invalidacion de la historia academia fue posterior a la fecha de creacion de las actas de regularidad en ambas sedes?

consultamos esto para entender el contexto del tema.

saludos!

Hola Sebastian:

te voy a pasar las capturas de pantalla del mensaje, cuando se quiere cerrar el acta dice “el alumno esta inscripto o existe un acta de otra comision de la actividad”. En otra imagen esta como estaba la historia academica, la materia era quimica general y en la ultima esta como quedo la invalidación. Espero que me puedas entender.

La regularidad en Puerto Madryn se invalido y ya no aparece en su historia academica, pero no deja cerrar el acta en Trelew

Hola jorge

claro ahi obvservamos las imagenes que nos pasas y :

1 - el alumno posee nota de insuficiente para la actividad con fecha 02/07/2024 en el acta nro 110012 - puerto madryn
2 - y en la ultima imagen : realizacion la invalidacion de la cursada del alumno pero de un acta con nro : 111944 .

Es decir invalidaron un acta 111944 y el acta donde figura con nota insuficiente es el acta nro 110012 , pueden corroborar que esto sea asi? Ademas hay que tener en cuenta que la invalidacion de historia academia se realiza sobre actas que estan cerradas ! ..con lo cual efectivamente es el acta que estan queriendo invalidar?

EL acta de puerto madryn , lograron poder cerrarla? puede estar sucediendo que continue un acta abierta con el alumno dentro , deberian buscar esa acta y quitar al alumno del acta y dar de baja su insripcion a la cursada, puede corroborar esto? y si nos podrias compartir la captura de pantalla de la solapa inscripciones - de ficha de la persona ?

saludos

Hola Sebastian:

El acta 110012 es del año pasado, tiene bien el reprobado ya que le fue mal en la cursada.

El acta 111944 es el acta de Puerto Madryn que se cargo con el reprobado de este año que es del 4/07/2025 Esa acta es la que estaba demas y no deja cerrar el acta de Trelew porque dice que ya esta en otra acta. No sabemos si nos falta algo, habia supuesto que invalidando ese registro funcionaba.

Saludos

HOla Jorge

EL problema se da por que el alumno se encuentra inscripto en la misma actividad y en el mismo periodo lectivo , pero en diferente sede.

El control que puede estar fallando es este : " Que el alumno no exista en otra comisión de la actividad y mismo período lectivo" … lo que le pedimos es que levanten este control ( si lo tienen configurado) , en la operacion cierre de actas , pueden corroborar esto? y nos avisan?

Nos podrian pasar el codigo del metodo tiene_inscripciones_actividad_periodo_lectivo" del archivo “co_alumnos.php” que es el que se usa en este control que puede estar fallando ?

Asi corroboramos bien que puede estar pasando.

saludos !

Hola Sebastian:

Bien, saque ese control y funciono. Ya cerraron el acta, baje el control y paso, ya lo deje como estaba.

Aca te paso lo que hay en G3 en la funcion que me estas pidiendo.

function tiene_inscripciones_actividad_periodo_lectivo($alumno, $actividad, $comision)
{
$alumno = toba::db()->quote($alumno);
$actividad = toba::db()->quote($actividad);
$comision = toba::db()->quote($comision);

	$sql = "-- Verifica si el alumno se encuentra en otras comisiones de la misma actividad y periodo lectivo.
			SELECT	sga_eval_detalle_cursadas.alumno
			FROM	sga_alumnos
					JOIN sga_alumnos as otro_alumno ON sga_alumnos.persona = otro_alumno.persona
					JOIN sga_comisiones ON sga_comisiones.comision = $comision
					JOIN sga_comisiones as otra_comision ON sga_comisiones.periodo_lectivo = otra_comision.periodo_lectivo
					JOIN sga_evaluaciones ON otra_comision.entidad = sga_evaluaciones.entidad
					JOIN sga_eval_detalle_cursadas ON (sga_evaluaciones.evaluacion = sga_eval_detalle_cursadas.evaluacion AND otro_alumno.alumno = sga_eval_detalle_cursadas.alumno)
					LEFT JOIN sga_insc_cursada ON (sga_insc_cursada.alumno = sga_eval_detalle_cursadas.alumno AND sga_insc_cursada.comision = otra_comision.comision)
			WHERE	sga_alumnos.alumno = $alumno AND
					otra_comision.elemento = $actividad AND
					otra_comision.comision <> $comision AND
					(sga_insc_cursada.estado IS NULL OR NOT (sga_insc_cursada.tipo = '".inscripcion_cursada::tipo_preinscripcion."' AND sga_insc_cursada.estado_preinscripcion = '".inscripcion_cursada::preinsc_pendiente."'))
			UNION
			-- Verifica si el alumno se encuentra en actas de regular/promoción de otras comisiones para la misma actividad y período lectivo.
			-- Para el caso de actas de promocion, verifica solo resultado Promocionado (porque las No Promociones no se pueden invalidar)
			SELECT	sga_actas_detalle.alumno
			FROM	sga_alumnos
					JOIN sga_alumnos as otro_alumno ON sga_alumnos.persona = otro_alumno.persona
					JOIN sga_comisiones ON sga_comisiones.comision = $comision
					JOIN sga_comisiones as otra_comision ON sga_comisiones.periodo_lectivo = otra_comision.periodo_lectivo
					JOIN sga_actas ON otra_comision.comision = sga_actas.comision
					JOIN sga_actas_detalle ON (sga_actas.id_acta = sga_actas_detalle.id_acta AND otro_alumno.alumno = sga_actas_detalle.alumno)
			WHERE	sga_alumnos.alumno = $alumno AND
					otra_comision.elemento = $actividad AND
					otra_comision.comision <> $comision AND
					sga_actas.estado = '".acta::estado_cerrada."' AND
					sga_actas_detalle.estado = '".acta::detalle_estado_activo."' AND
					sga_actas_detalle.rectificado = '".comunes::no."' AND 
					(sga_actas.origen = '".acta::origen_regulares."' AND sga_actas_detalle.resultado IN ('".escalas_notas::resultado_aprobado."', '".escalas_notas::resultado_reprobado."') OR sga_actas.origen = '".acta::origen_promociones."' AND sga_actas_detalle.resultado = '".escalas_notas::resultado_aprobado."')
	";
	$rs = guarani_db::consultar($sql, null, false);
	return !empty($rs);
}

Fernando
OK perfecto , si estamos analizando el control ese , mientras tanto van a tener que trabajar asi con ese requisito. Analizamos lo que nos enviaste y te avisamos si?

saludos

Si, esta igual que el codigo actual.