Personalización del número de acta de exámenes y regulares

Estimados, quisiera por favor que me guíen un poquito con lineamientos sobre como encarar personalización del método para generar el número de acta tanto de exámenes como de cursado. La misma consiste en:

- / <año académico>

donde:

: sigla de la Unidad Académica responsable.
: numeración correlativa del acta dentro de la Unidad Académica. Una numeración por cada origen (examen, regulares, promociones, etc)
<año académico>: año académico correspondiente al turno de examen o de la cursada que corresponda.

Ejemplo:

FIQ-00357/2014
FICH-00070/2015

=============================================================================

Dicho esto, sé que debo modificar el método generar_nro_acta() de co_actas.php, pero ¿cómo debería ser la consulta para obtener solo actas de la unidad académica que está generando el acta? ¿Cómo entran en juego los perfiles de datos que vamos a tener definidos para cada Unidad Académica?

Otra aclaración es que en la universidad no se están utilizando los libros de actas. ¿Para poder llevar a cabo esta personalización, seria necesario que comiencen a utilizarlos?

Muchas gracias!

: sigla de la Unidad Académica responsable. : numeración correlativa del acta dentro de la Unidad Académica. Una numeración por cada origen (examen, regulares, promociones, etc) : año académico correspondiente al turno de examen o de la cursada que corresponda.

sigla: Esta sigla puede recuperarse de la responsable académica de la propuesta asociada a la comision/mesa de examen (
Actas de Cursadas/Promocion: Con el dato de la comsión podes buscar en → sga_comisiones_propuestas > sga_propuestas → sga_propuestas_ra > sga_responsables_academicas.
Actas de Examen: Con el dato de la mesa de examen en el llamado podes buscar en → sga_llamados_mesa > sga_mesas_examen_propuestas → sga_propuestas_ra > sga_responsables_academicas.

nro_correlativo: Podrias tener una tabla personalizada donde lleves la numeracion de cada acta, e ir incrementando ese valor cada vez que se genera un acta, que esta actualizacion este en la misma transacción donde se crea el acta.
Ejemplo:
Tabla: sga_actas_numeracion_ (origen varchar(10), numero integer not null default 0);
insert into sga_actas_numeracion_xxxx (origen, numero) values (‘CURSADA’,0);
insert into sga_actas_numeracion_xxxx (origen, numero) values (‘PROMOCION’,0);
insert into sga_actas_numeracion_xxxx (origen, numero) values (‘EXAMEN’,0);

Entonces, cada vez que necesites un numero de acta de examen por ejemplo haras lo siguiente:
– Actualizo el contador
UPDATE sga_actas_numeracion_xxxx SET numero = numero + 1 WHERE origen = ‘EXAMEN’;
– Recupero el numero generado
SELECT numero INTO iNroActa FROM sga_actas_numeracion_xxxx WHERE origen = ‘EXAMEN’;

Esto te garantizará que otro proceso no pueda actualizar y tomar el valor en el mismo momento ya que el registro estará bloquedo hasta tanto se cierre la transaccion…

Deberán definir si las actas rectificativas estarán incluidas en este numero correlativo.

año academico: Los examenes pertenecen a un turno de examen el cual se encuentra dentro de un año académico. Lo mismo sucede con las actas de cursadas/promoción, estas pertenecen a una comisión la cual pertenece a un período lectivo dentro de un año académico. En ambos casos podes recuperar el año academico.

Alejandro,

Antes que nada, muchas gracias por tu respuesta tan completa. Ahora, la numeración de actas propias de cada unidad académica, ¿es algo que se considere implementar en guaraní3? Creemos que es una característica muy útil y nos llama la atención que no sea el comportamiento por defecto del sistema.

¿Seria posible resolver esto utilizando los perfiles de datos? Haciendo que una unidad académica solo vea sus actas. Y luego para generar la numeración de la siguiente, simplemente buscar entre esas.

También se nos ocurre que seria interesante que el sistema permita configurar la numeración de actas de acuerdo a criterios similares a los que se utilizan en la creación de un libro. Es decir, a nivel propuesta, ubicación, responsable académica, etc.

Los casos que van a surgir son tan variados que seguramente en la mayoria de las instalaciones esto se resolverá mediante una personalizacion al sistema, creando lo necesario en la base como para resolver la forma en que cada uno quiera llevar la numeración de las actas.
Según lo que comentas, en ese ejemplo que te pase respecto a la tabla en donde llevar la numeracion de cada tipo de acta, quizas deberias agregar un campo que sea “Responsable Academica” donde el numero de acta se lleva por la combinación de tipo de acta + responsable academica:
CURSADAS, RA1, 20
CURSADAS, RA2, 1025
PROMOCION, RA1, 50
PROMOCION, RA2, 83
EXAMEN, RA1, 125
EXAMEN, RA2, 93