Cargamos nuevas actividades tipo materia y tipo curso con una “escala cualitativa” en una versión de pruebas de Guaraní 3.17.1, pero al filtrarlas no las muestra.
En la tabla “sga_elementos” de la base sí se están guardando pero notamos que a diferencias de los demás registros No se está guardando ningún valor en el campo “entidad” de dicha tabla.
Hola Matias, por otro foro habian informado que tenian problemas en las inscripciones a cursadas porque no controlaba el cupo. Vimos que por algun motivo que deb{ia ser un trigger deshabilitado no se estaba actualizando el cupo de la comision cuando se modificaba este cupo.
Veo que con esta tabla (sga_elementos) tienen un problema similar.
¿Han deshabilitado triggers?
Vean el otro foro que les pase una query para consultar los triggers de la base de datos y ver cuales están deshabilitados y que deberían habilitar.
Para actualizar ese campo corre la siguiente query:
UPDATE sga_elementos SET entidad = f_generar_entidad(entidad_subtipo) WHERE entidad IS NULL;
Por las dudas corre estas otras querys de tablas que tambien tienen el campo “entidad”:
UPDATE sga_certificados SET entidad = f_generar_entidad(250) WHERE entidad IS NULL;
UPDATE sga_propuestas SET entidad = f_generar_entidad(propuesta_tipo) WHERE entidad IS NULL;
Respecto a los triggers … cuando corro las consultas que me pasaste en el otro foro obtengo una tabla vacía. (Ajunto la imagen)
Eso me trajo algunas dudas respecto a si tengo activado los triggers o NO, ya que la respuesta es una tabla vacía.
Eso sucede porque necesitas setear el esquema “negocio” por defecto, sino intenta correr el update sobre el esquema “public” que es el esquema por defecto.
Antes corre lo siguiente:
Efectivamente, ejecuté las querys que me pasaste, logré hacer el update en el campo “Entidad” de la tabla sga_elementos pero aún siguen sin aparecer las nuevas materias creadas desde la función de “ADMINISTRAR ACTIVIDADES”.
La materia se crea correctamente pero cuando intento “filtrar por nombre”, no arroja resultados !
La consulta SQL que se ejecuta cuando filtrás por nombre en la operación “” es la siguiente:
SELECT sga_elementos.elemento,
sga_elementos.codigo,
sga_elementos.entidad,
sga_elementos.nombre,
sga_elementos.nombre_abreviado,
sga_g3entidades_tipos.entidad_tipo,
sga_g3entidades_tipos.nombre as tipo_desc,
sga_g3entidades_subtipos.entidad_subtipo,
sga_g3entidades_subtipos.nombre as subtipo_desc,
sga_elementos.estado as estado,
sga_elementos_estados.descripcion as estado_desc,
sga_g3entidades.entidad_subtipo,
sga_g3entidades.entidad
FROM sga_elementos,
sga_g3entidades_subtipos,
sga_g3entidades_tipos,
sga_elementos_estados,
sga_g3entidades
WHERE sga_g3entidades_subtipos.entidad_tipo = '2' AND
sga_elementos.entidad_subtipo = sga_g3entidades_subtipos.entidad_subtipo AND
sga_g3entidades_subtipos.entidad_tipo = sga_g3entidades_tipos.entidad_tipo AND
sga_elementos.estado = sga_elementos_estados.estado AND
sga_elementos.entidad = sga_g3entidades.entidad AND
f_limpiar_acentos(sga_elementos.nombre::varchar) ILIKE '%matematica%'
ORDER BY sga_elementos.codigo
Si la ejecutás desde la base de datos no te da ningún resultado? Podrían verificar si en alguna otra de las tablas asociadas les faltan datos o si quitando alguno de los filtros obtienen el resultado esperado…
Chequeá en los logs del sistema cuál es la consulta SQL que se está ejecutando, a ver si difiere de la que te pasé. Por casualidad el usuario logueado tiene perfil de datos asignado? Eso podría afectar también.
Revisando los logs de sistema observamos que la consulta es la misma que me pasaste.
Por otro lado, tenemos solo un mismo perfil de datos para todos los usuarios.
Lo que pude observar es que sigue sin actualizarse el campo “entidad” de la tabla “sga.elementos”.
Luego, ejecutando la query de actualización:
UPDATE negocio.sga_elementos SET entidad = f_generar_entidad(entidad_subtipo) WHERE entidad IS NULL;
me crea un valor forzado para el campo entidad y ahí Sí logro visualizar las nuevas materias creadas. Lo que pude ver es que no se carga el campo automáticamente. Tal vez tenga que ver con la activación de “triggers” " f_generar_entidad"
Me parece que el problema al verfiicar si tenes triggers deshabilitados es que no haces el search_path en el esquema negocio, y al hacerlo si eso estas consultando el esquema “public” el cual seguramente te da que no tenes triggers deshabilitados.
Proba lo siguiente:
set search_path = negocio;
select * from pg_trigger where tgenabled = 'D';
Ejecutando esas dos líneas que me indicaste me devuelve una tabla vacía. Supongo que eso indica que no hay triggers deshabilitados.
Corregime si estoy errado.
set search_path = negocio;
select * from pg_trigger where tgenabled = 'D';
Es raro porque tenemos triggers deshabilitados que estan creados pero los deshabilitamos a proposito para que no registren log de auditoria. Son los siguientes: