Necesitamos personalizar el reporte de Certificado Analítico para que no se muestren las asignaturas, que en el sistema de gestion estan configuradas para que no salgan y se visualizan en el mismo.
Deberías modificar la consulta SQL que obtiene el conjunto de materias a incluir en el certificado analítico (editando desde iReports). Sería algo así:
SELECT
COALESCE(p.actividad_codigo || ' - ', '') || p.actividad_nombre as actividad_descr,
p.fecha,
p.nota || ' (' || p.nota_descripcion || ' - ' || p.resultado_descripcion || ')' as nota_completa,
p.resultado_descripcion,
p.origen as origen,
CASE
WHEN p.tipo='Aprob. por Resolución' THEN 'Resolución'
ELSE p.tipo
END as tipo,
p.actividad_documento,
p.folio_fisico as folio_fisico
FROM
f_certificado_actividades($P{alumno},'T','T','A') as p
JOIN sga_elementos_revision as er ON er.elemento = p.elemento
LEFT JOIN sga_elementos_plan as ep ON (ep.elemento_revision = er.elemento_revision AND ep.plan_version = $P{plan_version})
WHERE
p.elemento IN (SELECT * FROM get_actividades_certificado_alumno($P{alumno}, $P{certificado}, $P{plan_version}, true, false)) AND
ep.sale_listado = 'S';
Recordá compilar el archivo CertificadoAnalitico.jrxml luego de modificarlo para que tome el cambio realizado.
Saludos, Florencia,
Te hago una consulta más, una de las materias que no debería mostrarse y que está marcada “No Sale en Listado” se sigue mostrando en el reporte … La estuve rastreando y observe que es una materia regularizada del plan anterior, puedo en la consulta SQL agregarle una condición para que me discrimine sólo aquellas materias del plan actual?
El 4º parámetro de la función ‘f_certificado_actividades’ es ‘pPlanVersionActual’ y sus valores posibles son: A - Actividades de la versión actual del alumno y T - Cualquier plan/versión de la propuesta del alumno. Si se está invocando con el valor ‘A’ debería funcionar como esperás. Por favor, verificalo.
Te cuento que tengo seteado el 4to. parámetro de la función ‘f_certificado_actividades’ en ‘A’. Adjunto función:
SELECT p.actividad_nombre as actividad_descr,
p.fecha,
p.nota as nota_completa,
p.nota_descripcion as nota_descripcion,
p.origen as origen,
CASE
WHEN p.tipo=‘Aprob. por Resolución’ THEN ‘Resolución’
ELSE p.tipo
END as tipo,
p.actividad_documento,
p.folio_fisico as folio_fisico
FROM
[b] f_certificado_actividades($P{alumno}, ‘A’ , ‘T’ , ‘A’) as p
JOIN sga_elementos_revision as er ON er.elemento = p.elemento
LEFT JOIN sga_elementos_plan as ep ON (ep.elemento_revision = er.elemento_revision AND ep.plan_version = $P{plan_version})
WHERE p.elemento IN (SELECT * FROM get_actividades_certificado($P{certificado}, $P{plan_version}, true, false))
AND ep.sale_listado = 'S';[/b]
Les cuento que corri la consulta modficadaq que adjunto a continuación, para un alumno en particular en la base de datos y funciona correctamente, pero cuando corro la misma consulta insertada en el reporte analitico desde Jasper (a travesa del Netbeans) no tiene en cuenta la linea ep.sale_listado = ‘S’.
SELECT p.actividad_nombre as actividad_descr,
p.fecha,
p.nota as nota_completa,
p.nota_descripcion as nota_descripcion,
p.origen as origen,
CASE
WHEN p.tipo=‘Aprob. por Resolución’ THEN ‘Resolución’
ELSE p.tipo
END as tipo,
p.actividad_documento,
p.folio_fisico as folio_fisico
FROM
f_certificado_actividades(38, ‘A’ , ‘T’ , ‘A’) as p
JOIN sga_elementos_revision as er ON er.elemento = p.elemento
LEFT JOIN sga_elementos_plan as ep ON (ep.elemento_revision = er.elemento_revision AND ep.plan_version = 21)
WHERE p.elemento IN (SELECT * FROM get_actividades_certificado(1, 21))
AND ep.sale_listado = 'S';
Te cuento que ya logre solucionar este tema de que sólo aparezcan en el reporte analítico las materias que tengan tildado “SI” en la opción Sale en Listado, y no todas como me estaba pasando. Lo que descubri en la solución que me pasaron más arriba que adjunto a continuación, es que no existe la función get_actividades_certificado_alumno($P{alumno}, $P{certificado}, $P{plan_version}, true, false, true, false; pero si existe get_actividades_certificado($P{certificado}, $P{plan_version}, true, false), así que la reemplace y funcionó. A pesar de esto, igual me sirvio de ayuda. Gracias
SELECT
COALESCE(p.actividad_codigo || ’ - ‘, ‘’) || p.actividad_nombre as actividad_descr,
p.fecha,
p.nota || ’ (’ || p.nota_descripcion || ’ - ’ || p.resultado_descripcion || ‘)’ as nota_completa,
p.resultado_descripcion,
p.origen as origen,
CASE
WHEN p.tipo=‘Aprob. por Resolución’ THEN ‘Resolución’
ELSE p.tipo
END as tipo,
p.actividad_documento,
p.folio_fisico as folio_fisico
FROM
f_certificado_actividades($P{alumno},‘T’,‘T’,‘A’) as p
JOIN sga_elementos_revision as er ON er.elemento = p.elemento
LEFT JOIN sga_elementos_plan as ep ON (ep.elemento_revision = er.elemento_revision AND ep.plan_version = $P{plan_version})
WHERE
p.elemento IN (SELECT * FROM get_actividades_certificado_alumno($P{alumno}, $P{certificado}, $P{plan_version}, true, false)) AND
ep.sale_listado = ‘S’;