[Solucionado] Error al rectificar acta de examen.

Guarani 3.9

Estimados.

Estabamos teniendo un problema a la hora de rectificar un acta de examen.
En particular, nos decia que el alumno al que le estabamos rectificando la nota no tenia diferencias en la nota entre el acta original y la rectificada.
Tanto en el sistema como en la base nos mostraba que si habia esa diferencia (en el acta original estaba como ausente y en la rectificativa como aprobado).

Revisando un poco el codigo encontre que en el archivo “cn_ent_cerrar_acta_examen.php” que esta en “php/nucleo/examenes/actas/cerrar_acta” en la linea 93 habia un filtro bastante sospechoso:

$filtro = "vw_actas.id_acta <> $acta_rectificativa";

Ese filtro pertenece a la funcion “validar_datos” que, justamente, era la funcion donde el log me mostraba que saltaba el error.

La cosa es que, con ese filtro, me traia todas las actas en existencia y, la que usaba para validar dependia del azar.
Ademas, la funcion no contemplaba la existencia de mas de un alumno en el acta rectificativa.
Asique le agregue un for para que recorra todos los alumnos.

La funcion quedo definida de esta forma:


function validar_datos($mesa_examen, $alumnos, $datos_acta)
{
	$this->validar_acta_vacia($alumnos);
	$this->validar_campos_completados($alumnos);
	$this->validar_notas_cargadas($alumnos);
	if ($datos_acta['tipo_acta'] == acta::tipo_rectificativa) {
		foreach ($alumnos as $alumno) {
			$acta_original = $datos_acta['acta_referencia'];
			$acta_rectificativa = toba::db()->quote($datos_acta['id_acta']);
			$filtro = "vw_actas.llamado_mesa = $mesa_examen and vw_actas.alumno = ".$alumno['alumno'] . " and vw_actas.estado <> 'B' order by vw_actas.id_acta desc";
			$detalles_acta_original = toba::consulta_php('co_actas')->get_detalles_ultima_rectificacion_acta($acta_original, $filtro);
			$this->validar_cambios_rectificativa($alumnos, $detalles_acta_original);
		}
	}
	$this->validar_inscripciones_pendientes($mesa_examen);
	$this->validar_acta_impresa($datos_acta);

	if ($this->hay_errores()) {
		throw guarani::error($this->errores);
	}
}

Con esto se solucionaron los problemas y pudimos trabajar sin indicios de errores hasta el momento.

Espero que les sirva.

Hola Claudio,

Podrías por favor crear una solicitud en el Gestor de Solicitudes con este problema?

Gracias!
Saludos, Florencia.

Si, Florencia.
Esta subido con el usuario de un compañero porque el mio no tiene acceso al GDS.

Saludos.

Hola, buenos días!

Quería consultarles porque estamos teniendo este mismo error de hace años, al querer cerrar un acta rectificativa de examen nos salta un error de que hay estudiantes en el acta que no tienen diferencias con el acta original. En el acta original el estudiante tiene Ausente y el la rectificativa tiene nota.

Estamos en 3.22.2

Gracias

Hola María Victoria!

Podrías enviarnos los logs que se generan al momento del error?

En el acta rectificativa sólo metieron a este alumno al que le cargaron la nota? o sumaron también a otros alumnos del acta original?

solo se puso en la rectificativa un alumno, y lo que cambio es la nota y el estado de ausente a reprobado.

Gracias por el log!

La traza del mismo se corta ahí o continúa?

Recién hicimos un caso de prueba, rectificamos un acta de examen indicando a un alumno que en el acta original estaba ausente y aquí le pusimos nota y resultado aprobado.

El sistema permitió cerrarla sin inconvenientes.

En el acta original, el alumno en cuestión estaba inscripto en la mesa? o lo agregaron desde la solapa de “otros alumnos”?

De casualidad tienen montada alguna personalización que toque la función de “validar datos”?

Vamos a ver con los técnicos si se puede armar una consulta a la base para ver por qué el sistema no detecta los cambios.

Hola Martín, te respondo las consultas:

La traza se corta ahí.

La estudiante estaba inscripta en la mesa, no la agregamos al acta directamente.

No es la única estudiante en el acta original, si en la rectificativa.

No tenemos ninguna personalización.

No es la primera vez que cambiamos un ausente por una nota en una rectificativa, pero es la primera vez que lo hacemos después de actualizar a la versión que estamos ahora del sistema.

Saludos

Hola Victoria!

Por favor generen un GDS referenciando a este foro y adjunten en el mismo los documentados de ambas actas (la original y la rectificativa), así podemos compararlos.

Saludos!

Buenos días, Martín

Listo, solicitud N°: 79823

Saludos