El siguiente documento establece el estándar de diseño de reportes para PPI, para la creación y publicación de reportes desarrollados en la herramienta Jasper Studio, para el Área de Planificación Institucional (PPI) de la Universidad Nacional.en su versión 1.0.0.
1. Nombre del reporte:
Para establecer el nombre de un reporte, se debe seguir la siguiente nomenclatura.
Y que como primera regla, siempre se debe establecer en letras mayúsculas.
PPI: Establece que pertenece al «Área de Planificación Institucional».
Ejemplo: R-PPI.
DIMINUTIVO_MODULO: representa las sigas del diminutivo del módulo de PPI, al que pertenece el reporte, a saber:
PPE: Planificación Estratégica
PPO: Planificación Operativa
IIP: Información e Indicadores de la Planificación
MCG: Mejoramiento Contínuo de la Gestión
Ejemplo:
R-PPI-MCG-
SUB:
Opcional.
Cuando lo se esta creando un «subreporte», debe representarse con estas siglas.
Ejemplo:
R-PPI-MCG-SUB-
NOMBRE_REPORTE:
Representa el nombre de la información que esta siendo obtenida en el reporte.
Ejemplo: si el reporte obtiene información de los planes operativos, su nombre debería ser: «R-PPI-PPO-PLANOPERATIVO»
Se debe trabajar de ser posible con palabras en singular.
Ejemplo: si la información del reporte es sobre evaluaciones operativas, su nombre debería ser: «R-PPI-PPO-EVALUACIONOPERATIVA»
Si el nombre del reporte esta compuesto de varias palabras, estas deben estar concatenadas.
Ejemplo: si la información del reporte es sobre el «Historial de Modificaciones POA», su nombre dedería ser: «R-PPI-PPO-HISTORIALMODIFICACIONPOA»
VARIABLE:
Si es reporte que se esta diseñando es un reporte de tipo «Tamaño Variable», se debe representar con la palabra «VARIABLE».
Normalmente esta condición solo se aplica para subreportes.
EJEMPLO: si estamos creando un subreporte variable que obtiene el nombre del «Periodo Anual», su nombre debería ser: «R-PPI-PPO-SUB-PERIODOANUALNOMBRE-VARIABLE».
1.2. Ejemplos de nombres de reportes
A continuación se muestran nombres correctos de reportes, se modo que ayuden a comprender de mejor manera, la nomenclatura.
// Reporte Principal: Actividades no Planificadas
R-PPI-PPO-ACTIVIDADNOPLANIFICADA.jrxml
// Reporte Principal: Planes Operativos
R-PPI-PPO-PLANOPERATIVO.jrxml
// Reporte Principal: Acciones Estratégicas
R-PPI-PPE-ACCIONESTRATEGICA.jrxml
// Subreporte No Variable: Distribución Porcentual
R-PPI-PPE-SUB-DISTRIBUCIONPORCENTUAL.jrxml
// Subreporte No Variable: Actividades de Mejora por Meta
R-PPI-PPO-SUB-ACTIVIDADMEJORAXMETA.jrxml
// Subreporte Variable: Periodo Anual Nombre
R-PPI-PPO-SUB-PERIODOANUALNOMBRE-VARIABLE.jrxml
// Subreporte Variable:Plan Operativo Código
R-PPI-PPO-SUB-PLANOPERATIVOCODIGO-VARIABLE.jrxml
2. Configuración de reporte
En esta seción se explica los pasos necesarios para la configuración del reporte.
2.1. Nombre y descripción del reporte
Para establecer el nombre y descripción del reporte, lo primero que se debe hacer es marcar el nombre del reporte.
Esto nos abre las propiedades del reporte donde le podemos establecer su nombre y descripción
De modo de ejemplo se utilizará la siguiente información
Nombre: R-PPI-MCG-AVANCEPRIORIDADOBJETIVO.
Descripción: Reporte de Grado de Avance de las Prioridades / Objetivos Estratégicos.
2.2. Formato de Página
El siguiente aspecto a configurar es el formato de la paǵina
Para esto debemos ingresar a la configuración del reporte a la sección «Page Format»
Esto nos abre una ventana donde debemos verificar la siguiente configuración:
Format: LETTER
Width: 792px
Height: 612px
Page Orientation: LandScape
Margins: 20px
Column Width: 752px
3. Configuración de Jasper para Excel
Por defecto Jasper cuando exporta a excel lo hace con un fondo de color blanco.
Para quitar esta opción debemos ingresar a
Menú-> Window->Preferences
Esto nos abre una ventana de preferencias donde debemos, navegar a la opción de «Exporters->Excel Exporter» y desmarcar la opción de «White Page Background»
Ademas cuando se exporta a excel puede ocurrir que deje espacios en blanco cuando hay salto de línea, para evitar esto debemos marcar las opciones de:
Remove Empty Space Between Rows
Remove Empty Space Between Columns
4. Definición de sección «Title»
A continuación vamos a crear la configuración del Title.
Esta sección debe estar compuesta de campos de tipo «Static Text»:
Y deben contener la siguiente información:
Nombre de Universidad: «Universidad Nacional»
Nombre del Área: «Área de planificación»
Nombre del reporte: «Nombre descriptivo del reporte»
Etapa y Periodo: «Nombre de la etapa de planificación y año de ejecución»
Cada uno de estos textos debe cumplir con el siguiente estándar:
Apariencia:
Position Type: Fix Relative To Top
Size: w: 752px y h 15px
Strech Type: No Strech
NOTA: Esto hace que cada elemento contenga el ancho total de la página y cuando sea exportado a excel, genere una fila completa.
Borders:
Los bordes deben estar configurados por defecto en 0 (cero)
Static Text
En la configuración del texto se debe aplicar las siguientes configuraciones
Textos:
Universidad Nacional
Área de Planificación
Reporte de …
Etapa …
Alineamiento:
Centrado horizontal
Centrado Vertical
Fuente:
DejaVu Sans
12
Negrita
4.1. Título Etapa Plan
El título del nombre de la etapa plan es un caso especial ya que requiere una serie de configuraciones adicionales ya que utiliza 2 subreportes variables para desplegar la información necesaria.
Los subreportes son:
R-PPI-PPO-SUB-ETAPAPLANNOMBRE-VARIABLE.jasper: este subreporte existente dentro de PPI-PPO recibe el Id de la Etapa y retorna el nombre de la etapa.
R-PPI-PPO-SUB-PERIODOANUALNOMBRE-VARIABLE.jasper: este subreporte existente dentro de PPI-PPO recibe el Id del periodo Anual y retorna el año del periodo.
4.1.1. Creación de parámetro «SUBREPORT_DIR»
Cuando se esta creando reportes para SIGESA que contengan subreportes, debemos crear un parámetro de nombre «SUBREPORT_DIR», el cual será enviado por el sistema SIGESA al reporte con la ubicación de los reportes dentro del servidor, cuando la opción de «Tiene reportes» se encuentra seleccionada.
Por tanto si estamos desarrollando un reporte que va contener subreportes, debemos crear este parametro para poder recibir el valor enviado por SIGESA.
Para esto vamos a la sección de «Parameters»
Y le damos clic derecho -> «Create Parameter»
Y le configuramos los parámetros:
Name: SUBREPORT_DIR
Class: java.lang.String
Default Value Expression: «» (Comillas vacias)
Con esto tendremos disponible el parámetro.
4.1.2. Configuración de Subreporte Variable Etapa Plan
El primer paso para la configuración del título de la etapa plan es crear un subreporte.
En la sección de «Basic Elements» ubicamos el componente «Subreport» y lo arrastramos a la sección de «Title».
Esto nos abre una ventana donde vamos a seleccionar la opción de «Just create the subreport element» y finalizamos.
Lo siguiente sería darle las siguientes propiedades:
Apariencia:
Position Type: «Fix Relative To Top».
Witdh: 752px
Height: 15px
Y ubicarlo en la posición correspondiente
A continuación vamos a la seccion de «Subreport» para configurarlo.
Aquí lo que debemos hacer es agregar en la propiedad «Expresion», el siguiente contenido:
El cual es indicando que el subreporte de nombre «R-PPI-PPO-SUB-ETAPAPLANNOMBRE-VARIABLE.jasper» se encuentra en la ubicación «$P{SUBREPORT_DIR}».
Luego debemos configurar el parámetro «etapaPlan», que debe ser enviado como estándar dentro de SIGESA, para todo nuevo reporte.
Para esto vamos a la sección de «Parameters», clic derecho -> «Create Parameter»
Y lo configuramos con la siguiente configuración:
Name: etapaPlan
Class: java.lang.Long
Este parámetro debe ser configurado dentro de SIGESA como:
Tipo Datos: java.lang.Object
Nombre: etapaPlan
A continuación se muestra un ejemplo de la configuración dentro de SIGESA para Etapa Plan Evaluación
Tendiendo el parámetro configurado, vamos a indicarle al reporte principal que debe enviarle el id de la etapa plan al subreporte que hemos agregado.
Para esto seleccionamos el subreporte y vamos a la sección de «Subreport» y ubicamos el botón de «Edit Parameters».
Esto nos abre una ventana donde vamos aplicar la siguiente configuración.
O simplemente agregamos
Parameter Name: etapaPlan
Parameter Expresion: $P{etapaPlan}.longValue()
Con esto se ha configurado para que reporte principal envie el parametro que recibió al subreporte.
Ahora con esto debemos configurar que vamos hacer en nuestro reporte con el valor que nos retorna el subreporte, en este caso el nombre de la etapa plan.
Para esto debemos crear una variable de nombre «etapaPlan_nombre» esto como estándar ya que el subreporte se encuentra configurado para retornar una variable del mismo nombre.
Configuración:
Name: etapaPlan_nombre
Value Class Name: java.lang.String
Calculation: System
Con esto tenedremos una variable capaz de recibir el nombre de la etapa plan.
Ahora debemos indicarle a reporte que el valor de retorno del subreporte sea almacenado en dicha variable.
Para esto seleccionamos el subreporte en la sección «Subreport», ubicamos el botón «Edit Return Values»
Esto nos abre una ventana donde debemos darle agregar y configurar la siguiente información:
From Variable: etapaPlan_nombre (Variable del Subreporte)
To Variable: etapaPlan_nombre (variable del reporte principal)
Calculation Type: No Calculation Function
Listo tenemos configurado el subreporte de etapa plan.
4.1.3. Configuración de Subreporte Variable Periodo Anual.
El siguiente subreporte que debemos configurar es el del Periodo Anual, sin embargo este parametro no es exigido para todo subreporte de PPI.
Por tanto tenemos dos posibles soluciones:
Que el parametro si sea enviado como parámetro, en dicho caso utilizaremos en la configuración el parámetro «$P{periodoAnual}».
Dentro de la consulta debemos agregar la solicitud del campo PERIODO_ANUAL, y utilizarlo para la configuración desde el campo $F{PERIODO_ANUAL}.
EJEMPLO: desde consulta:
Comprendido las posibilidades de obtención de su valor, lo que debemos hacer es agregar un nuevo elemento de «Subreport» a nuestro «Title».
Y darle las propiedades:
Position Type: Fix Relative To Top
Width: 752px
Height: 15px
Y ademas ubicarlo sobre el subreporte anterior
Ahora debemos inidicarle cual es el subreporte que debe invocar, para esto en la sección de «Subreport» en la propiedad de «Expresion», le agregamos:
Configurado el textField ya podemos probar nuestro reporte
Nos vamos a la sección de «PreView»
Digitamos los parámetros
etapaPlan: 7
periodoAnual: 202
Y lo mandamos a ejecutar y podemos ver que nos carga lso valores
4.1.5. Configuración de sección Title
Ahora que hemos configurado correctamente los títulos solo nos queda indicar su ancho para que cubra solo una altura de 60px ya que contamos con 4 título de 15px cada uno
5. Configuración de sección Page Header
En esta sección se debe configurar el valor de cualquier parámetro pasado al reporte que no sean etapaPlan o periodoAnual.
Y además debe contar con una sección que muestre la fecha en que se generó el reporte y el número de página.
5.1. Configuración de fecha:
Para la creación de la fecha se debe hacer con la siguiente configuración:
Apariencia:
Tipo de elemento: Text Field
Position: Fix Relative To Top
Width: 140px
Height: 15px
Strech Type: No Strech
Text Field:
Expresión: new java.util.Date()
Evaluation Time: Now
Text Adjust:CutText
Pattern dd/MM/yyyy
Text Alignment:
Horizontal: Izquierda
Vertical: centrado
Fuente:
DejaVu Sans
8 px
5.2. Configuración de Páginación:
Para configuración de la páginación vamos a utilizar 2 campos TextField
El primero muestra el número de página actual
Y el segundo la cantidad total de páginas
5.2.1. Página actual
Para configurar la la sección de página actual lo hacemos con la siguiente configuración:
Tipo de Elemento: TextField
Apariencia:
Location:
x: 140 px
y: 0 px
Position Type: Fix Relative To Top
Size:
Width: 576 px
Height: 15 px
Strech Type: No Stretch
Text Field:
Expression: «Página «+$V{PAGE_NUMBER}+» de»
Evaluation Time: Now
Text Adjust: CutText
Text Aligment:
Horizontal: derecha
Vertical: centrado
Fuente:
DejaVu Sans
Size: 8 px
5.2.2. Totalidad de páginas
Para configurar la totalidad de páginas aplicamos la siguiente configuración
Tipo de campo: TextFiled
Apariencia:
Location:
x: 716 px
y: 0 px
Size:
W: 36 px
H: 15px
Stretch Type: No Stretch
Text Field:
Expression: » «+$V{PAGE_NUMBER}
Evaluation Time: Report
Text Adjust: CutText
Text Aligment:
Horizontal: izquierda
Vertical:centrado
Fuente:
DejaVu Sans
Size: 8 px
Y con esto hemos definido la sección de fecha y páginación
5.3. Configuración de Parámetros:
Luego de configurar la fecha y páginación en la sección de «Page Header» deben venir todos todos los parámetraos adicionales a la etapaPlan o periodoAnual.
Y estos deben cumplir el siguiente estándar:
5.3.1. Título del parámetro
Tipo de elemento: Static Text
Apariencia:
El texto debe establecerse con la primera letra de cada palabra en mayúscula y el resto en letras minúsculas y finalizada con dos puntos (:)
Position Type: Fix Relative To Top
Size (Recomendado para que sea del mismo tamaño que la fecha pero puede variar dependiendo del contenido necesario)
w: 140 px
h: 15 px
Strech Type: No Stretch
Static Text:
Text: nombre del parámetro
Alineación:
Horizontal: izquierda
Vertical: centrado
Fuente:
DejaVu Sans
Size: 8 px
Negrita
5.3.2. Valor del parámetro
El valor del parámetro se recomienda utilice una subreporte de tamaño variable para mostrar su valor, siguiendo la lógica de agregación de subreportes variables explicados anteriormente.
Además de esto se debe configurar el tamaño del la sección para que consuma el tamaño de la fila de fecha y los campos parámetros
5.3.3. Títulos de columnas de consulta
Luego de la sección de títulos de los parámetros se debe crear los títulos de las columnas que serán desplegadas para en el detalle del reporte, siempre y cuando el formato del reporte sea acorde a esta necesidad.
Estos campos deben seguir el siguiente estándar:
Tipo de Elemento:Static Text
El texto debe establecerse con la primera letra de cada palabra en mayúscula y el resto en letras minúsculas y finalizada con dos puntos (:)
Apariencia:
Position Type: Fix Relative To Top
Size:
W: 140 px (recomendado para primera columna, para que sea el mismo tamao que la fecha, pero puede variar según la necesidad).