Error con actividad genérica

Buenas tardes. Nos aparece el error de la captura al incorporar una actividad dentro de una materia genérica, la cual nos dejó guardar como pre carga pero al querer aplicar a la versión del plan nos reporte el error mencionado.
Saludos y muchas gracias.


image.png

image.png

Hola Mariano, en que version estan?
Creo es un error que fue solucionado.

Que devuelven las siguientes consultas:

select max(elemento_plan) from sga_elementos_plan;
select max(elemento_plan) from sga_elementos_plan_modalidad order by elemento_plan;
select elemento_plan from sga_elementos_plan_aux order by elemento_plan;
select elemento_plan from sga_elementos_plan_modalidad_aux order by elemento_plan;

Estamos trabajando con la version 3.17.0.
Te adjunto los resultados de las consultas


consultasplan.zip (46.2 KB)

Hola Mariano, dos consultas de esas debieron devolver solo un valor.
Por favor corre estas consultas nuevamente y enviame el resultado:

select max(elemento_plan) from sga_elementos_plan;  -- 1
select max(elemento_plan) from sga_elementos_plan_modalidad; -- 2
select elemento_plan from sga_elementos_plan_aux order by elemento_plan; -- 3 
select elemento_plan from sga_elementos_plan_modalidad_aux order by elemento_plan; --4
select nextval('sga_elementos_plan_seq'); -- 5

Acá están los resultados de esos 5 scripts


erroractividadgenerica.zip (803 Bytes)

Mariano, por algún motivo no esta tomando correctamente el valor de la secuencia sga_elementos_plan_seq y cuando asigna un nuevo valor en al tabla sga_elementos_plan_aux pone un valor que ya existe en sga_elementos_plan

Estas optativas ya existen en los planes de estudio donde esta la genérica que estas editando o son optativas nuevas? (Por ejemplo que esten en otras actividades genericas en esos planes)

¿Podría ser una solución incrementar la secuencia?

Es raro, porque tanto las tablas sga_elementos_plan como sga_elementos_plan_aux hacen referencia a la msima secuencia.

Si probas borrar y volver a empezar con la edición de la generica agregando esas optativas?

DELETE FROM sga_elementos_plan_modalidad_aux;
DELETE FROM sga_elementos_plan_aux;
DELETE FROM sga_elementos_comp_aux;

Al volver a agregar las optativas a la generica, y esto implica agregarlo en los planes donde existe la generica, fijate si en la tabla sga_elementos_plan_aux el campo “elemento_plan” es un numero mayor a lo que te devuelve esta query:

SELECT MAX(elemento_plan) FROM sga_elementos_plan
¿Podría ser una solución incrementar la secuencia?

No, no logras nada. Porque los registros ya estan en sga_elementos_plan_aux, y cuando confirmes la modificación de la genérica estos registros se pasan a la tabla sga_elementos_plan y ahi es donde falla por PK porque ya existen registros con esos valores de “elemento_plan”