Consulta atributo "Sale en Listado?"

Buenas tardes,

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.

A continuación les dejo el link del foro de consultas de Usuarios donde se trató el tema “http://foro.comunidad.siu.edu.ar/index.php?topic=16520.msg72100”.

Saludos,
Valeria

Hola Valeria,

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,

Gracias Florencia por tu respuesta!!!

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?

Saludos,
Valeria

Valeria,

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.

Saludos, Florencia.

Florencia,

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]

Saludos,
Valeria

¿Esa propuesta del alumno tiene alguna propuesta relacionada?
¿Y de ser asi esa actividad se encuentra en la propuesta relacionada?

Hola Alejandro,

Te cuento que estas actividades son de un plan anterior de la misma propuesta y estan definidas como que “No tienen que salir en el listado”.

Saludos,

Valeria

Buenos días,

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';

Saludos,
Valeria

Valeria, para que tome los cambios realizados en una query de un archivo de Jasper, debe compilarse desde el iReports.

Hola Alejandro,

Lo estoy compilando desde el iReports, los cambios que fuimos realizando en las querys del archivo Jasper.

Saludos,
Valeria

Hola Alejandro,

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’;

Saludos,
Valeria