Estimados,
Estoy con un tema que no puedo resolver. Trataré de ser lo más claro posible.
Necesito personalizar el nro_acta, actualmente el sistema obtiene el nro. máximo a partir del origen del acta de examen.
Función generar_nro_acta del archivo co_actas.php
SELECT COALESCE(MAX(CAST(sga_actas.nro_acta AS integer)), 0) + 1 as nro_acta
FROM sga_actas
WHERE sga_actas.origen = $origen
A partir de esto, empiezo a analizar como enumerar las actas comenzando en 0, dependiendo del libro de actas que corresponde, siendo nuestra identificación del acta: LIBRO + NRO_ACTA. ACLARACIÓN: Tenemos un libro para cada carrera, por ende existira el acta n°: MAESTRIA-0001, ESPECIALIZACION-0001, DOCTORADO-0001
Para saber que libro le corresponde a ese llamado, utilizo la función get_libro_de_actas, incorporada recientemente en la versión 3.11.2 . Hasta acá no hay problema, me devuelve el libro que corresponda en función de los alcances definidos para el mismo.
El problema se me presenta al rastrear cuál es el último numero de acta (si es que tiene) de ese libro, para luego sumarle 1. No encuentro la relación acta - libro, encuentro la relación acta - folio, que podría joinearla con libro para saber a cuál corresponde, pero el tema es que recién inserta el folio físico cuando se imprime el acta. Vi que el foliado se puede hacer al imprimir el acta o al cerrarla, ninguna de las dos opciones me sirve, ya que necesito resolverlo en la función generar_nro_acta .
Frente a este escenario se me ocurre una única idea y creo que no es la mejor, llamar a la función de imprimir acta inmediatamente luego de crear el acta, ahí me aseguro la relación acta-folio.
Podrían darme alguna ayuda ? Muchas gracias.
Saludos, Diego.