Error insertando al inscribir desde modulo de Autogestión

Hola,

Al querer inscribir a un alumno en especial (que tiene rechazada las inscripciones a propuestas de años anteriores) desde la operación 41000116 Inscribir a Propuesta desde Preinscripción
desde el módulo de Autogestión da el error " Error insertando. Ya existe una Tabla … con la misma clave o descripción."

Abajo pongo el log:

Lo solucioné borrando la línea correspondiente al alumno (6539, Alumno, alumno,S) de la tabla mdp_personas_grupo_acc

Pero me gustaría saber si eso solo está bien y por qué llegué a eso…

Gracias !!!

LOG*****************************************
[ERROR][guarani] SQLSTATE[23505]: Unique violation: 7 ERROR: duplicate key value violates unique constraint “pk_mdp_personas_grupo_acc”
DETAIL: Key (persona, tipo_usuario, usuario_grupo_acc)=(6539, Alumno, alumno) already exists.
CONTEXT: SQL statement “INSERT INTO mdp_personas_grupo_acc (persona, tipo_usuario, usuario_grupo_acc, grupo_acceso_default)
SELECT NEW.persona, g.tipo_usuario, g.usuario_grupo_acc, g.grupo_acc_default
FROM acc_grupo_acc_x_tipo_usuario as g
WHERE g.tipo_usuario = NEW.tipo_usuario”
PL/pgSQL function ftia_mdp_personas_tipo_usuario() line 7 at SQL statement
SQL statement “INSERT INTO mdp_personas_tipo_usuario (persona, tipo_usuario) VALUES (NEW.persona, ‘Alumno’)”
PL/pgSQL function ftia_sga_propuestas_aspira() line 25 at SQL statement
[ERROR][toba] toba_error_db:

SQLSTATE: db_23505

CODIGO: 7

MENSAJE: ERROR: duplicate key value violates unique constraint “pk_mdp_personas_grupo_acc”
DETAIL: Key (persona, tipo_usuario, usuario_grupo_acc)=(6539, Alumno, alumno) already exists.
CONTEXT: SQL statement “INSERT INTO mdp_personas_grupo_acc (persona, tipo_usuario, usuario_grupo_acc, grupo_acceso_default)
SELECT NEW.persona, g.tipo_usuario, g.usuario_grupo_acc, g.grupo_acc_default
FROM acc_grupo_acc_x_tipo_usuario as g
WHERE g.tipo_usuario = NEW.tipo_usuario”
PL/pgSQL function ftia_mdp_personas_tipo_usuario() line 7 at SQL statement
SQL statement “INSERT INTO mdp_personas_tipo_usuario (persona, tipo_usuario) VALUES (NEW.persona, ‘Alumno’)”
PL/pgSQL function ftia_sga_propuestas_aspira() line 25 at SQL statement

SQL: INSERT INTO sga_propuestas_aspira
(
persona,
periodo_insc,
anio_academico,
propuesta,
plan_version,
modalidad,
ubicacion,
fecha_inscripcion,
tipo_ingreso,
convenio,
insc_fuera_de_termino,
situacion_asp,
observaciones
)
VALUES (
‘6539’,
‘35’,
‘2021’,
‘15’,
‘19’,
‘P’,
‘1’,
‘now()’,
‘1’,
null,
‘N’,
‘1’,
null
); – toba_log: 541108434

[TRAZA]toba_error_db: Error insertando. Ya existe una Tabla … con la misma clave o descripci�n. in /usr/local/proyectos/guarani/vendor/siu-toba/framework/php/lib/db/toba_db.php:401

Hola Fernando,

Me recordás en qué versión de Guaraní están trabajando? Hubo en algún momento problemas con esos INSERTs pero fueron solucionados.

Saludos, Florencia.

3.17.1

Hola Fernando

Cuando se rechaza la inscripción a propuesta y el alumno no tiene más inscripciones a propuestas en estado Aceptado o Pendiente, se elimina el perfil alumno para que no pueda acceder a 3w actualizando la tablas mdp_personas_tipo_usuario con el trigger tua_sga_propuestas_aspira y en la tabla mdp_personas_grupo_acc con el trigger tdb_mdp_personas_tipo_usuario. Esto se incorporó en la versión 3.14.1 y tuvo algunas modificaciones en la versión 3.17.0. Una posibilidad es que el rechazo haya sido realizado en versiones anteriores, donde no existían estos cambios y haya quedado algo mal. Otra posibilidad es que tengan algún problema con esos triggers (tal vez alguno deshabilitado)

Por favor revisen esos triggers y cualquier cosa nos consultan
Saludos!

Fernando, adjunto la funcion ftia_mdp_personas_tipo_usuario.
Por favor actualiza esta funcion en la base y volve a probar.


ftia_mdp_personas_tipo_usuario.sql (868 Bytes)

Gracias. Actualicé la función que tenía unos agregados en el WHERE con respecto a la nuestra.

Hasta ahora solo habían reportado un caso especial, que había sido solucionado borrando el registro de mdp_personas_grupo_acc .

Para probar este caso especial necesitaría volver a crear el registro borrado … pero el alumno ya fue inscripto.
Lo que sí supongo es que con esos agregados no volvería a repetirse ese error en un caso similar, cosa que iremos viendo en las inscripciones que se realicen en febrero.

Gracias !!