actas fuera de calendario que no aparecen en la historia acad guarani 3.15.0

Estimados he migrado las actas de examen fuera de calendario donde todo salio ok
al consultar un alumno su historia academica desde ficha de alumno que esta en dos carreras solo me treae los datos de una en mi caso bioquimica .
hice la consulta que genera guarani
set search_path=‘negocio’;

SELECT
sga_propuestas.propuesta,
ha.id_acta,
sga_actas_folios.folio_fisico,
f_libros_acta(sga_actas.id_acta, 2) as libro_nombre,
ha.equivalencia,
ha.equivalencia_tramite,
ha.fecha,
ha.nota,
CASE ha.origen
WHEN ‘A’ THEN ‘Aprobado’
WHEN ‘B’ THEN sga_escalas_notas_resultado.descripcion
WHEN ‘P’ THEN sga_instancias_resultado.descripcion
WHEN ‘E’ THEN sga_instancias_resultado.descripcion
ELSE sga_escalas_notas_resultado.descripcion
END as resultado_descripcion,
cast(CASE ha.origen
WHEN ‘A’ THEN ‘Aprob. por Resolución’
WHEN ‘B’ THEN ‘Equivalencia’
WHEN ‘P’ THEN ‘Promoción’
WHEN ‘E’ THEN ‘Examen’
ELSE ‘’
END as varchar(30)) as tipo,
sga_planes_versiones.plan as plan,
CASE ha.origen_otra_propuesta
WHEN true then sga_planes.codigo – muestro el plan actual del alumno
ELSE plan_origen.codigo
END as plan_codigo,
sga_propuestas.nombre as propuesta_nombre,
ha.elemento as actividad,
COALESCE(CAST(ha.id_acta as varchar), ‘’) || ‘:’ || COALESCE(CAST(ha.equivalencia as varchar), ‘’) AS clave_acta_equivalencia,
CASE vw_elementos.entidad_tipo
WHEN 1 THEN ep_origen.nombre
ELSE ‘(’ || sga_elementos.codigo || ') ’ || ep_origen.nombre
END AS actividad_codigo_y_nombre,
CASE ha.origen
WHEN ‘A’ THEN doc_apres.documento_numero
WHEN ‘B’ THEN doc_equiv.documento_numero
WHEN ‘P’ THEN sga_actas.nro_acta
WHEN ‘E’ THEN sga_actas.nro_acta
ELSE ‘’
END as acta_o_resolucion,
‘’ AS periodo_o_turno,
CASE ha.origen WHEN ‘E’ THEN
(CASE
WHEN sga_instancias.nombre = ‘Examen Complementario por Equivalencia’ THEN ‘Tópicos’
WHEN sga_instancias.nombre = ‘Regular’ THEN ‘’
ELSE sga_instancias.nombre
END)
ELSE ‘’ END as instancia,
ha.creditos as creditos,
CASE WHEN ha.origen_otra_propuesta = ‘1’ THEN ‘Sí’ WHEN ha.origen_otra_propuesta = ‘0’ THEN ‘No’ END as op,
ha.origen_otra_propuesta,
ha.origen,
ha.alumno,
ha.alumno2,
0 as es_modulo,
sga_planes_versiones.plan_version as plan_version,
ha.reconocimiento_act as reconocimiento_act

            FROM vw_hist_academica_basica as ha
                    LEFT JOIN sga_actas_folios ON sga_actas_folios.id_acta = ha.id_acta
                    AND sga_actas_folios.folio =
                    (SELECT folio FROM sga_actas_folios
                        WHERE sga_actas_folios.id_acta = ha.id_acta
                        ORDER BY folio_fisico ASC
                        LIMIT 1)
                    LEFT JOIN sga_instancias ON sga_instancias.instancia = ha.instancia
                    LEFT JOIN sga_escalas_notas_resultado ON sga_escalas_notas_resultado.resultado = ha.resultado
                    LEFT JOIN sga_instancias_resultado ON (sga_instancias_resultado.instancia = ha.instancia AND sga_instancias_resultado.resultado = ha.resultado)
                    LEFT JOIN sga_actas ON sga_actas.id_acta = ha.id_acta
                    LEFT JOIN sga_equiv_tramite ON sga_equiv_tramite.equivalencia_tramite = ha.equivalencia_tramite
                    LEFT JOIN sga_documentos as doc_equiv ON doc_equiv.documento = sga_equiv_tramite.documento
                    LEFT JOIN sga_reconocimiento ON sga_reconocimiento.nro_tramite = ha.reconocimiento_nro_tramite
                    LEFT JOIN sga_documentos as doc_apres ON doc_equiv.documento = sga_reconocimiento.documento
                    JOIN sga_elementos ON sga_elementos.elemento = ha.elemento
                    JOIN vw_elementos ON vw_elementos.elemento = ha.elemento
                    JOIN sga_alumnos ON sga_alumnos.alumno = ha.alumno
                    JOIN sga_propuestas ON sga_propuestas.propuesta = sga_alumnos.propuesta
                    JOIN sga_planes_versiones as pv_origen ON pv_origen.plan_version = ha.plan_version
                    JOIN sga_planes as plan_origen ON plan_origen.plan = pv_origen.plan
                     JOIN sga_elementos_plan as ep_origen ON (ep_origen.plan_version = ha.plan_version AND ep_origen.elemento_revision = vw_elementos.elemento_revision)
                    JOIN sga_planes_versiones ON sga_planes_versiones.plan_version = sga_alumnos.plan_version
                    JOIN sga_planes ON sga_planes.plan = sga_planes_versiones.plan
                WHERE
                    ha.resultado <> 'U' AND 
                    sga_alumnos.persona = 34762 ORDER BY propuesta_nombre, fecha;

la otra carrera esta en el sistema y las activiades estan dentro de un plan que esta activo
ahora si yo modifico esta linea en la consulta si me trae todos los datos

LEFT JOIN sga_elementos_plan as ep_origen ON (ep_origen.plan_version = ha.plan_version AND ep_origen.elemento_revision = vw_elementos.elemento_revision)

mi pregunta que es lo que me esta faltando?

¿Esta consulta la personalizaron? (Método “get_historia_academica” del archivo co_alumnos.php)
No la veo igual a como es la publicada por el SIU.

¿Cual es la version del sistema? Porque estas vistas de historia académica cambiaron en las ultimas versiones (3.15, 3.16).

Lo del LEFT JOIN es porque seguramente registraron estas actividades al alumno con una version del plan de estudios en donde esa actividad no existe. En la tabla de actas de examen (sga_actas_detalle.plan_version)

Veo raro esta sentencia:

 LEFT JOIN sga_actas_folios ON sga_actas_folios.id_acta = ha.id_acta
                        AND sga_actas_folios.folio =
                        (SELECT folio FROM sga_actas_folios
                            WHERE sga_actas_folios.id_acta = ha.id_acta
                            ORDER BY folio_fisico ASC
                            LIMIT 1)        >>>> ESTO NO NECESARIAMENTE RECUPERA EL FOLIO FISICO DONDE ESTA EL ALUMNO EN EL ACTA EN EL CASO QUE EL ACTA TENGA MAS DE UN FOLIO. ESTA SENTENCIA RECUPERARÁ SIEMPRE EL 1ER FOLIO QUE ENCUENTRE DEL ACTA SIN VERIFICAR QUE EL ALUMNO ESTE EN ESE FOLIO.... <<<<<

Si quieren recuperar el folio fisico del examen, el join con esa tabla deberias agregar:

 
 LEFT JOIN sga_actas_detalle ON (sga_actas_detalle.id_acta = ha.id_acta AND sga_actas_detalle.alumno = ha.alumno)
 LEFT JOIN sga_actas_folios ON (sga_actas_folios.id_acta = sga_actas_detalle.id_acta AND sga_actas_folios.folio = sga_actas_detalle.folio)

¿Estas consultas devuelven datos? Si es asi esta ese alumno y ese acta en este listado?

-- Actas de examenes
SELECT  p.apellido_nombres, a.nro_acta,*
FROM sga_actas as a 
JOIN sga_actas_detalle as d on d.id_acta = a.id_acta
JOIN vw_mesas_examen as m on m.llamado_mesa = a.llamado_mesa
JOIN sga_alumnos as alu on alu.alumno = d.alumno
JOIN vw_personas as p on p.persona = alu.persona
WHERE (m.mesa_examen_elemento, d.plan_version) NOT IN (SELECT elemento, plan_version FROM vw_actividades_plan);



-- Actas de cursadas y promociones
SELECT  p.apellido_nombres, a.nro_acta,*
FROM sga_actas as a 
JOIN sga_actas_detalle as d on d.id_acta = a.id_acta
JOIN sga_comisiones as c on c.comision = a.comision
JOIN sga_alumnos as alu on alu.alumno = d.alumno
JOIN vw_personas as p on p.persona = alu.persona
WHERE (c.elemento, d.plan_version) NOT IN (SELECT elemento, plan_version FROM vw_actividades_plan);

¿Cual es la version del sistema? guarani 3.15.0

Lo del LEFT JOIN es porque seguramente registraron estas actividades al alumno con una version del plan de estudios en donde esa actividad no existe. En la tabla de actas de examen (sga_actas_detalle.plan_version)
Gracias Alejandro! me equivoque en la version del plan por eso no los trae