SIGESA: Estándar de Reportes PPI v1.0.0 Completo

  • 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.
R-PPI-DIMINUTIVO_MODULO-SUB-NOMBRE_REPORTE-VARIABLE.jrxml

1.1. Descripción de nomenclatura.

  • R: Establece que el documento es un «Reporte».
    • Ejemplo: R-.
  • 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:
$P{SUBREPORT_DIR} + "R-PPI-PPO-SUB-ETAPAPLANNOMBRE-VARIABLE.jasper"
  • 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:
  1. Que el parametro si sea enviado como parámetro, en dicho caso utilizaremos en la configuración el parámetro «$P{periodoAnual}».
  2. 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:
$P{SUBREPORT_DIR} + "R-PPI-PPO-SUB-PERIODOANUALNOMBRE-VARIABLE.jasper"
  • Y procedemos a configurar el envió del id del periodo anual ya sea obtenido del un campo (Field) o de un parámetro.
  • Para nuestro caso lo haremos desde un parametro.
  • Seleccionamos el subreporte, en la sección de «Subreport», damos clic al botón «Edit Parameters»
  • Y configuramos
  • Ahora igual que en el subreporte anterior debemos configurar una variable que reciba el valor devuelto por el subreporte.
  • Agregamos una nueva variable:
    • Name «periodoAnual_nombre»
    • Value Class Name: java.lang.String
    • Calculation: System
  • Regresamos al subreporte a la sección de «Subreport» y damos clic al botón de «Edit Return Values»
  • Y configuramos:
    • From Variable: periodoAnual_nombre (Variable del Subreporte)
    • To Variable: periodoAnual_nombre (Variable del reporte principal)
    • Calculation Type: No Calculation Function
  • Y con esto hemos configurado el subreporte de periodoAnual.

4.1.4. Configuración del título Etapa Plan

  • Ahora que tenemos funcionando los subreportes debemos crear la barra del título de la etapa plan.
  • Para esto hemos agregado la siguiente consulta como modo de ejemplo ya que sin una consulta el reporte sale vació:
select * from Detalle_pmp
  • Ahora vamos a agregar un componente nuevo de tipo: «Text Field»
  • Lo arrastramos a la sección de «Title»
  • Y lo configuramos
  • Apariencia
    • Lo colonamos encima de los subreportes creados anteriormente
    • Position Type: Fix Relative To Top
    • Width: 752px
    • Height: 15 px
  • Y en la sección de «Text Field» configuramos
    • Expresion: «Etapa: » +$V{etapaPlan_nombre} + » » + $V{periodoAnual_nombre}
    • Evaluation Time: Band
    • Text Adjust: CutText
    • Alineación:
      • Horizontal: Centrado
      • Vertical: Centrado
    • Fuente:
      • DejaVu Sans
      • Size: 10px
      • Negrita
  • 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).
      • H: 15 px
      • Stretch Type: No Stretch

6. Configuración de sección Detail