Duplicidad de datos - Actas de comisiones

Buenos días, cómo están?
nos hemos bajado un reporte de las actas pendientes de cierre en el sistema, y tenemos 3 actas que no se pueden cerrar porque nos aparece el siguiente mensaje “No se puede generar el foliado físico por duplicidad de datos. Por favor, contacte al administrador”, adjunto captura, no tenemos ni idea porque sucede.

Tenemos la versión 3.21.0 del sistema.

Gracias

Saludos


REGISTROS DUPLICADOS.jpg

REGISTROS DUPLICADOS.png

Hola Pamela,

Es un error muy general. Pueden volver a reproducirlo y adjuntar los logs del sistema a ese momento? Allí seguro encontramos más detalle del problema.

Saludos, Florencia.

Envio log del sistmea y de apache luego de haber ejeccutado la tarea.


logs.rar (179 KB)

Alejandro,

El error se produce en la función de la base de datos ‘f_generar_folio_fisico_acta’. Esta función se invoca desde el cierre de actas cuando el parámetro ‘cur_forma_asignacion_folio_fisico_regul’ (o el equivalente ‘cur_forma_asignacion_folio_fisico_promo’ para actas de promocionales) tiene el valor “La asignación se realizará manualmente luego del cierre del acta”. La misma inserta un registro en la tabla ‘sga_actas_folios’ por cada folio del acta (obtenido de ‘sga_actas_detalle’). Si el acta no tiene alumnos, genera un único folio.
Si el acta está abierta no deberían tener generados registros para el foliado en ‘sga_actas_folios’. Se trata de actas migradas? O quizás cambiaron el valor de los parámetros en algún momento? Suele suceder esto en ambos casos…

Saludos, Florencia.

Perfecto florencia y como lo soluciono ??

Florencia ante te consulta
Se trata de actas migradas? O quizás cambiaron el valor de los parámetros en algún momento?
No sucedio ninguno de las dos, el problema sigue siendo el descripto en el mensaje de inicio.

Alejandro,

Qué resultados devuelve la siguiente consulta SQL?

SELECT * FROM sga_actas_folios WHERE id_acta IN (SELECT id_acta FROM sga_actas WHERE origen IN ('R', 'P') AND estado = 'A');

Saludos, Florencia.

Estos son los datos que arroja la consulta.

1713 1 12 33
1713 2 12 34
1714 1 12 35
1714 2 12 36
1715 1 12 37
1715 2 12 38
1910 1 12 39
1715 3 12 40
1713 3 12 41
1714 3 12 42
3449 1 34 104
7922 1 71 106
8201 1 72 44
8528 1 60 14
8773 1 75 56
8297 1 75 66

Alejandro,

Borren esos registros con la siguiente consulta SQL:

DELETE FROM sga_actas_folios WHERE id_acta IN (SELECT id_acta FROM sga_actas WHERE origen IN ('R', 'P') AND estado = 'A');

Saludos, Florencia.