Hola, buenos días
Estamos con un problema con las operaciones:
Agregar/Eliminar Alumnos en Acta de Examen
Cargar Notas a Acta de Examen
Imprimir Actas de Examen
Cerrar Actas de Examen
Rectificar Actas de Examen
Anular Actas de Examen
Generar Masivamente Actas de Examen
Imprimir Actas de Examen Masivamente
Asignar Folio Físico a Acta de Examen
Administrar Actas de Examen Fuera de Calendario
me parece que el origen está en la función
get_listado_actas_examen_con_sin_mesas
en la misma con perfil de datos, en alguna parte arma esta consulta y rompe las operaciones
SELECT sga_actas.id_acta, sga_actas.nro_acta, sga_actas.origen, sga_actas.estado, sga_actas_estados.nombre AS estado_descr,
sga_actas.tipo_acta, sga_actas.version_impresa, sga_actas.renglones_folio, sga_actas.observaciones, sga_actas.acta_referencia,
rectificada.nro_acta as rectifica_a, sga_actas.version, sga_actas.evaluacion, sga_actas.llamado_mesa, sga_actas.cerrada_por_docente,
sga_actas.id_documento_digital, sga_actas.estado_documento_digital, vw_mesas_examen.mesa_examen, vw_mesas_examen.anio_academico,
vw_mesas_examen.llamado_mesa_entidad, vw_mesas_examen.mesa_examen_fecha AS fecha, vw_mesas_examen.mesa_examen_elemento AS elemento,
sga_ubicaciones.nombre AS ubicacion_nombre, sga_elementos.codigo AS codigo_actividad,
get_nombre_actividad_mesa_examen(vw_mesas_examen.mesa_examen, 1) as nombre_actividad,
vw_mesas_examen.mesa_examen_nombre AS mesa_nombre, vw_mesas_examen.turno_examen_nombre AS turno_nombre,
vw_mesas_examen.llamado_nombre AS llamado_nombre, f_libros_acta(sga_actas.id_acta, 2) AS libro_nombre,
get_nombre_actividad_mesa_examen(vw_mesas_examen.mesa_examen, 1) AS cod_nombre_actividad, – ‘(’ || sga_elementos.codigo || ') ’ || get_nombre_actividad_mesa_examen(vw_mesas_examen.mesa_examen, 1) AS cod_nombre_actividad,
CASE WHEN sga_actas.tipo_acta = ‘N’ THEN ‘Normal’ WHEN sga_actas.tipo_acta = ‘R’ THEN ‘Rectificativa’ END as tipo_acta_descr,
to_char(vw_mesas_examen.mesa_examen_fecha,‘DD/MM/YYYY’) AS fecha_formato_visual,
CASE WHEN (SELECT COUNT(1) FROM sga_actas as sub_sga_actas WHERE sub_sga_actas.tipo_acta = ‘R’ AND sub_sga_actas.estado = ‘A’ AND sub_sga_actas.acta_referencia = sga_actas.id_acta) > 0 THEN 1 ELSE 0 END AS tiene_rectificativas_abiertas,
CASE WHEN (sga_actas.estado = ‘A’) THEN ( SELECT count(1) FROM sga_eval_detalle_examenes WHERE sga_eval_detalle_examenes.id_acta = sga_actas.id_acta ) WHEN (sga_actas.estado IN (‘C’,‘B’)) THEN ( SELECT COUNT(1) FROM sga_actas_detalle WHERE sga_actas_detalle.id_acta = sga_actas.id_acta ) END AS cant_alumnos,
sga_actas.cerrada_por_docente AS cerrada_por_docente
FROM
vw_mesas_examen
JOIN sga_actas ON sga_actas.llamado_mesa = vw_mesas_examen.llamado_mesa
JOIN sga_actas_estados ON sga_actas.estado = sga_actas_estados.estado
JOIN sga_elementos ON (sga_elementos.elemento) IN ( SELECT toba_pdtasoc_1.elemento FROM vw_ug_elementos toba_pdtasoc_1 WHERE ( toba_pdtasoc_1.unidad_gestion IN (‘1’) ) )
AND vw_mesas_examen.mesa_examen_elemento = sga_elementos.elemento
JOIN sga_ubicaciones ON vw_mesas_examen.mesa_examen_ubicacion = sga_ubicaciones.ubicacion
LEFT JOIN sga_actas AS rectificada ON sga_actas.acta_referencia = rectificada.id_acta WHERE true AND vw_mesas_examen.anio_academico = ‘2022’ AND vw_mesas_examen.turno_examen = ‘2742’
ORDER BY sga_actas.nro_acta
lo que está mal es que esta parte (que está en azul) rompé la consulta ya que en vez de estar dentro del select que busca dentro del toba_pdtasoc_1.elemento
queda afuera y despues sigue el join de ubicaciones.
Donde arma esta consulta de perfil de datos, para poder modificar que el ) lo ponga despues de and y no antes???
Saludos!
log.txt (23.7 KB)