Duda sobre foliado de actas de examen

Hola,

Originalmente, el sistema estaba con el parámetro exa_forma_asignacion_folio_fisico en la opción default del sistema, supongo que era en la impresión.

Luego de la creación de las actas, decidí cambiar a “manualmente luego del cierre del acta”.

Supongo que al imprimir las actas sin las notas para los exámenes, antes del cambio, se generó un registro en sga_actas_folios .
Luego del cambio a manual , al intentar cerrar el acta, el docente ve “Se ha generado un error”

Viendo los logs me da la impresión de que el sistema quería generar otro registro en la misma tabla sga_actas_folios, pero al ya existir por haber sido generado cuando estaba automático daba error

clase: SIU\Chulupi\ErrorKernelDb
mensaje: SQL ERROR: SQLSTATE[23505]: Unique violation: 7 ERROR:  duplicate key value violates unique constraint "pk_sga_actas_folios"
DETAIL:  Key (id_acta, folio)=(138, 1) already exists.
CONTEXT:  SQL statement "INSERT INTO sga_actas_folios (id_acta, folio) VALUES (pActa, i)"
PL/pgSQL function f_generar_folio_fisico_acta(integer) line 21 at SQL statement
        SELECT  *    FROM    f_generar_folio_fisico_acta('138');

¿Puedo concluir que la solución es decidir el valor del parámetro a utilizar en otro momento distinto a la mitad de un llamado a exámenes …?

Gracias

Hola

Es una buena medida no hacerlo con actas abiertas.

Pueden borrar los registros de folios de actas que no tienen el folio físico (aquellos generados con el parámetro como decis, por default) y con eso lo arreglarán.
Tengan cuidado siempre cuando borren, de eliminar solo los registros que les generan problemas.
El resto no lo toquen.

Emilio

Retomo el tema porque empezamos con el foliado real …

El parámetro de asignación manual estuvo diferente a lo largo de las épocas …porque estábamos aprendiendo.
Suponemos que es una consecuencia que …
hoy detectamos que hay actas que están registradas en la tabla sga_actas_folios y hay actas que no.

En las actas que están registradas, no hay ningún problema con la asignación manual de folio.
El problema es con las que no están… Al querer asignar número de folio, la asignación funciona como un update de lo existente, pero si el acta no existe en la tabla, no la agrega y por supuesto no actualiza algo que no está.

Pregunta:
¿ La solución sería hacer un script para chequear las actas que no están, contar la cantidad de folios por acta y generar un registro por cada folio ?

Gracias !