SIGESA: Estándar de Reportes PPI v1.0.0

  • El siguiente documento establece el estándar de diseño 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 condiciones:
    • El nombre del reporte debe estar escrito en letras mayúsculas y sin espacios.
    • La separación de sus componentes debe ser mediante un guión medio (-).
R-PPI-DIMINUTIVOMODULO-SUB-NOMBREREPORTE-VARIABLE.jrxml

1.1. Descripción de nomenclatura.

  • R: Establece que el documento es un «Reporte».
    • Ejemplo: R-.
  • PPI: Establece que el reporte pertenece al «Área de Planificación Institucional».
    • Ejemplo: R-PPI.
  • DIMINUTIVOMODULO: representa las sigas 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:
    • Este parámetro es opcional y solo debe ser aplicado cuando lo que se esta desarrollando es un subreporte.
    • Ejemplo:
      • R-PPI-MCG-SUB-
  • NOMBREREPORTE:
    • Debe hacer referencia a la información que esta siendo obtenida dentro del 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 en una sola palabra, sin espacios, ni guiones.
      • Ejemplo: si la información del reporte es sobre el «Historial de Modificaciones POA», su nombre dedería ser: «R-PPI-PPO-HISTORIALMODIFICACIONPOA».
    • Cuando se esta diseñando un subreporte de tamaño variable que va a retornar un valor, este valor debe ser indicado en el nombre del reporte.
      • Ejemplo: Si se esta diseñando un subreporte que retorna el nombre de un periodo anual, su nombre debería ser: «R-PPI-PPO-SUB-PERIODOANUALNOMBRE-VARIABLE».
  • VARIABLE:
    • Este parámetro es opcional y solo debe ser utilizado cuano el reporte que se esta diseñando es un reporte de tipo «Tamaño Variable», se debe representar con la palabra «VARIABLE» para indicarlo.
    • Normalmente esta condición solo se aplica para subreportes.
      • Ejemplo: si estamos creando un subreporte de tamaño variable que obtiene el nombre del «Periodo Anual», su nombre debería ser: «R-PPI-PPO-SUB-PERIODOANUALNOMBRE-VARIABLE».

    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 Studio para Excel

    • Por defecto Jasper Studio 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 un 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»

    • 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». Esta información puede ser opcional para casos donde no aplica.
    • 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:
      • Text:
        • Universidad Nacional.
        • Área de Planificación.
        • Título del reporte.
        • Etapa de Planificación.
      • Alineamiento:
        • Horizontal: Centrado.
        • Vertical: Centrado.
      • Fuente:
        • DejaVu Sans.
        • 12 px.
        • Negrita.

      4.1. Título «Etapa Planificación»

      • El título del nombre de la «Etapa de Planificación» es opcional y solo debe ser aplicado cuando la información del reporte pertenezca a una Etapa de Planificación.
      • Esta sección requiere la utilización de dos subreportes variables y un elemento Text Field 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. Configuración de los subreportes de Etapa Plan y Periodo Anual:

      • Los dos subreportes debe contener la siguiente configuración:
      • Apariencia:
        • Location: (al tener la misma ubicación se ubicaran uno encima del otro)
          • X: 0 px.
          • Y: 45 px.
        • Position Type: «Fix Relative To Top».
        • Size:
          • W: 752px.
          • H: 15px.
        • Stretch Type: No Strech.
        • Subreport:
          • Expression:
        • Para subreporte Etapa Plan:
        $P{SUBREPORT_DIR} + "R-PPI-PPO-SUB-ETAPAPLANNOMBRE-VARIABLE.jasper"
        • Para subreporte Periodo Anual:
        $P{SUBREPORT_DIR} + "R-PPI-PPO-SUB-PERIODOANUALNOMBRE-VARIABLE.jasper"
          • Para que estos subreportes puedan funcionar requieren tener como parámetro (Parameter) o campo (Field de la consulta) los valores de la «etapaPlan» y «periodoAnual».
          • De modo de ejemplo estos valores serán creados como parámetros.
          • Y debe ser configurados de la siguiente manera:
          • etapaPlan:
            • Name: etapaPlan
            • Class: java.lang.Long
          • periodoAnual:
            • Name: periodoAnual
            • Class: java.lang.Long
            • Tendiendo el parámetro configurado, debemos indicarle al reporte principal que debe enviarle el id de la «etapaPlan» y «periodoAnual» al subreporte respectivo.
            • Para esto seleccionamos cada 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.
            • Para «etapaPlan»:
            • O simplemente agregamos
              • Parameter Name: etapaPlan
              • Parameter Expresion: $P{etapaPlan}.longValue()
            • Para «periodoAnual»:
            • O simplemente agregamos:
              • Parameter Name: periodoAnual
              • Parameter Expression: $P{periodoAnual}.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 «etapaPlan» o «periodoAnual».
            • Para esto debemos crear dos variables:
            • Variable de «etapaPlan»:
              • Name: etapaPlan_nombre
              • Value Class Name: java.lang.String
              • Calculation: System
            • Variable de «periodoAnual»:
              • Name: peridoAnual_nombre
              • Value Class Name: java.lang.String
              • Calculation: System
            • Con esto tenedremos las variables para recibir el nombre de la «etapaPlan» y «periodoAnual».
            • Ahora debemos indicarle a reporte que el valor de retorno del subreporte sea almacenado en dichas variables.
            • Para esto seleccionamos el subreporte respectivo y nos ubicamos en la sección «Subreport», en el botón «Edit Return Values»
            • Esto nos abre una ventana donde debemos darle agregar y configurar la siguiente información:
            • «etapaPlan»:
              • From Variable: etapaPlan_nombre (Variable del Subreporte)
              • To Variable: etapaPlan_nombre (variable del reporte principal)
              • Calculation Type: No Calculation Function
            • «periodoAnual»:
              • From Variable: periodoAnual_nombre (Variable del Subreporte)
              • To Variable: periodoAnual_nombre (variable del reporte principal)
              • Calculation Type: No Calculation Function

                          4.1.2. Configuración del título «Etapa Planificación»

                            • Configuración:
                            • Tipo de elemento: «Text Field»
                            • Apariencia:
                              • Location: (esta posición lo ubica encima de los subreportes)
                                • X: 0px
                                • Y: 45 px
                              • Position Type: Fix Relative To Top
                              • Size:
                                • W: 752px
                                • H: 15 px
                              • Stretch Type: No Stretch
                            • Text Field:
                              • Expresion: «Etapa de Planificación » +$V{etapaPlan_nombre} + » » + $V{periodoAnual_nombre}
                              • Evaluation Time: Band
                              • Text Adjust: CutText
                              • Text Alignment:
                                • Horizontal: Centrado
                                • Vertical: Centrado
                              • Font:
                                • DejaVu Sans
                                • Size: 10px
                                • Negrita

                                4.1.3. Configuración de sección Title

                                • Ahora es necesario indicar la altura de la sección de «Title».
                                • Si el reporte contiene los 4 títulos debe tener una altura de 60px ya que contamos con 4 título de 15px cada uno.
                                • Si el reporte solo tiene los 3 títulos principales debe tener una altura 45px.

                                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 una sección de páginación.

                                5.1. Configuración de fecha:

                                • El campo de la fecha debe contener la siguiente configuración:
                                • Apariencia:
                                  • Tipo de elemento: Text Field
                                  • Location:
                                    • X: 0px
                                    • Y: 0 px
                                  • Position Type: Fix Relative To Top
                                  • Size:
                                    • W: 140px
                                    • H: 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
                                  • Font:
                                    • 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:
                                    • W: 576 px
                                    • H: 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
                                  • Font:
                                    • 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
                                  • Font:
                                    • DejaVu Sans
                                    • Size: 8 px

                                  5.3. Configuración de Parámetros:

                                  • Luego de configurar la fecha y páginación en la sección de «Page Header», en esta sección se debe configurar cualquier parámetro adicional «etapaPlan» o «periodoAnual» que sea enviado al reporte.
                                  • Y estos deben cumplir el siguiente estándar:

                                  5.3.1. Título del parámetro

                                  • Tipo de elemento: Static Text
                                  • Formato del texto:
                                    • 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 (:).
                                    • Ejemplo:
                                  • Apariencia:
                                    • Position Type: Fix Relative To Top
                                    • Size ( NOTA: se recomienda que sea del mismo tamaño que la fecha (140 px) pero puede variar dependiendo del contenido del texto, de igual forma se puede modificar el tamaño de la fecha para que tengan la misma medida):
                                      • 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

                                  • Para obtener el valor del parámetro se recomienda encarecidamente se utilice un subreporte de tamaño variable, siguiendo la lógica de agregación de subreportes variables explicados anteriormente.
                                  • Además de esto se debe configurar el tamaño de la sección para que consuma el ancho disponible.
                                  • Este debe contener la siguiente configuración:
                                  • Tipo de Elemento: Text Field
                                  • Apariencia:
                                    • Position Type: Fix Relative To Top
                                    • Size:
                                      • H: 15 px
                                    • Stretch Type: No Stretch
                                  • TextField:
                                    • Expresion: Debe contener el valor de la variable. Ejemplo: $V{unidadIntegradora_codigo_nombre}
                                    • Evaluation Time: Band
                                    • Text Adjust: StretchHeight
                                    • Alineación:
                                      • Horizontal: izquierda
                                      • Vertical: centrado
                                    • Font:
                                      • DejaVu Sans
                                      • Size: 8px

                                  5.3.3. Valor de parámetro de gran tamaño

                                  • Cuando el valor de retorno del subreporte puede ser de gran tamaño y no sea capaz de mostrarse en la configuración anterior de 15 px de altura, se debe aplicar la siguiente configuración.
                                  • Campo de título:
                                    • Tipo de Elemento: StaticText
                                    • Position Type: Fix Relative To Top
                                    • Stretch Type: ContainerHeight

                                  6. Configuración de sección «Column Header»

                                  • En esta sección se deben configurar los títulos de los campos de la consulta

                                  6.1. Títulos de columnas de consulta

                                  • 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.
                                  • NOTA: Este campo no debe finalizar con dos puntos (:)
                                  • Apariencia:
                                    • Position Type: Fix Relative To Top
                                    • Size:
                                      • W: 140 px (recomendado para primera columna, para que sea el mismo tamaño que la fecha, pero puede variar según la necesidad).
                                      • H: 15 px
                                      • Stretch Type: No Stretch
                                  • Borders:
                                    • Right: 5px
                                    • NOTA: esta configuración es necesaria para que exista siempre una separación entre las columnas.
                                  • Static Text:
                                    • Text: texto de la columna (el texto debe establecerse con la primera letra de cada palabra en mayúscula y el resto en letras minúsculas y no debe finzalizar con dos puntos)
                                    • Text Aligment:
                                      • Datos de Texto:
                                        • Horizontal: Cuando el valor que va a representar es un texto debe ser alineado horizontalmente a la izquierda.
                                        • Vertical: Centrado.
                                      • Datos Númericos:
                                        • Horizontal: Cuando el valor que va a representar es un número debe ser alineado horizontalmente a la derecha.
                                        • Vertical: Centrado.
                                    • Font:
                                      • DejaVu Sans
                                      • Size: 8 px

                                  7. Configuración de sección «Detail»

                                  • En esta sección se deben configurar los campos de la consulta para que sean desplegados.
                                  • Configuración:
                                  • Apariencia:
                                    • Position Type: Fix Relative To Top
                                    • Stretch Type: ContainerHeight