{"id":13558,"date":"2022-11-04T08:59:57","date_gmt":"2022-11-04T14:59:57","guid":{"rendered":"http:\/\/201.237.206.56\/Sitios\/ugit.siua.ac.cr\/?p=13558"},"modified":"2024-01-11T11:18:26","modified_gmt":"2024-01-11T17:18:26","slug":"sigesa-jasper-crear-reporte","status":"publish","type":"post","link":"https:\/\/sada.services\/?p=13558","title":{"rendered":"SIGESA: JASPER &#8211; Crear Reporte"},"content":{"rendered":"\n<ul class=\"wp-block-list\">\n<li>En la siguente se explica como crear un reporte utilizando JASPER para SIGESA<\/li>\n\n\n\n<li>Para la creaci\u00f3n de la Herramienta se utilizar\u00e1 JASPER-STUDIO en la versi\u00f3n  6.20.0<\/li>\n\n\n\n<li>Ahora si es la primera vez que se abre la herramienta lo primero que debemos hacer es crear una concexi\u00f3n a la base de datos, que para PPI es DESA07, para esto hacemos:<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Creaci\u00f3n de conexi\u00f3n<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para crear reportes primero debemos descargar el driver para oracle desde aqu\u00ed<\/li>\n\n\n\n<li><a rel=\"noreferrer noopener\" href=\"https:\/\/www.oracle.com\/database\/technologies\/appdev\/jdbc-downloads.html\" target=\"_blank\">https:\/\/www.oracle.com\/database\/technologies\/appdev\/jdbc-downloads.html<\/a><\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img fetchpriority=\"high\" decoding=\"async\" width=\"1024\" height=\"543\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_349-1-1024x543.png\" alt=\"\" class=\"wp-image-13044\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_349-1-1024x543.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_349-1-300x159.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_349-1-768x407.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_349-1.png 1287w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora abrimos jasperStudio<\/li>\n\n\n\n<li>Y le damos File-&gt;New-&gt;JasperReport<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"754\" height=\"642\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_344.png\" alt=\"\" class=\"wp-image-13045\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_344.png 754w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_344-300x255.png 300w\" sizes=\"(max-width: 754px) 100vw, 754px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seleccionamos donde vamos a guardar el reporte<\/li>\n\n\n\n<li>Y le indicamos su nombre, para SIEGSA los nombres tienen la siguiente estructura<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>R-PROYECTO-MODULO-ENTIDADES (3 PRIMERAS LETRAS)\n\n\/\/ EJEMPLO:\nR-PBS-ABS.CLITAV<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" width=\"755\" height=\"645\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_355.png\" alt=\"\" class=\"wp-image-13054\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_355.png 755w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_355-300x256.png 300w\" sizes=\"(max-width: 755px) 100vw, 755px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le damos siguiente  y debemos dar clic en la opci\u00f3n de: Data Adapter-&gt;New<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"759\" height=\"648\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_346.png\" alt=\"\" class=\"wp-image-13047\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_346.png 759w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_346-300x256.png 300w\" sizes=\"(max-width: 759px) 100vw, 759px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seleccionamos Databe JDBC Connection<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"662\" height=\"523\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_347.png\" alt=\"\" class=\"wp-image-13048\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_347.png 662w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_347-300x237.png 300w\" sizes=\"(max-width: 662px) 100vw, 662px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos los datos de conexi\u00f3n (actualizado 2024)<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"637\" height=\"734\" src=\"https:\/\/sada.services\/wp-content\/uploads\/2024\/01\/Seleccion_100.png\" alt=\"\" class=\"wp-image-16387\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2024\/01\/Seleccion_100.png 637w, https:\/\/sada.services\/wp-content\/uploads\/2024\/01\/Seleccion_100-260x300.png 260w\" sizes=\"(max-width: 637px) 100vw, 637px\" \/><\/figure>\n\n\n\n<pre class=\"wp-block-code\"><code>Nombre: ORACLE-UNA-DESA07\nJDBC Driver: Oracle (oracle.jdbc.driver.OracleDriver)\nJDBC Url: jdbc:oracle:thin:@sigesadesa.una.ac.cr:1521\/DESA07.una.ac.cr\nUsername: adm\nPassword: sigesa2015<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"658\" height=\"752\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_348.png\" alt=\"\" class=\"wp-image-13050\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_348.png 658w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_348-263x300.png 263w\" sizes=\"(max-width: 658px) 100vw, 658px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos el driver que descargamos al inicio<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"709\" height=\"764\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_350.png\" alt=\"\" class=\"wp-image-13051\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_350.png 709w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_350-278x300.png 278w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Probamos la conexi\u00f3n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"697\" height=\"768\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_351.png\" alt=\"\" class=\"wp-image-13052\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_351.png 697w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_351-272x300.png 272w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Resultado<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"235\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_352.png\" alt=\"\" class=\"wp-image-13053\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_352.png 652w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_352-300x108.png 300w\" sizes=\"(max-width: 652px) 100vw, 652px\" \/><\/figure>\n\n\n\n<p> <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Si ya hemos configurado alg\u00fan \u00abData Adapters\u00bb, pero ingresamos a un nuevo equipo y tenemos que agregar uno nuevo hacemos:<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Agregar nuevo adaptador<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Con la herramienta levantada vamos a la secci\u00f3n de \u00abData Adapters\u00bb<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"326\" height=\"375\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_097.png\" alt=\"\" class=\"wp-image-13562\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_097.png 326w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_097-261x300.png 261w\" sizes=\"(max-width: 326px) 100vw, 326px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y le damos la opci\u00f3n de \u00abCreate Data Adapter\u00bb<\/li>\n\n\n\n<li>Seleccionamos \u00abDatabase JDBC Connection\u00bb<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"665\" height=\"530\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_098.png\" alt=\"\" class=\"wp-image-13563\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_098.png 665w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_098-300x239.png 300w\" sizes=\"(max-width: 665px) 100vw, 665px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos los datos de conexi\u00f3n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>jdbc:oracle:thin:@sigesa-desa.una.ac.cr:1521:DESAXXX\nadm\nsigesa2015<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"658\" height=\"752\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_348.png\" alt=\"\" class=\"wp-image-13050\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_348.png 658w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_348-263x300.png 263w\" sizes=\"(max-width: 658px) 100vw, 658px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos el driver que descargamos al inicio<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"709\" height=\"764\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_350.png\" alt=\"\" class=\"wp-image-13051\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_350.png 709w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_350-278x300.png 278w\" sizes=\"(max-width: 709px) 100vw, 709px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Probamos la conexi\u00f3n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"697\" height=\"768\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_351.png\" alt=\"\" class=\"wp-image-13052\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_351.png 697w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_351-272x300.png 272w\" sizes=\"(max-width: 697px) 100vw, 697px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Resultado<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"235\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_352.png\" alt=\"\" class=\"wp-image-13053\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_352.png 652w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_352-300x108.png 300w\" sizes=\"(max-width: 652px) 100vw, 652px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y con esto tendremos la nueva conexi\u00f3n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"292\" height=\"260\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_099.png\" alt=\"\" class=\"wp-image-13564\"\/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Creaci\u00f3n de nuevo reporte<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Una vez que ya tenemos una conexi\u00f3n a desa07, por demos crear un nuevo reporte<\/li>\n\n\n\n<li>File-&gt;Jasper Report<\/li>\n\n\n\n<li>Y Seleccionamos la opci\u00f3n de \u00abBlank Letter Landscape\u00bb<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"743\" height=\"632\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_100.png\" alt=\"\" class=\"wp-image-13566\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_100.png 743w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_100-300x255.png 300w\" sizes=\"(max-width: 743px) 100vw, 743px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Establecemos el nombre del reporte y donde lo vamos almacenar\n<ul class=\"wp-block-list\">\n<li>FORMATO: R-PPI-PPE_NOMBRE \/ R=REPORTE PPI=PROYECTO PPE=M\u00d3DULO<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"746\" height=\"644\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_101.png\" alt=\"\" class=\"wp-image-13567\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_101.png 746w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_101-300x259.png 300w\" sizes=\"(max-width: 746px) 100vw, 746px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le damos siguiente y nos solicita el Data Source<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"887\" height=\"643\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_102.png\" alt=\"\" class=\"wp-image-13568\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_102.png 887w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_102-300x217.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_102-768x557.png 768w\" sizes=\"(max-width: 887px) 100vw, 887px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Luego para este punto podriamos agregarle la consulta SQL si la tenemos en la siguiente secci\u00f3n <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"896\" height=\"644\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_103.png\" alt=\"\" class=\"wp-image-13569\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_103.png 896w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_103-300x216.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_103-768x552.png 768w\" sizes=\"(max-width: 896px) 100vw, 896px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NOTA IMPORTANTE: si contamos ya con la consulta la podemos pegar aqu\u00ed, sin embargo es importante indicar que la consulta se pega sin el punto y coma \u00ab;\u00bb, por que si no nos da error de consulta<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pero otra opci\u00f3n es hacer clic en el bot\u00f3n de \u00abFinish\u00bb y luego agregarle al consulta cuando la tengamos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"581\" height=\"475\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_104.png\" alt=\"\" class=\"wp-image-13570\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_104.png 581w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_104-300x245.png 300w\" sizes=\"(max-width: 581px) 100vw, 581px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para esto  abrir SQLDeveloper yamos a crear la consulta<\/li>\n\n\n\n<li>Para este ejemplo vamos a crear la siguiente consulta que utiliza las siguiente tablas<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"519\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_087-1024x519.png\" alt=\"\" class=\"wp-image-13542\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_087-1024x519.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_087-300x152.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_087-768x390.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_087.png 1368w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y contiene las siguientes condiciones:\n<ul class=\"wp-block-list\">\n<li>PPI.PLAN_ACCION_ESTRATEGICA.ACTIVO == 1<\/li>\n\n\n\n<li>PPI-ENCARGADO_MONITOERO.ACTIVO==1<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Debe mostrar los siguientes campos:\n<ul class=\"wp-block-list\">\n<li>Meta Estrat\u00e9gica (C\u00f3digo y Descripci\u00f3n concatenados)<\/li>\n\n\n\n<li>\u00c1mbito de Acci\u00f3n Universitaria (NOMBRE)<\/li>\n\n\n\n<li>C\u00f3digos de Responsables (ENCARGADO_MONITOREO)<\/li>\n\n\n\n<li>Responsables (Uni\u00f3n de todas las entidades que usaron la meta estrat\u00e9gica en alguna de sus acciones) Separado por un enter.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Tiene como par\u00e1metros los siguientes campos:<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tipo de Etapa.\n<ul class=\"wp-block-list\">\n<li>Se mostrar\u00e1 en el autocomplete el nombre del tipo de etapa.<\/li>\n\n\n\n<li>Generar y vincular el m\u00e9todo que obtenga los distintos tipos de etapas de las etapas de planificaci\u00f3n que tengan un tipo de plan de Acciones Estrat\u00e9gicas (PXE).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Periodo Anual.\n<ul class=\"wp-block-list\">\n<li>Se mostrar\u00e1 en el autocomplete el a\u00f1o.<\/li>\n\n\n\n<li>Generar y vincular el m\u00e9todo que obtenga los distintos periodos anuales de las etapas de planificaci\u00f3n que tengan un tipo de plan de Acciones Estrat\u00e9gicas (PXE).<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Encargado de Monitoreo. Se utilizar\u00e1 para seleccionar el encargado espec\u00edfico.<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adem\u00e1s como el reporte tiene parametros vamos a dejar valores fijos en la consulta que simulen los valores que ser\u00e1n pasados como parametros para luego remplazarlos<\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NOTA: si queremos probar los parametros en SQL Developer lo podemos hacer con dos puntos \u00ab:\u00bb<\/li>\n\n\n\n<li>Y asi cuando ejecutemos la consulta nos solicita los parametros<\/li>\n\n\n\n<li>Para este caso:\n<ul class=\"wp-block-list\">\n<li>periodoAnual: 202<\/li>\n\n\n\n<li>tipoEtapa:1<\/li>\n\n\n\n<li>encrgadoMonitoreo: 141<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"990\" height=\"661\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_206.png\" alt=\"\" class=\"wp-image-13736\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_206.png 990w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_206-300x200.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_206-768x513.png 768w\" sizes=\"(max-width: 990px) 100vw, 990px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Quedando as\u00ed la consulta:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/*************************************************************************\/\n\/***********************   DOCUMENTACI\u00d3N   *******************************\/\n\/*************************************************************************\/\n--T1: PPI_META_PMP\n--T2: PPI.AMBITO_ACCION_UNIVERSITARIA \n--T3: PPI.ACCION_ESTRATEGICA\n--T4: PPI.PLAN_ACCION_ESTRATEGICA\n--T5: EPF.UNIDAD_EJECUTORA (PARA: PPI.PLAN_ACCION_ESTRATEGICA)\n--T6: PPI.ENCARGADO_MONITOREO\n--T7: EPF.UNIDAD_EJECUTORA (PARA: PPI.ENCARGADO_MONITOREO)\n--T8: PPI.ETAPA_PLAN\n--T9: PPI.ETAPA_PLAN (SELECT INTERNO)\n--T10. EPF.PERIODO_ANUAL\n--T11.PPO.TIPO_ETAPA\n\nSELECT * FROM META_PMP;\nSELECT * FROM ENCARGADO_MONITOREO;\nSELECT * FROM UNIDAD_EJECUTORA;\n\nSELECT \n\n        T10.ANO AS PERIODO_ANUAL, \n        T11.NOMBRE AS TIPO_ETAPA,\n        T7.CODIGO AS ENCARGADO_NONITOREO_CODIGO,\n        T7.NOMBRE AS ENCARGADO_NONITOREO_NOMBRE,\n        T8.NOMBRE AS ETAPA,\n        TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION) AS META_ESTRATEGICA,    \n        T2.NOMBRE AS AMBITO_ACCION_UNIVERSITARIA,\n        LISTAGG(T5.CODIGO ,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES_cod,\n        LISTAGG( T5.NOMBRE,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES\n        \n        \n        FROM PPI.META_PMP T1\n        INNER JOIN PPI.AMBITO_ACCION_UNIVERSITARIA T2 ON (T2.ID_AMBITO_ACCION_UNIVERSITARIA = T1.AMBITO_ACCION_UNIVERSITARIA)\n        INNER JOIN PPI.ACCION_ESTRATEGICA T3 ON (T3.META_PMP = T1.ID_META_PMP)        \n        INNER JOIN PPI.PLAN_ACCION_ESTRATEGICA T4 ON (T4.ID_PLAN_ACCION_ESTRATEGICA = T3.PLAN_ACCION_ESTRATEGICA) \n        INNER JOIN EPF.UNIDAD_EJECUTORA T5 ON (T5.ID_UNIDAD_EJECUTORA = T4.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ENCARGADO_MONITOREO T6 ON (T6.ID_ENCARGADO_MONITOREO = T1.ENCARGADO_MONITOREO)\n        INNER JOIN EPF.UNIDAD_EJECUTORA T7 ON (T7.ID_UNIDAD_EJECUTORA = T6.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ETAPA_PLAN T8 ON (T8.ID_ETAPA_PLAN = T4.ETAPA_PLAN)\n        INNER JOIN EPF.PERIODO_ANUAL T10 ON (T10.ID_PERIODO_ANUAL = T8.PERIODO_ANUAL)\n        INNER JOIN PPI.TIPO_ETAPA T11 ON (T11.ID_TIPO_ETAPA = T8.TIPO_ETAPA)\n        \n        WHERE \n        \n                -- PARAMETRO:ENCARGADO_MONITOREO       \n                (T6.UNIDAD_EJECUTORA = :encargadoMonitoreo)\n            AND \n                -- PARAMETRO: ETAPA_PLAN\n                (T4.ETAPA_PLAN = \n                                (SELECT \n                                        T9.ID_ETAPA_PLAN \n                                FROM ETAPA_PLAN T9\n                                WHERE \n                                        T9.PERIODO_ANUAL = :periodoAnual \n                                    AND T9.TIPO_ETAPA = : tipoEtapa \n                                    AND T9.TIPO_PLAN = (\n                                                SELECT \n                                                    VALOR \n                                                FROM SAS.PARAMETRO\n                                                WHERE LLAVE = 'param_ppi_ppe_tipoPlan_PXE'))\n                )  \n            AND \n                -- CONDICI\u00d3N: PPI.ENCARGADO_MONITOREO.ACTIVO=1\n                (T6.ACTIVO = 1)  \n            AND \n                -- CONDICI\u00d3N: PPI.PLAN_ACCION_ESTRATEGICA.ACTIVO=1\n                (T4.ACTIVO = 1)\n        GROUP BY \n                T10.ANO,\n                T11.NOMBRE,\n                T7.CODIGO, \n                T7.NOMBRE, \n                T8.NOMBRE, \n                TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION), \n                T2.NOMBRE;\n\n        \n        \n <\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"559\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_207-1024x559.png\" alt=\"\" class=\"wp-image-13738\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_207-1024x559.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_207-300x164.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_207-768x419.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_207.png 1198w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para descargarlo: <a href=\"\/wp-content\/uploads\/2022\/11\/PPI-PPE-METASXENCARGADOMONITOREO-3.zip\">aqu\u00ed<\/a> <\/li>\n\n\n\n<li>Ahora que tenemos el SQL vamos al Jasper Studio y buscamos el icono <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"726\" height=\"217\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_106.png\" alt=\"\" class=\"wp-image-13580\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_106.png 726w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_106-300x90.png 300w\" sizes=\"(max-width: 726px) 100vw, 726px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nos abre una ventana donde vamos a pegar el SELECT<\/li>\n\n\n\n<li>IMPORTANTE: quitar el punto y coma \u00ab;\u00bb utilizado en SQL Developer si no nos da error de consulta<\/li>\n\n\n\n<li>Consulta final:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT \n\n        T10.ANO AS PERIODO_ANUAL, \n        T11.NOMBRE AS TIPO_ETAPA,\n        T7.CODIGO AS ENCARGADO_NONITOREO_CODIGO,\n        T7.NOMBRE AS ENCARGADO_NONITOREO_NOMBRE,\n        T8.NOMBRE AS ETAPA,\n        TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION) AS META_ESTRATEGICA,    \n        T2.NOMBRE AS AMBITO_ACCION_UNIVERSITARIA,\n        LISTAGG(T5.CODIGO ,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES_cod,\n        LISTAGG( T5.NOMBRE,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES\n        \n        \n        FROM PPI.META_PMP T1\n        INNER JOIN PPI.AMBITO_ACCION_UNIVERSITARIA T2 ON (T2.ID_AMBITO_ACCION_UNIVERSITARIA = T1.AMBITO_ACCION_UNIVERSITARIA)\n        INNER JOIN PPI.ACCION_ESTRATEGICA T3 ON (T3.META_PMP = T1.ID_META_PMP)        \n        INNER JOIN PPI.PLAN_ACCION_ESTRATEGICA T4 ON (T4.ID_PLAN_ACCION_ESTRATEGICA = T3.PLAN_ACCION_ESTRATEGICA) \n        INNER JOIN EPF.UNIDAD_EJECUTORA T5 ON (T5.ID_UNIDAD_EJECUTORA = T4.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ENCARGADO_MONITOREO T6 ON (T6.ID_ENCARGADO_MONITOREO = T1.ENCARGADO_MONITOREO)\n        INNER JOIN EPF.UNIDAD_EJECUTORA T7 ON (T7.ID_UNIDAD_EJECUTORA = T6.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ETAPA_PLAN T8 ON (T8.ID_ETAPA_PLAN = T4.ETAPA_PLAN)\n        INNER JOIN EPF.PERIODO_ANUAL T10 ON (T10.ID_PERIODO_ANUAL = T8.PERIODO_ANUAL)\n        INNER JOIN PPI.TIPO_ETAPA T11 ON (T11.ID_TIPO_ETAPA = T8.TIPO_ETAPA)\n        \n        WHERE \n        \n                -- PARAMETRO:ENCARGADO_MONITOREO       \n                (T6.UNIDAD_EJECUTORA =  $P{encargadoMonitoreo} )\n            AND \n                -- PARAMETRO: ETAPA_PLAN\n                (T4.ETAPA_PLAN = \n                                (SELECT \n                                        T9.ID_ETAPA_PLAN \n                                FROM ETAPA_PLAN T9\n                                WHERE \n                                        T9.PERIODO_ANUAL =  $P{periodoAnual} \n                                    AND T9.TIPO_ETAPA = $P{tipoEtapa} \n                                    AND T9.TIPO_PLAN = (\n                                                SELECT \n                                                    VALOR \n                                                FROM SAS.PARAMETRO\n                                                WHERE LLAVE = 'param_ppi_ppe_tipoPlan_PXE'))\n                )  \n            AND \n                -- CONDICI\u00d3N: PPI.ENCARGADO_MONITOREO.ACTIVO=1\n                (T6.ACTIVO = 1)  \n            AND \n                -- CONDICI\u00d3N: PPI.PLAN_ACCION_ESTRATEGICA.ACTIVO=1\n                (T4.ACTIVO = 1)\n        GROUP BY \n                T10.ANO,\n                T11.NOMBRE,\n                T7.CODIGO, \n                T7.NOMBRE, \n                T8.NOMBRE, \n                TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION), \n                T2.NOMBRE<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"708\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_107-1024x708.png\" alt=\"\" class=\"wp-image-13581\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_107-1024x708.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_107-300x208.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_107-768x531.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_107.png 1155w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verificamos que tenemos la conexi\u00f3n correcta<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"457\" height=\"308\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_108.png\" alt=\"\" class=\"wp-image-13583\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_108.png 457w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_108-300x202.png 300w\" sizes=\"(max-width: 457px) 100vw, 457px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hora este select es un caso especial ya que utiliza la funci\u00f3n de ORACLE LISTAGG que permite agrupar datos en una sola columna <\/li>\n\n\n\n<li>Por esta raz\u00f3n en lenguaje debemos utilizar \u00abplsql\u00bb pero para un SELECT tradicional se debe selecionar \u00absql\u00bb<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"362\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_109.png\" alt=\"\" class=\"wp-image-13584\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_109.png 701w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_109-300x155.png 300w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora le inidcamos a JASPER que nos lea las columnas necesarias<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"696\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_110-1024x696.png\" alt=\"\" class=\"wp-image-13586\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_110-1024x696.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_110-300x204.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_110-768x522.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_110.png 1145w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le damos OK<\/li>\n\n\n\n<li>Y con esto ya podemos comenzar a trabajar en el reporte<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"704\" height=\"610\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_366.png\" alt=\"\" class=\"wp-image-13065\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_366.png 704w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_366-300x260.png 300w\" sizes=\"(max-width: 704px) 100vw, 704px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora como este reporte tiene un formato un poco diferente al est\u00e1ndar de SIGESA donde todos los campos est\u00e1n en una columna como se muestra en la siguiente im\u00e1gen <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"827\" height=\"443\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_111.png\" alt=\"\" class=\"wp-image-13588\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_111.png 827w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_111-300x161.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_111-768x411.png 768w\" sizes=\"(max-width: 827px) 100vw, 827px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y al tener gran cantidad de datos en la columna de Meta Estrat\u00e9gica, se tomo la desici\u00f3n de presentarlo en el siguiente formato<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"835\" height=\"508\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_112.png\" alt=\"\" class=\"wp-image-13589\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_112.png 835w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_112-300x183.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_112-768x467.png 768w\" sizes=\"(max-width: 835px) 100vw, 835px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pero para un reporte tradicional lo primero que se debe hacer es <\/li>\n\n\n\n<li>Ocultar las secciones\n<ul class=\"wp-block-list\">\n<li>Page Header<\/li>\n\n\n\n<li>Column Header<\/li>\n\n\n\n<li>Column Footer<\/li>\n\n\n\n<li>Page Footer<\/li>\n\n\n\n<li>Summary<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Para esto en el men\u00fa inferior izquierdo \u201cOutline\u201d se encuentran todas las secciones le damos clic derecho \u201cDelete\u201d<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"363\" height=\"473\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_367.png\" alt=\"\" class=\"wp-image-13066\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_367.png 363w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_367-230x300.png 230w\" sizes=\"(max-width: 363px) 100vw, 363px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Quedando as\u00ed<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"760\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_368-1024x760.png\" alt=\"\" class=\"wp-image-13067\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_368-1024x760.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_368-300x223.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_368-768x570.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_368.png 1205w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para este ejemplo vamos agregar el paso adicional que permite \u00abAgrupar\u00bb por meta<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Agrupar por metas<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora sobre el men\u00fa de \u201cOutline\u201d le damos \u201cCreate Group\u201d<\/li>\n\n\n\n<li>Y le damos un nombre y seleccionamos el campo principal que no se repite<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"645\" height=\"609\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_090.png\" alt=\"\" class=\"wp-image-13546\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_090.png 645w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_090-300x283.png 300w\" sizes=\"(max-width: 645px) 100vw, 645px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le indicamos que agregue footer y header<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"619\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_091.png\" alt=\"\" class=\"wp-image-13549\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_091.png 652w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_091-300x285.png 300w\" sizes=\"(max-width: 652px) 100vw, 652px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Esto nos agrega la seccion de METAS Group Header 1<\/li>\n\n\n\n<li>Ahora solo queda que dentro del \u00e1rea de METAS Group Header se agregen los campos por los que se van a agrupar los registros y acomodar los campos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"949\" height=\"577\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_092.png\" alt=\"\" class=\"wp-image-13551\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_092.png 949w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_092-300x182.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_092-768x467.png 768w\" sizes=\"(max-width: 949px) 100vw, 949px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Formato del documento<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lo primero que se debe hacer es configurar el documento como tal para esto debemos <\/li>\n\n\n\n<li>Hacer clic en el tpitulo del reporte y nos muestra sus propiedades<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"312\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_113-1024x312.png\" alt=\"\" class=\"wp-image-13592\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_113-1024x312.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_113-300x91.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_113-768x234.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_113-1536x467.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_113.png 1903w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vamos a la secci\u00f3n de Advanced y modificamos\n<ul class=\"wp-block-list\">\n<li>Description: Descripci\u00f3n del reporte<\/li>\n\n\n\n<li>Bottom Margin \/ Left Margin \/ Right Margin \/ Top Margin: los establecemos a cero<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"302\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_114-1024x302.png\" alt=\"\" class=\"wp-image-13593\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_114-1024x302.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_114-300x88.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_114-768x226.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_114-1536x453.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_114.png 1899w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adem\u00e1s para cuando el usuario dije parametros que no devuelven datos y no presente una p\u00e1gina en blanco y se considere un error vamos a buscar la propiedad \u00abWhen No Data\u00bb y le damos el valor de All Sections No Detail<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"359\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_197-1024x359.png\" alt=\"\" class=\"wp-image-13725\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_197-1024x359.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_197-300x105.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_197-768x270.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_197-1536x539.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_197.png 1909w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dando como resultado<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"269\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_196-1024x269.png\" alt=\"\" class=\"wp-image-13726\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_196-1024x269.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_196-300x79.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_196-768x202.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_196.png 1260w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Encabezado<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para crear el encabezado agregamos un campo \u201cStatic Text\u201d<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"399\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_369-1024x399.png\" alt=\"\" class=\"wp-image-13068\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_369-1024x399.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_369-300x117.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_369-768x299.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_369.png 1454w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Con las siguientes propiedades para PPI\n<ul class=\"wp-block-list\">\n<li>Font: Dejavu Sans<\/li>\n\n\n\n<li>Tama\u00f1o: 10<\/li>\n\n\n\n<li>Centrado: horizontal y vertical<\/li>\n\n\n\n<li>Negrita<\/li>\n\n\n\n<li>Todos los campos deben estar a un 100% del width del reporte es decir 792 px<\/li>\n\n\n\n<li>Y la altura es de 12px<\/li>\n\n\n\n<li>Centrado horizontal y vertical<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"535\" height=\"369\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_115.png\" alt=\"\" class=\"wp-image-13594\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_115.png 535w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_115-300x207.png 300w\" sizes=\"(max-width: 535px) 100vw, 535px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"555\" height=\"533\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_116.png\" alt=\"\" class=\"wp-image-13595\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_116.png 555w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_116-300x288.png 300w\" sizes=\"(max-width: 555px) 100vw, 555px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y debe tener la siguiente estructura<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>EL formato del t\u00edtulo es:\n<ul class=\"wp-block-list\">\n<li>UNA<\/li>\n\n\n\n<li>Sistema<\/li>\n\n\n\n<li>M\u00f3dulo<\/li>\n\n\n\n<li>Reporte de<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"510\" height=\"132\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_372.png\" alt=\"\" class=\"wp-image-13072\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_372.png 510w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_372-300x78.png 300w\" sizes=\"(max-width: 510px) 100vw, 510px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para este ejemplo el formato se modific\u00f3 un poco el dise\u00f1o<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"700\" height=\"82\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_117.png\" alt=\"\" class=\"wp-image-13596\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_117.png 700w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_117-300x35.png 300w\" sizes=\"(max-width: 700px) 100vw, 700px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora debemos agregar un t\u00edtulo descriptor del m\u00f3dulo, agregamos dentro de title<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"910\" height=\"531\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_118.png\" alt=\"\" class=\"wp-image-13597\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_118.png 910w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_118-300x175.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_118-768x448.png 768w\" sizes=\"(max-width: 910px) 100vw, 910px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y debemos agregar la fecha de la generaci\u00f3n del reporte<\/li>\n\n\n\n<li>agregamos una etiqueta<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"965\" height=\"307\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_373-1.png\" alt=\"\" class=\"wp-image-13074\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_373-1.png 965w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_373-1-300x95.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_373-1-768x244.png 768w\" sizes=\"(max-width: 965px) 100vw, 965px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y para que la fecha se toma de la herramienta utilizamos el componete de \u201cCurrente Date\u201d<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"928\" height=\"194\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_374.png\" alt=\"\" class=\"wp-image-13075\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_374.png 928w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_374-300x63.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_374-768x161.png 768w\" sizes=\"(max-width: 928px) 100vw, 928px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y le indicamos el formato requerido en:<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"550\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_375-1024x550.png\" alt=\"\" class=\"wp-image-13076\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_375-1024x550.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_375-300x161.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_375-768x412.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_375.png 1278w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para un campo de fecha es: dd\/MM\/yyyy<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"640\" height=\"541\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_119.png\" alt=\"\" class=\"wp-image-13599\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_119.png 640w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_119-300x254.png 300w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>ahora debemos agregar la paginaci\u00f3n del documento para esto vamos buscar la variables existentes en Jasper espec\u00edficamente la \u00abPage Number\u00bb<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"510\" height=\"390\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_120.png\" alt=\"\" class=\"wp-image-13601\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_120.png 510w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_120-300x229.png 300w\" sizes=\"(max-width: 510px) 100vw, 510px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y la agregamos y en sus propiedades en Expression lo modificamos para que tenga la siguiente estructura, donde le agregamos de una vez la variable de contador de paginas<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\"P\u00e1gina \" + $V{PAGE_NUMBER} + \" de \" +$V{PAGE_COUNT}<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"393\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_127-1024x393.png\" alt=\"\" class=\"wp-image-13613\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_127-1024x393.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_127-300x115.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_127-768x294.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_127.png 1114w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y le modificamos su altura<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"479\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_122-1024x479.png\" alt=\"\" class=\"wp-image-13604\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_122-1024x479.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_122-300x140.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_122-768x359.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_122.png 1153w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NOTA IMPORTANTE: todas las filas deben quedar a un 100% del Witdh para que cuando se exporte a excel no creen columnas en blanco o adicionales<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"842\" height=\"337\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_128.png\" alt=\"\" class=\"wp-image-13615\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_128.png 842w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_128-300x120.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_128-768x307.png 768w\" sizes=\"(max-width: 842px) 100vw, 842px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Para reporte normal<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora para listar los campos, dentro del menpu inferior izquierdo, existe una secci\u00f3n de \u201cFields\u201d donde debemos arrastrar los campos al formulario, para luego acomodarlos<\/li>\n\n\n\n<li>Esto nos tira de una vez una label del nombre de la columna, este lo acomadmos den la secci\u00f3n| title<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"733\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_376-1024x733.png\" alt=\"\" class=\"wp-image-13078\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_376-1024x733.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_376-300x215.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_376-768x549.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_376.png 1093w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Asi solo queda acomodar las columnas<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"894\" height=\"233\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_379.png\" alt=\"\" class=\"wp-image-13079\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_379.png 894w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_379-300x78.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_379-768x200.png 768w\" sizes=\"(max-width: 894px) 100vw, 894px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora podemo sver un preview<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"739\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_383-1024x739.png\" alt=\"\" class=\"wp-image-13084\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_383-1024x739.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_383-300x216.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_383-768x554.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_383.png 1070w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Debemos revisar en formato pdf como excel<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"739\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_383-1-1024x739.png\" alt=\"\" class=\"wp-image-13085\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_383-1-1024x739.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_383-1-300x216.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_383-1-768x554.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_383-1.png 1070w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Notas importantes<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Para campos de tipo fecha el formato es: dd\/MM\/yyyy<\/li>\n\n\n\n<li>Para simbolo de colones de debe poner la text filed-&gt;Inheritance-&gt;PDF Embedded<\/li>\n\n\n\n<li>Los campos deben tener una altura de 12<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"318\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_130-1024x318.png\" alt=\"\" class=\"wp-image-13616\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_130-1024x318.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_130-300x93.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_130-768x239.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_130.png 1296w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pero si pueden tener una altura variable se les debe agregar <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"323\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_131-1024x323.png\" alt=\"\" class=\"wp-image-13617\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_131-1024x323.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_131-300x95.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_131-768x242.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_131.png 1366w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como se indico antes todos los reportes deben tener sus campos al 100% de Witdh <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"900\" height=\"361\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_132.png\" alt=\"\" class=\"wp-image-13619\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_132.png 900w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_132-300x120.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_132-768x308.png 768w\" sizes=\"(max-width: 900px) 100vw, 900px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Siempre se debe probar la exportaci\u00f3n a excel para comprobar que no se creen filas o columnas en blanco<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"481\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_133-1024x481.png\" alt=\"\" class=\"wp-image-13620\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_133-1024x481.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_133-300x141.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_133-768x361.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_133.png 1435w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reporte final jrxml<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;\n&lt;!-- Created with Jaspersoft Studio version 6.20.0.final using JasperReports Library version 5.5.2  --&gt;\n&lt;jasperReport xmlns=\"http:\/\/jasperreports.sourceforge.net\/jasperreports\" xmlns:xsi=\"http:\/\/www.w3.org\/2001\/XMLSchema-instance\" xsi:schemaLocation=\"http:\/\/jasperreports.sourceforge.net\/jasperreports http:\/\/jasperreports.sourceforge.net\/xsd\/jasperreport.xsd\" name=\"R-PPI-PPE-MetasPorEncargadoMonitoreo\" pageWidth=\"792\" pageHeight=\"612\" orientation=\"Landscape\" whenNoDataType=\"AllSectionsNoDetail\" columnWidth=\"792\" leftMargin=\"0\" rightMargin=\"0\" topMargin=\"0\" bottomMargin=\"0\" uuid=\"2a308c2d-44a1-4353-9718-b01c1157286b\"&gt;\n\t&lt;property name=\"com.jaspersoft.studio.data.sql.tables\" value=\"\"\/&gt;\n\t&lt;property name=\"com.jaspersoft.studio.data.defaultdataadapter\" value=\"DESA07\"\/&gt;\n\t&lt;property name=\"com.jaspersoft.studio.report.description\" value=\"Reporte de Metas Estrat\u00e9gicas por Encargado de Monitoreo\"\/&gt;\n\t&lt;parameter name=\"encargadoMonitoreo\" class=\"java.lang.Long\"&gt;\n\t\t&lt;parameterDescription&gt;&lt;!&#91;CDATA&#91;Par\u00e1metro Id de Unidad Ejecutora  Encargada de Monitoreo]]&gt;&lt;\/parameterDescription&gt;\n\t&lt;\/parameter&gt;\n\t&lt;parameter name=\"periodoAnual\" class=\"java.lang.Long\"&gt;\n\t\t&lt;parameterDescription&gt;&lt;!&#91;CDATA&#91;Per\u00edodo Anual de]]&gt;&lt;\/parameterDescription&gt;\n\t&lt;\/parameter&gt;\n\t&lt;parameter name=\"tipoEtapa\" class=\"java.lang.Long\"&gt;\n\t\t&lt;parameterDescription&gt;&lt;!&#91;CDATA&#91;Tipo de Etapa]]&gt;&lt;\/parameterDescription&gt;\n\t&lt;\/parameter&gt;\n\t&lt;queryString&gt;\n\t\t&lt;!&#91;CDATA&#91;SELECT \n\n        T10.ANO AS PERIODO_ANUAL, \n        T11.NOMBRE AS TIPO_ETAPA,\n        T7.CODIGO AS ENCARGADO_NONITOREO_CODIGO,\n        T7.NOMBRE AS ENCARGADO_NONITOREO_NOMBRE,\n        T8.NOMBRE AS ETAPA,\n        TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION) AS META_ESTRATEGICA,    \n        T2.NOMBRE AS AMBITO_ACCION_UNIVERSITARIA,\n        LISTAGG(T5.CODIGO ,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES_cod,\n        LISTAGG( T5.NOMBRE,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES\n        \n        \n        FROM PPI.META_PMP T1\n        INNER JOIN PPI.AMBITO_ACCION_UNIVERSITARIA T2 ON (T2.ID_AMBITO_ACCION_UNIVERSITARIA = T1.AMBITO_ACCION_UNIVERSITARIA)\n        INNER JOIN PPI.ACCION_ESTRATEGICA T3 ON (T3.META_PMP = T1.ID_META_PMP)        \n        INNER JOIN PPI.PLAN_ACCION_ESTRATEGICA T4 ON (T4.ID_PLAN_ACCION_ESTRATEGICA = T3.PLAN_ACCION_ESTRATEGICA) \n        INNER JOIN EPF.UNIDAD_EJECUTORA T5 ON (T5.ID_UNIDAD_EJECUTORA = T4.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ENCARGADO_MONITOREO T6 ON (T6.ID_ENCARGADO_MONITOREO = T1.ENCARGADO_MONITOREO)\n        INNER JOIN EPF.UNIDAD_EJECUTORA T7 ON (T7.ID_UNIDAD_EJECUTORA = T6.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ETAPA_PLAN T8 ON (T8.ID_ETAPA_PLAN = T4.ETAPA_PLAN)\n        INNER JOIN EPF.PERIODO_ANUAL T10 ON (T10.ID_PERIODO_ANUAL = T8.PERIODO_ANUAL)\n        INNER JOIN PPI.TIPO_ETAPA T11 ON (T11.ID_TIPO_ETAPA = T8.TIPO_ETAPA)\n        \n        WHERE \n        \n                -- PARAMETRO:ENCARGADO_MONITOREO       \n                (T6.UNIDAD_EJECUTORA =  $P{encargadoMonitoreo} )\n            AND \n                -- PARAMETRO: ETAPA_PLAN\n                (T4.ETAPA_PLAN = \n                                (SELECT \n                                        T9.ID_ETAPA_PLAN \n                                FROM ETAPA_PLAN T9\n                                WHERE \n                                        T9.PERIODO_ANUAL =  $P{periodoAnual} \n                                    AND T9.TIPO_ETAPA = $P{tipoEtapa} \n                                    AND T9.TIPO_PLAN = (\n                                                SELECT \n                                                    VALOR \n                                                FROM SAS.PARAMETRO\n                                                WHERE LLAVE = 'param_ppi_ppe_tipoPlan_PXE'))\n                )  \n            AND \n                -- CONDICI\u00d3N: PPI.ENCARGADO_MONITOREO.ACTIVO=1\n                (T6.ACTIVO = 1)  \n            AND \n                -- CONDICI\u00d3N: PPI.PLAN_ACCION_ESTRATEGICA.ACTIVO=1\n                (T4.ACTIVO = 1)\n        GROUP BY \n                T10.ANO,\n                T11.NOMBRE,\n                T7.CODIGO, \n                T7.NOMBRE, \n                T8.NOMBRE, \n                TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION), \n                T2.NOMBRE]]&gt;\n\t&lt;\/queryString&gt;\n\t&lt;field name=\"PERIODO_ANUAL\" class=\"java.math.BigDecimal\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"PERIODO_ANUAL\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"PERIODO_ANUAL\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;field name=\"TIPO_ETAPA\" class=\"java.lang.String\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"TIPO_ETAPA\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"TIPO_ETAPA\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;field name=\"ENCARGADO_NONITOREO_CODIGO\" class=\"java.lang.String\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"ENCARGADO_NONITOREO_CODIGO\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"ENCARGADO_NONITOREO_CODIGO\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;field name=\"ENCARGADO_NONITOREO_NOMBRE\" class=\"java.lang.String\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"ENCARGADO_NONITOREO_NOMBRE\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"ENCARGADO_NONITOREO_NOMBRE\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;field name=\"ETAPA\" class=\"java.lang.String\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"ETAPA\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"ETAPA\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;field name=\"META_ESTRATEGICA\" class=\"java.lang.String\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"META_ESTRATEGICA\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"META_ESTRATEGICA\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;field name=\"AMBITO_ACCION_UNIVERSITARIA\" class=\"java.lang.String\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"AMBITO_ACCION_UNIVERSITARIA\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"AMBITO_ACCION_UNIVERSITARIA\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;field name=\"RESPONSABLES_COD\" class=\"java.lang.String\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"RESPONSABLES_COD\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"RESPONSABLES_COD\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;field name=\"RESPONSABLES\" class=\"java.lang.String\"&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.name\" value=\"RESPONSABLES\"\/&gt;\n\t\t&lt;property name=\"com.jaspersoft.studio.field.label\" value=\"RESPONSABLES\"\/&gt;\n\t&lt;\/field&gt;\n\t&lt;group name=\"METAS\"&gt;\n\t\t&lt;groupExpression&gt;&lt;!&#91;CDATA&#91;$F{META_ESTRATEGICA}]]&gt;&lt;\/groupExpression&gt;\n\t\t&lt;groupHeader&gt;\n\t\t\t&lt;band height=\"64\"&gt;\n\t\t\t\t&lt;staticText&gt;\n\t\t\t\t\t&lt;reportElement x=\"0\" y=\"6\" width=\"200\" height=\"12\" uuid=\"8d4bb611-d497-4baa-a578-f774f2105a3b\"&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;Meta Estrat\u00e9gica:]]&gt;&lt;\/text&gt;\n\t\t\t\t&lt;\/staticText&gt;\n\t\t\t\t&lt;textField&gt;\n\t\t\t\t\t&lt;reportElement x=\"200\" y=\"6\" width=\"592\" height=\"34\" uuid=\"070d890b-19ed-43b9-8191-259cf077252e\"&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;$F{META_ESTRATEGICA}]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t\t&lt;\/textField&gt;\n\t\t\t\t&lt;staticText&gt;\n\t\t\t\t\t&lt;reportElement x=\"0\" y=\"40\" width=\"200\" height=\"12\" uuid=\"3ec019ae-8c39-4539-8ba2-dc2a4be4a9ab\"&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;\u00c1mbito de Acci\u00f3n Universitaria:]]&gt;&lt;\/text&gt;\n\t\t\t\t&lt;\/staticText&gt;\n\t\t\t\t&lt;textField&gt;\n\t\t\t\t\t&lt;reportElement x=\"200\" y=\"40\" width=\"592\" height=\"12\" uuid=\"c0770fb3-b827-4dd1-909b-f19fe7379641\"&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;$F{AMBITO_ACCION_UNIVERSITARIA}]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t\t&lt;\/textField&gt;\n\t\t\t\t&lt;staticText&gt;\n\t\t\t\t\t&lt;reportElement x=\"0\" y=\"52\" width=\"200\" height=\"12\" uuid=\"0ab534bc-987c-4912-982e-0a68a666c7c7\"&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.y\" value=\"pixel\"\/&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;C\u00f3digos de Responsables:]]&gt;&lt;\/text&gt;\n\t\t\t\t&lt;\/staticText&gt;\n\t\t\t\t&lt;staticText&gt;\n\t\t\t\t\t&lt;reportElement x=\"200\" y=\"52\" width=\"592\" height=\"12\" uuid=\"3eaafcaa-23c0-41bf-ab37-e1c4ae1ea82a\"&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t\t&lt;textElement textAlignment=\"Left\"&gt;\n\t\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;Responsables:]]&gt;&lt;\/text&gt;\n\t\t\t\t&lt;\/staticText&gt;\n\t\t\t\t&lt;line&gt;\n\t\t\t\t\t&lt;reportElement x=\"0\" y=\"5\" width=\"792\" height=\"1\" uuid=\"d242e07c-172d-43bd-a639-3fbd20da7b5a\"&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t\t&lt;graphicElement&gt;\n\t\t\t\t\t\t&lt;pen lineColor=\"#CCCCCC\"\/&gt;\n\t\t\t\t\t&lt;\/graphicElement&gt;\n\t\t\t\t&lt;\/line&gt;\n\t\t\t&lt;\/band&gt;\n\t\t&lt;\/groupHeader&gt;\n\t\t&lt;groupFooter&gt;\n\t\t\t&lt;band\/&gt;\n\t\t&lt;\/groupFooter&gt;\n\t&lt;\/group&gt;\n\t&lt;background&gt;\n\t\t&lt;band splitType=\"Stretch\"\/&gt;\n\t&lt;\/background&gt;\n\t&lt;title&gt;\n\t\t&lt;band height=\"107\" splitType=\"Stretch\"&gt;\n\t\t\t&lt;staticText&gt;\n\t\t\t\t&lt;reportElement x=\"0\" y=\"0\" width=\"792\" height=\"12\" uuid=\"bd45c4c8-d81a-4dfc-85d7-64e406f20b84\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement textAlignment=\"Center\" verticalAlignment=\"Middle\"&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;UNIVERSIDAD NACIONAL]]&gt;&lt;\/text&gt;\n\t\t\t&lt;\/staticText&gt;\n\t\t\t&lt;staticText&gt;\n\t\t\t\t&lt;reportElement x=\"0\" y=\"12\" width=\"792\" height=\"12\" uuid=\"32d9721b-a334-4893-b1a4-f5d124ffec27\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement textAlignment=\"Center\" verticalAlignment=\"Middle\"&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;\u00c1REA DE PLANIFICACI\u00d3N]]&gt;&lt;\/text&gt;\n\t\t\t&lt;\/staticText&gt;\n\t\t\t&lt;staticText&gt;\n\t\t\t\t&lt;reportElement x=\"0\" y=\"24\" width=\"792\" height=\"12\" uuid=\"910be7fc-e1ad-4976-bf26-239616baa7e9\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement textAlignment=\"Center\" verticalAlignment=\"Middle\"&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;REPORTE METAS ESTRAT\u00c9GICAS POR ENCARGADO DE MONITOREO]]&gt;&lt;\/text&gt;\n\t\t\t&lt;\/staticText&gt;\n\t\t\t&lt;staticText&gt;\n\t\t\t\t&lt;reportElement x=\"360\" y=\"36\" width=\"80\" height=\"14\" uuid=\"3fcf71fb-ed79-4381-891b-31e2a26cb306\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement textAlignment=\"Center\"&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;SIGESA-PPI]]&gt;&lt;\/text&gt;\n\t\t\t&lt;\/staticText&gt;\n\t\t\t&lt;textField pattern=\"dd\/MM\/yyyy\"&gt;\n\t\t\t\t&lt;reportElement x=\"0\" y=\"50\" width=\"200\" height=\"12\" uuid=\"1033ab71-bd80-4b63-a768-5c8b2b4bb6a5\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;new java.util.Date()]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t&lt;\/textField&gt;\n\t\t\t&lt;textField&gt;\n\t\t\t\t&lt;reportElement x=\"200\" y=\"95\" width=\"592\" height=\"12\" uuid=\"fff7867d-4621-4e0e-b9eb-d8d565649258\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;$F{ENCARGADO_NONITOREO_CODIGO}+ \" \" +$F{ENCARGADO_NONITOREO_NOMBRE}]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t&lt;\/textField&gt;\n\t\t\t&lt;staticText&gt;\n\t\t\t\t&lt;reportElement x=\"0\" y=\"95\" width=\"200\" height=\"12\" uuid=\"7b465201-07f2-4e7f-89e5-d5d8043745ca\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;Encargado de Monitoreo:]]&gt;&lt;\/text&gt;\n\t\t\t&lt;\/staticText&gt;\n\t\t\t&lt;staticText&gt;\n\t\t\t\t&lt;reportElement x=\"0\" y=\"71\" width=\"200\" height=\"12\" uuid=\"d4e2250d-d314-4313-b188-90cc04cf2e72\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;Perido Anual:]]&gt;&lt;\/text&gt;\n\t\t\t&lt;\/staticText&gt;\n\t\t\t&lt;textField&gt;\n\t\t\t\t&lt;reportElement x=\"200\" y=\"71\" width=\"592\" height=\"12\" uuid=\"2e164a3e-373b-456f-895c-70867e356dc2\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;$F{PERIODO_ANUAL}]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t&lt;\/textField&gt;\n\t\t\t&lt;textField&gt;\n\t\t\t\t&lt;reportElement x=\"200\" y=\"50\" width=\"592\" height=\"12\" uuid=\"e9a1193b-a423-4649-8150-55a819bf3d26\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement textAlignment=\"Right\"&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;\"P\u00e1gina \" + $V{PAGE_NUMBER} + \" de \" +$V{PAGE_COUNT}]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t&lt;\/textField&gt;\n\t\t\t&lt;textField&gt;\n\t\t\t\t&lt;reportElement x=\"200\" y=\"83\" width=\"592\" height=\"12\" uuid=\"e7b635ae-c860-40ae-981e-b3e1a28a8f7a\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;$F{TIPO_ETAPA}]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t&lt;\/textField&gt;\n\t\t\t&lt;staticText&gt;\n\t\t\t\t&lt;reportElement x=\"0\" y=\"83\" width=\"200\" height=\"12\" uuid=\"1ea924b1-18b4-4d1f-a698-e82fbd48353d\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.width\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\" isBold=\"true\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;text&gt;&lt;!&#91;CDATA&#91;Tipo Etapa:]]&gt;&lt;\/text&gt;\n\t\t\t&lt;\/staticText&gt;\n\t\t&lt;\/band&gt;\n\t&lt;\/title&gt;\n\t&lt;detail&gt;\n\t\t&lt;band height=\"30\" splitType=\"Immediate\"&gt;\n\t\t\t&lt;property name=\"com.jaspersoft.studio.layout\" value=\"com.jaspersoft.studio.editor.layout.FreeLayout\"\/&gt;\n\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t&lt;textField isStretchWithOverflow=\"true\"&gt;\n\t\t\t\t&lt;reportElement x=\"0\" y=\"0\" width=\"200\" height=\"30\" uuid=\"10444560-e9db-4129-b67c-172cfeab2b53\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;$F{RESPONSABLES_COD}]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t&lt;\/textField&gt;\n\t\t\t&lt;textField isStretchWithOverflow=\"true\"&gt;\n\t\t\t\t&lt;reportElement x=\"200\" y=\"0\" width=\"592\" height=\"30\" uuid=\"d297a0d6-4471-4d3a-87f0-b1ac2ff3d751\"&gt;\n\t\t\t\t\t&lt;property name=\"com.jaspersoft.studio.unit.height\" value=\"px\"\/&gt;\n\t\t\t\t&lt;\/reportElement&gt;\n\t\t\t\t&lt;textElement&gt;\n\t\t\t\t\t&lt;font fontName=\"DejaVu Sans\"\/&gt;\n\t\t\t\t&lt;\/textElement&gt;\n\t\t\t\t&lt;textFieldExpression&gt;&lt;!&#91;CDATA&#91;$F{RESPONSABLES}]]&gt;&lt;\/textFieldExpression&gt;\n\t\t\t&lt;\/textField&gt;\n\t\t&lt;\/band&gt;\n\t&lt;\/detail&gt;\n&lt;\/jasperReport&gt;\n<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lo puede descargar desde <a href=\"\/wp-content\/uploads\/2022\/11\/R-PPI-PPE-METPORENCMON.zip\">aqu\u00ed<\/a><\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Prueba del reporte<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora vamos a incluir este reporte dentro de SIGESA para probar su funcionamiento<\/li>\n\n\n\n<li>para esto<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Agregar los archivos al proyecto<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como estamos trabajando con jasperStudio en local y los archivos de SIGESA se encuentran en la MV debemos conectarnos por ssh y pegar los archivos en la ruta, si no existe la ruta la debemos crear<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"184\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_134-1024x184.png\" alt=\"\" class=\"wp-image-13623\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_134-1024x184.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_134-300x54.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_134-768x138.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_134.png 1091w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>sigesa-ppi-ppe-&gt;sigesa-ppi-ppe-web-&gt;src-&gt;main-&gt;resources-&gt;META-INF-&gt;resources-&gt;reports<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"406\" height=\"308\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_222.png\" alt=\"\" class=\"wp-image-13798\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_222.png 406w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_222-300x228.png 300w\" sizes=\"(max-width: 406px) 100vw, 406px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y antes de pasar los archivos debemos compilarlo<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"325\" height=\"180\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_387.png\" alt=\"\" class=\"wp-image-13090\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_387.png 325w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_387-300x166.png 300w\" sizes=\"(max-width: 325px) 100vw, 325px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pasamos los archivos tanto el archivo .jasper como jrxml<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"442\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_386-1024x442.png\" alt=\"\" class=\"wp-image-13088\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_386-1024x442.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_386-300x129.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_386-768x331.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_386-1536x663.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_386.png 1648w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora para probar los reportes de forma local en la MV debemos crear una carpeta de nombre \u201creportes\u201d en \u201c\/\u201d<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh cgi@10.0.100.30\nsudo mkdir \/reportes\nsudo chmod 777 -R \/reportes\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y debemos pegar los reportes ahi tambien<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"162\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_391-1024x162.png\" alt=\"\" class=\"wp-image-13093\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_391-1024x162.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_391-300x48.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_391-768x122.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_391-1536x243.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_391.png 1735w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Desplegar Reporte en SIGESA<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Luego debemos registrar el nuevo reporte dentro del sistema<\/li>\n\n\n\n<li>ingresamos a:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Lista de Reportes<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"380\" height=\"463\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_388.png\" alt=\"\" class=\"wp-image-13095\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_388.png 380w, https:\/\/sada.services\/wp-content\/uploads\/2022\/10\/Seleccion_388-246x300.png 246w\" sizes=\"(max-width: 380px) 100vw, 380px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Completamos:<\/li>\n\n\n\n<li>NOTA: los nombre son de 3 digitos debia ser R-PPI-PPE-METPORENCMON<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"815\" height=\"669\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_137.png\" alt=\"\" class=\"wp-image-13627\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_137.png 815w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_137-300x246.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_137-768x630.png 768w\" sizes=\"(max-width: 815px) 100vw, 815px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Luego debemos reportar el recurso<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Lista de Recursos<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"296\" height=\"253\" src=\"\/wp-content\/uploads\/2022\/10\/Seleccion_393.png\" alt=\"\" class=\"wp-image-13098\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nuevo, pero aqupi debemos registrarlo de la siguiente forma<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/pages\/reporteJobLauncher.xhtml?reporte=R-PPI-PPE-METPORENCMON<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"841\" height=\"781\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_138.png\" alt=\"\" class=\"wp-image-13628\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_138.png 841w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_138-300x279.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_138-768x713.png 768w\" sizes=\"(max-width: 841px) 100vw, 841px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y le debemos asiganar un rol, para PPI UNA_PPI_ADMIN<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"823\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_139.png\" alt=\"\" class=\"wp-image-13629\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_139.png 669w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_139-244x300.png 244w\" sizes=\"(max-width: 669px) 100vw, 669px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"792\" height=\"519\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_140.png\" alt=\"\" class=\"wp-image-13632\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_140.png 792w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_140-300x197.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_140-768x503.png 768w\" sizes=\"(max-width: 792px) 100vw, 792px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora debemos registrar el recurso en lista de menu<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Lista de Men\u00fa<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos el men\u00fa<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"689\" height=\"749\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_141.png\" alt=\"\" class=\"wp-image-13634\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_141.png 689w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_141-276x300.png 276w\" sizes=\"(max-width: 689px) 100vw, 689px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y con esto ya podremos probar su funcionamiento<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"610\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_152-1024x610.png\" alt=\"\" class=\"wp-image-13656\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_152-1024x610.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_152-300x179.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_152-768x458.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_152.png 1238w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Parametros<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora en el reporte vamos a crear el parametro de Encargado de Monitoreo<\/li>\n\n\n\n<li>Para esto dentro de Jasper Studio en el men\u00fa de Outline-&gt;Parameters-&gt;Create Parameter<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"439\" height=\"326\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_153.png\" alt=\"\" class=\"wp-image-13660\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_153.png 439w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_153-300x223.png 300w\" sizes=\"(max-width: 439px) 100vw, 439px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"239\" height=\"200\" src=\"\/wp-content\/uploads\/2022\/11\/Menu_154.png\" alt=\"\" class=\"wp-image-13661\"\/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creamos el parametro de ENCARGADO_MONITOREO con las siguientes propiedades:\n<ul class=\"wp-block-list\">\n<li>Nombre: sin raya baja \u00fa otro caracter<\/li>\n\n\n\n<li>Class: Por ser llave java.lang.Long sino java.lang.String<\/li>\n\n\n\n<li>Descripci\u00f3n: descrpcion del parametro (Par\u00e1metro Id de Unidad Ejecutora Encargada de Monitoreo)<\/li>\n\n\n\n<li><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"455\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_199-1024x455.png\" alt=\"\" class=\"wp-image-13728\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_199-1024x455.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_199-300x133.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_199-768x341.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_199-1536x682.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_199.png 1910w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora debemos crear dos m\u00e9todos un para el autocomplete y otro para el LOV<\/li>\n\n\n\n<li>Hora para explicar mejor:\n<ul class=\"wp-block-list\">\n<li>Dentro de la tabla ENCARGADO_MONITOREO existe una relaci\u00f3n a UNIDAD_EJECUTORA<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"973\" height=\"470\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_177.png\" alt=\"\" class=\"wp-image-13699\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_177.png 973w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_177-300x145.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_177-768x371.png 768w\" sizes=\"(max-width: 973px) 100vw, 973px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Por tanto para crear en los parametros del reporte un autocomplete que muestre solo las UNIDAD_EJECUTORA que existen en la tabla ENCARGADO_MONITOREO y que esten activos<\/li>\n\n\n\n<li>Y como nota adicional como debemos mostrar en el autocomplete las UNIDADDES_EJECUTORAS, en los parametros debemos utilizar esta entidad que pertenece a EPF, por tanto aqu\u00ed la modificaci\u00f3n debe ser m\u00ednima<\/li>\n\n\n\n<li>Por tanto, para ENCARGADOS_MONITOREO\n<ul class=\"wp-block-list\">\n<li>Debemos crear un m\u00e9todo que me devuelva los EM que est\u00e9n activos<\/li>\n\n\n\n<li>Y luego otra funci\u00f3n que obtenga los EM activos y recorra la lista y obtenga los id de UNIDAD_EJECUTORA<\/li>\n\n\n\n<li>Para que luego una metodo de UNIDAD_EJECUTORA obtenga esta lista y solo presente estas unidades<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">EncargadoMonitoreoRepository.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lo primero que hacemos es crear una funci\u00f3n que nos devuelva una lista de EncargadosMonitoreo que tengan en su activo = true<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que retorna un List&lt;EncargadoMonitoreo&gt; de todos los Encargado de Monitoreo donde activo = 1\n     * \n     * @param activo : 1 = activo \/ 0 = inactivo\n     * @param query : codigo digitado por el usuario\n     * @author: Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 08\/11\/2022\n     * @fechaModificacion: 08\/11\/2022\n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public List &lt;EncargadoMonitoreo&gt; findAllByActivo(Boolean activo);\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">EncargadoMonitoreoService.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Debemos tambien en el service declarar la funci\u00f3n que va obtener la lista de encargadosMonitoreo donde activo = 1<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que retorna un List&lt;EncargadoMonitoreo&gt; de todos los Encargado de Monitoreo donde activo = 1\n     * \n     * @param activo : 1 = activo \/ 0 = inactivo\n     * @author: Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 08\/11\/2022\n     * @fechaModificacion: 08\/11\/2022\n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public List &lt;EncargadoMonitoreo&gt; findAllByActivo(Boolean activo);\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pero no solo requerimos obtener la lista de los EM, sino mas bien una lista de los ID de las Unidades Ejecutoras que existen dentro de EM<\/li>\n\n\n\n<li>Por esta raz\u00f3n creamos una funci\u00f3n adicional que va realizar esta tarea<\/li>\n\n\n\n<li>Agregamos entonces la definici\u00f3n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/**\n     *\n     * * Definici\u00f3n que retorna un List&lt;Long&gt; de Id's de Unidad Ejecutora, donde:\n     * * los Id's existan en Encargado de Monitoreo\n     * * Y si activo = 1\n     *  \n     * @author: Gustavo Matamoros g.\n     * @version: 1.0.0\n     * @fechaCreacion: 08\/11\/2022\n     * @fechaModificacion: 08\/11\/2022 \n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    \/**********************************************************************\/\n    public List&lt;Long&gt; getIdsUnidadesEjecutorasEncargadoMonitoreoActivo();\n\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/<\/code><\/pre>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">EncargadoMonitoreoServiceImpl.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahorta vamos a crear la sobreescritura de los m\u00e9todos<\/li>\n\n\n\n<li>Primero la findAllByActivo, que practicamente le vamos a decir que busque los \u00abtrue\u00bb<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/**\n     * Ver {@link EncargadoMonitoreoService#findAllByActivo( java.lang.Boolean) }\n     * Definici\u00f3n que retorna un List&lt;EncargadoMonitoreo&gt; de todos los Encargado de Monitoreo donde activo = 1\n     * \n     * @param activo : 1 = activo \/ 0 = inactivo\n     * @author: Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 08\/11\/2022\n     * @fechaModificacion: 08\/11\/2022\n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    @Override\n    public List &lt;EncargadoMonitoreo&gt; findAllByActivo(Boolean activo){\n\n        \/\/ retornamos los true (activo=1)\n        return repository.findAllByActivo(Boolean.TRUE);\n    }\n\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/\n    \/********************************************************************************************************\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y la funci\u00f3n \u00abgetIdsUnidadesEjecutorasEncargadoMonitoreoActivo\u00bb<\/li>\n\n\n\n<li>Que va obtener todos los Encargados de Monitoreo donde EM.Activo == 1<\/li>\n\n\n\n<li>Luego va aconstruir una list de id de UE<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Ver {@link EncargadoMonitoreoService#getIdsUnidadesEjecutorasEncargadoMonitoreoActivo( ) }\n     *\n     * * M\u00e9todo que retorna un List&lt;Long&gt; de Id's de Unidad Ejecutora, donde:\n     * * los Id's existan en Encargado de Monitoreo\n     * * Y si activo = 1\n     *  \n     * @author: Gustavo Matamoros g.\n     * @version: 1.0.0\n     * @fechaCreacion: 08\/11\/2022\n     * @fechaModificacion: 08\/11\/2022 \n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    \/**********************************************************************\/\n    @Override\n\n    public List&lt;Long&gt; getIdsUnidadesEjecutorasEncargadoMonitoreoActivo() {\n    \n        \/\/ Se crea una lista de Long's para almacenar los Id's de las Unidades Ejecutoras\n        List &lt;Long&gt; unidadesEjecutorasIds = new ArrayList&lt;&gt;();\n        \n        \/\/ Obtenemos todos los encargados de monitoreo que est\u00e1n activos (activo=1)\n        List &lt;EncargadoMonitoreo&gt; encargadoMonitoreoActivos = repository.findAllByActivo(Boolean.TRUE);\n\n        \/\/ Recorremos la lista de encargados de Monitoreo, obtenemos el Id de de la Unidad Ejecutora y lo agregamos a la lista\n        for (EncargadoMonitoreo encargadoMonitoreo : encargadoMonitoreoActivos) {\n            unidadesEjecutorasIds.add(encargadoMonitoreo.getUnidadEjecutora().getId()); \n        }\n        \n\n        \/\/ Retornamos la lista\n        return unidadesEjecutorasIds;\n        \n    }\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">EPF: Unidad Ejecutora<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora dentro del proyecto EPF, se encuentran los archivos de administraci\u00f3n de UNIDAD_EJECUTORA<\/li>\n\n\n\n<li>Como es un proyecto de EPF y no PPI, solo debemos hacer cambios m\u00ednimos que ser\u00edan una funci\u00f3n que se encargue de:\n<ul class=\"wp-block-list\">\n<li>autocomplete: findAutoCompleteUnidadEjecutoraEncargadoMonitoreoActivo<\/li>\n\n\n\n<li>LOV: findAutoCompleteUnidadEjecutoraEncargadoMonitoreoActivoLOV<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Adem\u00e1s ya dentro de UnidadEjecutoraServiceImpl.java existe una funci\u00f3n \u00abfindAllDistinctByIdIn\u00bb que recibe la consulta (query) List &lt;Long&gt; de ID_UNIDADES_EJECUTORAS, pageable que va recibir la lista de id de UE que deseamos mostrar, facilitando la tarea<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">UnidadEjecutoraService.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creamos la definici\u00f3n para el autocomplete<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un Page&lt;UnidadEjecutora&gt; de Unidades Ejecutoras de acuerdo los Encargados de Monitoreo para autocomplete\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param query: consulta del usuario\n     * @param acl: paramatero de ACL\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 07\/11\/2022\n     * @fechaModificacion: 08\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n\n    public Page&lt;UnidadEjecutora&gt; findAutoCompleteUnidadEjecutoraEncargadoMonitoreoActivo(\n        ArrayList&lt;FilterSpecification&gt; filterSpecifications,  \n        String query, \n        String acl,\n        Pageable pageable);<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y la definici\u00f3n para el LOV, que hacen lo mismo pero varian los par\u00e9metros<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un Page&lt;UnidadEjecutora&gt; de Unidades Ejecutoras de acuerdo los Encargados de Monitoreo para LOV\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @param params: parametros\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 07\/11\/2022\n     * @fechaModificacion: 08\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public Page&lt;UnidadEjecutora&gt; findAutoCompleteUnidadEjecutoraEncargadoMonitoreoActivoLOV(\n        ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n        Pageable pageable, \n        Map&lt;String,Object&gt; params);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">UnidadEjecutoraServiceImpl.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creamos la funci\u00f3n de autocomplete<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * M\u00e9todo que devuelve un Page&lt;UnidadEjecutora&gt; de Unidades Ejecutoras de acuerdo los Encargados de Monitoreo para autocomplete\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param query: consulta del usuario\n     * @param acl: paramatero de ACL\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 07\/11\/2022\n     * @fechaModificacion: 08\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    @Override\n    public Page&lt;UnidadEjecutora&gt; findAutoCompleteUnidadEjecutoraEncargadoMonitoreoActivo(\n            ArrayList&lt;FilterSpecification&gt; filterSpecifications,  \n            String query, \n            String acl,\n            Pageable pageable) {\n        \n        \/\/ Obtenemos la lista de UE a mostrar        \n        List&lt;Long&gt; unidadesEjecutorasId = encargadoMonitoreoService.getIdsUnidadesEjecutorasEncargadoMonitoreoActivo();\n\n        \/\/Retornamos la lista de unidades ejecutoras\n        return findAllDistinctByIdIn(query, unidadesEjecutorasId, pageable);\n    }<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Creamos la funci\u00f3n del LOV<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * M\u00e9todo que devuelve un Page&lt;UnidadEjecutora&gt; de Unidades Ejecutoras de acuerdo los Encargados de Monitoreo para LOV\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @param params: parametros\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 07\/11\/2022\n     * @fechaModificacion: 08\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    @Override\n    public Page&lt;UnidadEjecutora&gt; findAutoCompleteUnidadEjecutoraEncargadoMonitoreoActivoLOV(\n                                                ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                                                Pageable pageable, \n                                                Map&lt;String, Object&gt; params) {\n\n        \/\/ Le pasamos los filterSpecifications\n        this.setFilterSpecifications(filterSpecifications);\n\n        \/\/ Obtenemos la lista de UE a mostrar\n        List&lt;Long&gt; unidadesEjecutorasId = encargadoMonitoreoService.getIdsUnidadesEjecutorasEncargadoMonitoreoActivo();\n\n   \n        \/\/Retornamos la lista de las unidades ejecutoras                                      \n        return findAllDistinctByIdIn(\"\", unidadesEjecutorasId, pageable);\n       \n    }<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">SIGESA<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora debemos configurar el parametro<\/li>\n\n\n\n<li>Vamos a ir a SIGESA a<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Lista de Reportes<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"440\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_159-1024x440.png\" alt=\"\" class=\"wp-image-13666\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_159-1024x440.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_159-300x129.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_159-768x330.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_159-1536x660.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_159.png 1739w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y en la secci\u00f3n de parametros le damos agregar uno<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"485\" height=\"700\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_160.png\" alt=\"\" class=\"wp-image-13667\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_160.png 485w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_160-208x300.png 208w\" sizes=\"(max-width: 485px) 100vw, 485px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y le agregamos los siguientes datos<\/li>\n\n\n\n<li>IMPORTANTE: Para campos autocomplete debe seleccionar tipo: Objeto<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"759\" height=\"608\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_200.png\" alt=\"\" class=\"wp-image-13729\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_200.png 759w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_200-300x240.png 300w\" sizes=\"(max-width: 759px) 100vw, 759px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora de damos agregar<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"505\" height=\"201\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_201.png\" alt=\"\" class=\"wp-image-13730\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_201.png 505w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_201-300x119.png 300w\" sizes=\"(max-width: 505px) 100vw, 505px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nos indica que se ha agregado correctamente pero que no se ha guardado en la BD<\/li>\n\n\n\n<li>Ahora si selecionamos tipo:Objeto no aparece un nuevo bot\u00f3n que nos permite configurar el autocomplete<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"545\" height=\"213\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_202.png\" alt=\"\" class=\"wp-image-13731\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_202.png 545w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_202-300x117.png 300w\" sizes=\"(max-width: 545px) 100vw, 545px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y le agregamos la clase que deseamos trabajar <\/li>\n\n\n\n<li>Si la clase que vamos a trabajar no se encuentra registrada dentro de SIGESA<\/li>\n\n\n\n<li>Primero vamos a SAS-&gt;SAS-&gt;SAS &#8211; Mantenimiento-&gt;Lista de Entidades<\/li>\n\n\n\n<li>Y le damo nuevo<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Lista de Entidades<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"560\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_170-1024x560.png\" alt=\"\" class=\"wp-image-13678\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_170-1024x560.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_170-300x164.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_170-768x420.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_170.png 1345w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Reportamos la clase\n<ul class=\"wp-block-list\">\n<li>Nombre: Nombre de la BD de la tabla<\/li>\n\n\n\n<li>Clase Mapeada: ubicaci\u00f3n de la clase<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"690\" height=\"359\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_171.png\" alt=\"\" class=\"wp-image-13679\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_171.png 690w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_171-300x156.png 300w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora podemos regresar al reporte<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>Lista de Reportes<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seleccionamos el reporte a trabajar<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"224\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_173-1024x224.png\" alt=\"\" class=\"wp-image-13681\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_173-1024x224.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_173-300x66.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_173-768x168.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_173-1536x336.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_173.png 1766w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ingresamos al parametro<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"467\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_174-1024x467.png\" alt=\"\" class=\"wp-image-13682\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_174-1024x467.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_174-300x137.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_174-768x350.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_174-1536x700.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_174.png 1859w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Configuramos el parametro<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"545\" height=\"213\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_202-1.png\" alt=\"\" class=\"wp-image-13732\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_202-1.png 545w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_202-1-300x117.png 300w\" sizes=\"(max-width: 545px) 100vw, 545px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Le asignamos los valores\n<ul class=\"wp-block-list\">\n<li>Clase Mapeada: clase que va atender el autocomplete<\/li>\n\n\n\n<li>Propiedad objeto: campo por el que se va hacer la busqueda<\/li>\n\n\n\n<li>M\u00e9todo filtrado: este es opcional y es para el autocomplete\n<ul class=\"wp-block-list\">\n<li>Si no se pone nada va hacer una findAll<\/li>\n\n\n\n<li>Y si es un m\u00e9todo se debe poner aqu\u00ed <\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>T\u00edtulo del LOV Bean: t\u00edtulo que va a presentar en el LOV<\/li>\n\n\n\n<li>LOV Bean: LOV que se va encargar del manejo del la b\u00fasqueda<\/li>\n\n\n\n<li>M\u00e9todo filtrado LOV:  este es opcional y es para el LOV, su funcionalidad es igual que el de autocomplete pero sus parametros son diferentes\n<ul class=\"wp-block-list\">\n<li>Si no se pone nada va hacer una findAll<\/li>\n\n\n\n<li>Y si es un m\u00e9todo se debe poner aqu\u00ed <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"966\" height=\"649\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_178.png\" alt=\"\" class=\"wp-image-13705\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_178.png 966w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_178-300x202.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_178-768x516.png 768w\" sizes=\"(max-width: 966px) 100vw, 966px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Luego de esto guardamos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"328\" height=\"155\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_179.png\" alt=\"\" class=\"wp-image-13706\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_179.png 328w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_179-300x142.png 300w\" sizes=\"(max-width: 328px) 100vw, 328px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y ahora debemos regresar <\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"389\" height=\"195\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_180.png\" alt=\"\" class=\"wp-image-13707\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_180.png 389w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_180-300x150.png 300w\" sizes=\"(max-width: 389px) 100vw, 389px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y volver a ingresar a la edici\u00f3n del parametro<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"429\" height=\"191\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_181.png\" alt=\"\" class=\"wp-image-13708\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_181.png 429w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_181-300x134.png 300w\" sizes=\"(max-width: 429px) 100vw, 429px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y asegurarmos que en la secci\u00f3n de avanzado haya reconocido\n<ul class=\"wp-block-list\">\n<li>Nombre bean<\/li>\n\n\n\n<li>Servicio clase<\/li>\n\n\n\n<li>Converter Bean<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Y si no asignarlos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"610\" height=\"704\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_182.png\" alt=\"\" class=\"wp-image-13709\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_182.png 610w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_182-260x300.png 260w\" sizes=\"(max-width: 610px) 100vw, 610px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li><\/li>\n\n\n\n<li>Guardamos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"302\" height=\"160\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_183.png\" alt=\"\" class=\"wp-image-13710\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_183.png 302w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_183-300x159.png 300w\" sizes=\"(max-width: 302px) 100vw, 302px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Regresamos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"355\" height=\"144\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_184.png\" alt=\"\" class=\"wp-image-13711\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_184.png 355w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_184-300x122.png 300w\" sizes=\"(max-width: 355px) 100vw, 355px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Guardamos los cambios<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"411\" height=\"141\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_185.png\" alt=\"\" class=\"wp-image-13712\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_185.png 411w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_185-300x103.png 300w\" sizes=\"(max-width: 411px) 100vw, 411px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y regresamos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"477\" height=\"175\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_203.png\" alt=\"\" class=\"wp-image-13733\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_203.png 477w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_203-300x110.png 300w\" sizes=\"(max-width: 477px) 100vw, 477px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y guardamos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"483\" height=\"240\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_187.png\" alt=\"\" class=\"wp-image-13715\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_187.png 483w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_187-300x149.png 300w\" sizes=\"(max-width: 483px) 100vw, 483px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"701\" height=\"224\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_188.png\" alt=\"\" class=\"wp-image-13716\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_188.png 701w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_188-300x96.png 300w\" sizes=\"(max-width: 701px) 100vw, 701px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ya podemos ir al reporte y consultar su funcionamiento<\/li>\n\n\n\n<li>Ingresamos al reporte y le damos a editar el parametro<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_190-1024x505.png\" alt=\"\" class=\"wp-image-13718\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_190-1024x505.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_190-300x148.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_190-768x379.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_190-1536x758.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_190.png 1719w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Aparece el autocomplete, probamos su funcionamiento<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"629\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_191-1024x629.png\" alt=\"\" class=\"wp-image-13720\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_191-1024x629.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_191-300x184.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_191-768x472.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_191.png 1259w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y el LOV<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"981\" height=\"717\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_192.png\" alt=\"\" class=\"wp-image-13721\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_192.png 981w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_192-300x219.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_192-768x561.png 768w\" sizes=\"(max-width: 981px) 100vw, 981px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Seleccionamos una opci\u00f3n y aceptamos su valor<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"566\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_193-1024x566.png\" alt=\"\" class=\"wp-image-13722\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_193-1024x566.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_193-300x166.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_193-768x424.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_193.png 1359w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y lanzamos el reporte<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"660\" height=\"375\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_194.png\" alt=\"\" class=\"wp-image-13723\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_194.png 660w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_194-300x170.png 300w\" sizes=\"(max-width: 660px) 100vw, 660px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Obtenemos el resultado<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"513\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_204-1024x513.png\" alt=\"\" class=\"wp-image-13734\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_204-1024x513.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_204-300x150.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_204-768x385.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_204.png 1151w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y si no tiene datos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"277\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_205-1024x277.png\" alt=\"\" class=\"wp-image-13735\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_205-1024x277.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_205-300x81.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_205-768x208.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_205.png 1161w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Notas: importentes prueba parametros en Jasper Studio<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>A continuaci\u00f3n vamos a trabajar los parametros de tipoEtapa y periodoAnual<\/li>\n<\/ul>\n\n\n\n<ul class=\"wp-block-list\">\n<li>NOTA:\n<ul class=\"wp-block-list\">\n<li>Pero como datos importantes<\/li>\n\n\n\n<li>Los parametros de SIGESA tipo llave son de tipo<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>java.lang.Long<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Quedando asi<\/li>\n<\/ul>\n\n\n\n<p>EncargadoMonitoreo<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"339\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_208-1024x339.png\" alt=\"\" class=\"wp-image-13739\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_208-1024x339.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_208-300x99.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_208-768x254.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_208-1536x509.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_208.png 1933w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<p>tipoEtapa<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"243\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_209-1024x243.png\" alt=\"\" class=\"wp-image-13740\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_209-1024x243.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_209-300x71.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_209-768x182.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_209-1536x365.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_209.png 1903w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>periodoAnual es long<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"235\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_210-1024x235.png\" alt=\"\" class=\"wp-image-13741\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_210-1024x235.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_210-300x69.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_210-768x176.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_210-1536x352.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_210.png 1884w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y el select se encuentra de la siguiente forma<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT \n\n        T10.ANO AS PERIODO_ANUAL, \n        T11.NOMBRE AS TIPO_ETAPA,\n        T7.CODIGO AS ENCARGADO_NONITOREO_CODIGO,\n        T7.NOMBRE AS ENCARGADO_NONITOREO_NOMBRE,\n        T8.NOMBRE AS ETAPA,\n        TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION) AS META_ESTRATEGICA,    \n        T2.NOMBRE AS AMBITO_ACCION_UNIVERSITARIA,\n        LISTAGG(T5.CODIGO ,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES_cod,\n        LISTAGG( T5.NOMBRE,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES\n        \n        \n        FROM PPI.META_PMP T1\n        INNER JOIN PPI.AMBITO_ACCION_UNIVERSITARIA T2 ON (T2.ID_AMBITO_ACCION_UNIVERSITARIA = T1.AMBITO_ACCION_UNIVERSITARIA)\n        INNER JOIN PPI.ACCION_ESTRATEGICA T3 ON (T3.META_PMP = T1.ID_META_PMP)        \n        INNER JOIN PPI.PLAN_ACCION_ESTRATEGICA T4 ON (T4.ID_PLAN_ACCION_ESTRATEGICA = T3.PLAN_ACCION_ESTRATEGICA) \n        INNER JOIN EPF.UNIDAD_EJECUTORA T5 ON (T5.ID_UNIDAD_EJECUTORA = T4.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ENCARGADO_MONITOREO T6 ON (T6.ID_ENCARGADO_MONITOREO = T1.ENCARGADO_MONITOREO)\n        INNER JOIN EPF.UNIDAD_EJECUTORA T7 ON (T7.ID_UNIDAD_EJECUTORA = T6.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ETAPA_PLAN T8 ON (T8.ID_ETAPA_PLAN = T4.ETAPA_PLAN)\n        INNER JOIN EPF.PERIODO_ANUAL T10 ON (T10.ID_PERIODO_ANUAL = T8.PERIODO_ANUAL)\n        INNER JOIN PPI.TIPO_ETAPA T11 ON (T11.ID_TIPO_ETAPA = T8.TIPO_ETAPA)\n        \n        WHERE \n        \n                -- PARAMETRO:ENCARGADO_MONITOREO       \n                (T6.UNIDAD_EJECUTORA = :encargadoMonitoreo)\n            AND \n                -- PARAMETRO: ETAPA_PLAN\n                (T4.ETAPA_PLAN = \n                                (SELECT \n                                        T9.ID_ETAPA_PLAN \n                                FROM ETAPA_PLAN T9\n                                WHERE \n                                        T9.PERIODO_ANUAL = :periodoAnual \n                                    AND T9.TIPO_ETAPA = : tipoEtapa \n                                    AND T9.TIPO_PLAN = (\n                                                SELECT \n                                                    VALOR \n                                                FROM SAS.PARAMETRO\n                                                WHERE LLAVE = 'param_ppi_ppe_tipoPlan_PXE'))\n                )  \n            AND \n                -- CONDICI\u00d3N: PPI.ENCARGADO_MONITOREO.ACTIVO=1\n                (T6.ACTIVO = 1)  \n            AND \n                -- CONDICI\u00d3N: PPI.PLAN_ACCION_ESTRATEGICA.ACTIVO=1\n                (T4.ACTIVO = 1)\n        GROUP BY \n                T10.ANO,\n                T11.NOMBRE,\n                T7.CODIGO, \n                T7.NOMBRE, \n                T8.NOMBRE, \n                TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION), \n                T2.NOMBRE;<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como vemos tenemos los parametros con \u00ab:\u00bb<\/li>\n\n\n\n<li>Entonces para poder utilizarlos en Jasper Studio<\/li>\n\n\n\n<li>En la secci\u00f3n de parametros podemos tomar uno y arrastrarlo y remplazar<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"421\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_211-1024x421.png\" alt=\"\" class=\"wp-image-13743\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_211-1024x421.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_211-300x123.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_211-768x316.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_211-1536x632.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_211.png 1691w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>y remplazar<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"465\" height=\"137\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_212.png\" alt=\"\" class=\"wp-image-13744\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_212.png 465w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_212-300x88.png 300w\" sizes=\"(max-width: 465px) 100vw, 465px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Hacemos lo mismo para los otros parametros<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"503\" height=\"149\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_213.png\" alt=\"\" class=\"wp-image-13746\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_213.png 503w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_213-300x89.png 300w\" sizes=\"(max-width: 503px) 100vw, 503px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Quedando as\u00ed:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>SELECT \n\n        T10.ANO AS PERIODO_ANUAL, \n        T11.NOMBRE AS TIPO_ETAPA,\n        T7.CODIGO AS ENCARGADO_NONITOREO_CODIGO,\n        T7.NOMBRE AS ENCARGADO_NONITOREO_NOMBRE,\n        T8.NOMBRE AS ETAPA,\n        TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION) AS META_ESTRATEGICA,    \n        T2.NOMBRE AS AMBITO_ACCION_UNIVERSITARIA,\n        LISTAGG(T5.CODIGO ,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES_cod,\n        LISTAGG( T5.NOMBRE,CHR(13))WITHIN GROUP(ORDER  BY T5.ID_UNIDAD_EJECUTORA) AS RESPONSABLES\n        \n        \n        FROM PPI.META_PMP T1\n        INNER JOIN PPI.AMBITO_ACCION_UNIVERSITARIA T2 ON (T2.ID_AMBITO_ACCION_UNIVERSITARIA = T1.AMBITO_ACCION_UNIVERSITARIA)\n        INNER JOIN PPI.ACCION_ESTRATEGICA T3 ON (T3.META_PMP = T1.ID_META_PMP)        \n        INNER JOIN PPI.PLAN_ACCION_ESTRATEGICA T4 ON (T4.ID_PLAN_ACCION_ESTRATEGICA = T3.PLAN_ACCION_ESTRATEGICA) \n        INNER JOIN EPF.UNIDAD_EJECUTORA T5 ON (T5.ID_UNIDAD_EJECUTORA = T4.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ENCARGADO_MONITOREO T6 ON (T6.ID_ENCARGADO_MONITOREO = T1.ENCARGADO_MONITOREO)\n        INNER JOIN EPF.UNIDAD_EJECUTORA T7 ON (T7.ID_UNIDAD_EJECUTORA = T6.UNIDAD_EJECUTORA)\n        INNER JOIN PPI.ETAPA_PLAN T8 ON (T8.ID_ETAPA_PLAN = T4.ETAPA_PLAN)\n        INNER JOIN EPF.PERIODO_ANUAL T10 ON (T10.ID_PERIODO_ANUAL = T8.PERIODO_ANUAL)\n        INNER JOIN PPI.TIPO_ETAPA T11 ON (T11.ID_TIPO_ETAPA = T8.TIPO_ETAPA)\n        \n        WHERE \n        \n                -- PARAMETRO:ENCARGADO_MONITOREO       \n                (T6.UNIDAD_EJECUTORA =  $P{encargadoMonitoreo} )\n            AND \n                -- PARAMETRO: ETAPA_PLAN\n                (T4.ETAPA_PLAN = \n                                (SELECT \n                                        T9.ID_ETAPA_PLAN \n                                FROM ETAPA_PLAN T9\n                                WHERE \n                                        T9.PERIODO_ANUAL =  $P{periodoAnual} \n                                    AND T9.TIPO_ETAPA = $P{tipoEtapa} \n                                    AND T9.TIPO_PLAN = (\n                                                SELECT \n                                                    VALOR \n                                                FROM SAS.PARAMETRO\n                                                WHERE LLAVE = 'param_ppi_ppe_tipoPlan_PXE'))\n                )  \n            AND \n                -- CONDICI\u00d3N: PPI.ENCARGADO_MONITOREO.ACTIVO=1\n                (T6.ACTIVO = 1)  \n            AND \n                -- CONDICI\u00d3N: PPI.PLAN_ACCION_ESTRATEGICA.ACTIVO=1\n                (T4.ACTIVO = 1)\n        GROUP BY \n                T10.ANO,\n                T11.NOMBRE,\n                T7.CODIGO, \n                T7.NOMBRE, \n                T8.NOMBRE, \n                TRIM(T1.CODIGO || '. ' || T1.DESCRIPCION), \n                T2.NOMBRE<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Guardamos<\/li>\n\n\n\n<li>Y si le damos en preview<\/li>\n\n\n\n<li>nos solicitar\u00e1 los valores de los parametros<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"710\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_214-1024x710.png\" alt=\"\" class=\"wp-image-13747\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_214-1024x710.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_214-300x208.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_214-768x532.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_214.png 1075w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1019\" height=\"467\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_215.png\" alt=\"\" class=\"wp-image-13749\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_215.png 1019w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_215-300x137.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_215-768x352.png 768w\" sizes=\"(max-width: 1019px) 100vw, 1019px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y as\u00ed podemos garantizar el uso de parametros en los reportes desde Jasper Studio}<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Par\u00e1metro: tipoEtapa<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora vamos a crear lo necesario para obtener los tipos de Etapa que existan para un tipo de plan que es una parametro SIGESA, espec\u00edficamente param_ppi_ppe_tipoPlan_PXE<\/li>\n\n\n\n<li>Lo primero que vamos hacer es que dentro de TipoPLan exista un m\u00e9tod que devuelva un TipoPlan seg\u00fan el parametro  param_ppi_ppe_tipoPlan_PXE<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">TipoPlanService.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un TipoPlan seg\u00fan parametro SIGESA: param_ppi_ppe_tipoPlan_PXE\n     *\n     * @return:TipoPlan\n     *\n     * @author Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 10\/11\/2022\n     * @fechaModificacion: 10\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public TipoPlan obtenerTipoPlan_PXE();\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">TipoPlanServiceImpl.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos la definici\u00f3n<\/li>\n\n\n\n<li>Pero para esto vamos a utilizar una funci\u00f3n existente dentro de tipoPlan que ubica un TipoPlan seg\u00fan parametro <\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>@Override\n    public TipoPlan findTipoPlanByParametro(String param) {\n        try {\n            return findOne(Long.valueOf(parametroService.findOneByLlave(param).getValor()));\n        } catch (NumberFormatException ex) {\n            return null;\n        }\n    }<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Por lo tanto los que debemos agregar es:<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * M\u00e9todo que devuelve un TipoPlan seg\u00fan parametro SIGESA: param_ppi_ppe_tipoPlan_PXE\n     * Ver {@link TipoPlanService#obtenerTipoPlan_PXE() }\n     *\n     * @return:TipoPlan\n     *\n     * @author Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 10\/11\/2022\n     * @fechaModificacion: 10\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    @Override\n    public TipoPlan obtenerTipoPlan_PXE(){\n        return findTipoPlanByParametro(\"param_ppi_ppe_tipoPlan_PXE\");\n    }\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">EtapaPlanRepository.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora dentro de EtapaPLan vamos a agregar un m\u00e9todo que devuelva un tipoPlan seg\u00fan un tipoPlan pasado como parametro<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>public List&lt;EtapaPlan&gt; findAllByTipoPlan(TipoPlan tipoPlan);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">EtapaPlanService.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos la definicion  retorne todas las EtapaPlan que que tengan el tipoPlan = 3  (param_ppi_ppe_tipoPlan_PXE)<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un List&lt;EtapaPlan&gt; donde los ID's se encuentren en ETAPA_PLAN y por parametro SIGESA: param_ppi_ppe_tipoPlan_PXE\n     *\n     * @return:List&lt;EtapaPlan&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 12\/11\/2022\n     * @fechaModificacion: 12\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n     public List&lt;EtapaPlan&gt; obtenerEtapaPlanPorTipoPlan_PXE();\n\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">EtapaPlanServiceImpl.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos el m\u00e9todo<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Ver {@link EtapaPlanService#obtenerEtapaPlanPorTipoPlan_PXE() }\n     * @author: Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 12\/11\/2022\n     * @fechaModificacion: 12\/11\/2022\n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public List&lt;EtapaPlan&gt; obtenerEtapaPlanPorTipoPlan_PXE() {\n        \n        TipoPlan tipoPlan_PXE = tipoPlanService.obtenerTipoPlan_PXE();\n        return repository.findAllByTipoPlan(tipoPlan_PXE);\n    }\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">TipoEtapaService.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos la definici\u00f3n para el autocomplete<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un Page&lt;TipoEtapa&gt; donde los ID's se encuentren en ETAPA_PLAN y por parametro SIGESA: param_ppi_ppe_tipoPlan_PXE para autocomplete\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param query: consulta del usuario\n     * @param acl: paramatero de ACL\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 11\/11\/2022\n     * @fechaModificacion: 11\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public Page&lt;TipoEtapa&gt; findAutoCompleteTipoEtapaInEtapaPlanAndTipoPlan_PXE(\n                    ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                    String query, \n                    String acl, \n                    Pageable pageable\n                    );\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y agregamos la definici\u00f3n para el LOV<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un Page&lt;TipoEtapa&gt; donde los ID's se encuentren en ETAPA_PLAN y por parametro SIGESA: param_ppi_ppe_tipoPlan_PXE para LOV\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @param params: parametros\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 07\/11\/2022\n     * @fechaModificacion: 08\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public Page&lt;TipoEtapa&gt; findAutoCompleteTipoEtapaInEtapaPlanAndTipoPlan_PXE_LOV(\n                        ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                        Pageable pageable, \n                        Map&lt;String, Object&gt; params\n                    );\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">TipoEtapaServiceImpl.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos el m\u00e9todo para autocomplete<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * M\u00e9todo que devuelve un Page&lt;TipoEtapa&gt; donde los ID's se encuentren en ETAPA_PLAN y por parametro SIGESA: param_ppi_ppe_tipoPlan_PXE para autocomplete\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param query: consulta del usuario\n     * @param acl: paramatero de ACL\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 11\/11\/2022\n     * @fechaModificacion: 11\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    @Override\n    public Page&lt;TipoEtapa&gt; findAutoCompleteTipoEtapaInEtapaPlanAndTipoPlan_PXE(\n                    ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                    String query, \n                    String acl, \n                    Pageable pageable\n                    ) {\n\n        \/\/ Almacena la lista de tipoEtapa final\n        List&lt;TipoEtapa&gt; listaTiposEtapas = new ArrayList&lt;&gt;();\n\n        \/\/Almacena la lista de tipoPlan por PXE\n        List&lt;TipoEtapa&gt; listaEtapaPlanPorTipoPlan_PXE = new ArrayList&lt;&gt;();\n    \n        \/\/ Obtenermos todas la EtapaPlan por PXE\n        for(EtapaPlan etapa : etapaPlanService.obtenerEtapaPlanPorTipoPlan_PXE()){\n            \/\/ Y obtenemos su tipoEtapa\n            listaEtapaPlanPorTipoPlan_PXE.add(etapa.getTipoEtapa());\n        }\n        \n        \/\/ Obtenemos y recorremos todos los tipoEtapa y preguntamos si existe en EtapaPlan y si si agregamos a la lista\n        for(TipoEtapa te : this.findAll()){\n            if(listaEtapaPlanPorTipoPlan_PXE.contains(te)){\n                listaTiposEtapas.add(te);            \n            }\n        }        \n    \n        \/\/ Retornamos la listaTipoEtapa\n        return new PageImpl(listaTiposEtapas);\n    }\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y el m\u00e9todo para el LOV<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un Page&lt;TipoEtapa&gt; donde los ID's se encuentren en ETAPA_PLAN y por parametro SIGESA: param_ppi_ppe_tipoPlan_PXE para LOV\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @param params: parametros\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 11\/11\/2022\n     * @fechaModificacion: 11\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    @Override\n    public Page&lt;TipoEtapa&gt; findAutoCompleteTipoEtapaInEtapaPlanAndTipoPlan_PXE_LOV(\n                        ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                        Pageable pageable, \n                        Map&lt;String, Object&gt; params\n                    ) {\n        \n        \/\/ Le pasamos los filterSpecifications\n        this.setFilterSpecifications(filterSpecifications);\n\n        \/\/ Almacena la lista de tipoEtapa final\n        List&lt;TipoEtapa&gt; listaTiposEtapas = new ArrayList&lt;&gt;();\n\n        \/\/Almacena la lista de tipoPlan por PXE\n        List&lt;TipoEtapa&gt; listaEtapaPlanPorTipoPlan_PXE = new ArrayList&lt;&gt;();\n    \n        \/\/ Obtenermos todas la EtapaPlan por PXE\n        for(EtapaPlan etapa : etapaPlanService.obtenerEtapaPlanPorTipoPlan_PXE()){\n            \/\/ Y obtenemos su tipoEtapa\n            listaEtapaPlanPorTipoPlan_PXE.add(etapa.getTipoEtapa());\n        }\n        \n        \/\/ Obtenemos y recorremos todos los tipoEtapa y preguntamos si existe en EtapaPlan y si si agregamos a la lista\n        for(TipoEtapa te : this.findAll()){\n            if(listaEtapaPlanPorTipoPlan_PXE.contains(te)){\n                listaTiposEtapas.add(te);            \n            }\n        }        \n    \n        \/\/ Retornamos la listaTipoEtapa\n        return new PageImpl(listaTiposEtapas);\n    }\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">TipoEtapaLOVBean.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Adem\u00e1s como el LOVBean para TipoEtapa No exista lo creamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/*\n * Copyright (c) 2022.\n *\n * Centro de Gestion Informatica\n * Direccion de Tecnologias de la Informacion y Comunicacion\n * Universidad Nacional - Costa Rica\n * http:\/\/www.una.ac.cr\n *\n *\/\n\n\/**********************************************************************\/\n\/**********************************************************************\/\n\/*********************       PACKAGE     ******************************\/\n\/**********************************************************************\/\n\/**********************************************************************\/\npackage cr.ac.una.cgi.sigesa.ppi.ppo.view.LOV;\n\n\n\/**********************************************************************\/\n\/**********************************************************************\/\n\/*********************       IMPORT'S    ******************************\/\n\/**********************************************************************\/\n\/**********************************************************************\/\n\n\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\n\/*+++++++++++++             SDK-UNA         ++++++++++++++++++++++++++*\/\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\nimport cr.ac.una.cgi.sdkuna.view.commons.LOV;\nimport cr.ac.una.cgi.sdkuna.view.commons.LOVColumn;\nimport cr.ac.una.cgi.sdkuna.view.commons.LOVImpl;\n\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\n\/*+++++++++++++   Proyecto: PPI\/PPO         ++++++++++++++++++++++++++*\/\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\nimport cr.ac.una.cgi.sigesa.ppi.ppo.domain.TipoEtapa;\nimport cr.ac.una.cgi.sigesa.ppi.ppo.service.TipoEtapaService;\n\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\n\/*+++++++++++++       SPRING-BOOT           ++++++++++++++++++++++++++*\/\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\nimport org.springframework.context.annotation.Scope;\nimport org.springframework.stereotype.Component;\n\n\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\n\/*+++++++++++++      TIPOS DE DATOS         ++++++++++++++++++++++++++*\/\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\nimport java.io.Serializable;\nimport java.util.ArrayList;\nimport java.util.List;\nimport javax.annotation.PostConstruct;\n\n\n\n\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\n\/*+++++++++++++      DOCUMENTACI\u00d3N          ++++++++++++++++++++++++++*\/\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\n\/**\n * Spring LOVBean Session para la administraci\u00f3n de la entidad {@link TipoEtapa}\n *\n * @author Gustavo Matamoros Gonz\u00e1lez\n * @fecha 13\/11\/2022\n *\/\n\n\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\n\/*+++++++++++++       CONFIGURACI\u00d3N         ++++++++++++++++++++++++++*\/\n\/*++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++*\/\n@Component\n@Scope(\"session\")\n\n\/**********************************************************************\/\n\/**********************************************************************\/\n\/****************    DEFINICI\u00d3N DE CLASE  *****************************\/\n\/**********************************************************************\/\n\/**********************************************************************\/\npublic class TipoEtapaLOVBean extends LOVImpl&lt;TipoEtapa, TipoEtapaService&gt; implements LOV, Serializable {\n\n    \/*************************************************************************************************\/\n    \/*************************************************************************************************\/\n    \/******************************      CONSTRUCTOR     *********************************************\/\n    \/*************************************************************************************************\/\n    \/*************************************************************************************************\/\n    public TipoEtapaLOVBean() {\n\n    }\n    \/*************************************************************************************************\/\n    \/*************************************************************************************************\/\n    \/*************************************************************************************************\/\n    \/*************************************************************************************************\/\n    \/*************************************************************************************************\/\n\n    \/*************************************************************************************************\/\n    \/*************************************************************************************************\/\n    \/******************************      FUNCI\u00d3N INIT    *********************************************\/\n    \/*************************************************************************************************\/\n    \/*************************************************************************************************\/\n    @PostConstruct\n    public void init() {\n\n        List&lt;LOVColumn&gt; columns = new ArrayList&lt;&gt;();\n\n        \/\/ Creamos las relaciones y ordenes de las columnas para el listado\n   \n        LOVColumn column1 = new LOVColumn(\"nombre\",             getI18n(\"tipoEtapa_nombre_label\"),            true);\n\n\n        \/\/Agregamos las columnas a la variable\n        columns.add(column1);\n\n\n        \/\/ Enviamos las columnas\n        this.setTableColumns(columns);\n\n    }\n\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Parametro: periodoAnual<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ahora el periodo anual pertenece a EPF <\/li>\n\n\n\n<li>Por tanto debemos crear todos los metdos necesarios dentro de PPO y PPE para que PeriodoAnual solo tenga una peque\u00f1a funci\u00f3n<\/li>\n\n\n\n<li>Para esto en: <\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">EtapaPlanService.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Vamos a crear la definici\u00f3n de autocomplete y LOV que va se ejecutada por periodo anual<\/li>\n\n\n\n<li>Autocomplete<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un Page&lt;PeriodoAnual&gt; donde los ID's se encuentren en ETAPA_PLAN y por parametro SIGESA: param_ppi_ppe_tipoPlan_PXE para autocomplete\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param query: consulta del usuario\n     * @param acl: paramatero de ACL\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @return: Page&lt;PeriodoAnual&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 11\/11\/2022\n     * @fechaModificacion: 11\/11\/2022\n     * @m\u00f3dulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n     public Page&lt;PeriodoAnual&gt; periodosAnualesPorTipoPlan_PXE(\n                ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                String query, \n                String property, \n                Pageable pageable);\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LOV<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Definici\u00f3n que devuelve un Page&lt;PeriodoAnual&gt; donde los ID's se encuentren en ETAPA_PLAN y por parametro SIGESA: param_ppi_ppe_tipoPlan_PXE para LOV\n     *\n     * @param filterSpecifications: filtro de especificaciones\n     * @param pageable: paramatro para paginaci\u00f3n\n     * @param params: parametros\n     * @return: Page&lt;UnidadEjecutora&gt;\n     *\n     * @author Gustavo Matamoros G.\n     * @fechaCreacion: 11\/11\/2022\n     * @fechaModificacion: 11\/11\/2022\n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public Page&lt;PeriodoAnual&gt; periodosAnualesPorTipoPlan_PXE_LOV(\n                        ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                        Pageable pageable, \n                        Map&lt;String, Object&gt; params\n                    );\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">EtapaPlanServiceImpl.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Autocomplete<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Ver {@link EtapaPlanService#periodosAnualesPorTipoPlan_PXE() }\n     * @author: Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 12\/11\/2022\n     * @fechaModificacion: 12\/11\/2022\n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public Page&lt;PeriodoAnual&gt; periodosAnualesPorTipoPlan_PXE(\n                ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                String query, \n                String property, \n                Pageable pageable){\n        \/\/ Almacena la lista de periodos\n        List&lt;PeriodoAnual&gt; listaPeridosAnuales = new ArrayList&lt;&gt;();\n        List&lt;PeriodoAnual&gt; listaPeridosAnualesEnEtapas = new ArrayList&lt;&gt;();\n    \n        \n        for(EtapaPlan plan : this.obtenerEtapaPlanPorTipoPlan_PXE()){\n            listaPeridosAnualesEnEtapas.add(plan.getPeriodoAnual());\n        }\n        \n        for(PeriodoAnual per : periodoAnualService.findAll()){\n            if(listaPeridosAnualesEnEtapas.contains(per)){\n                listaPeridosAnuales.add(per);            \n            }\n        }        \n        return new PageImpl(ordenaPlanesAnuales(listaPeridosAnuales));\n       \n    }\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>LOV<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>\/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Ver {@link EtapaPlanService#periodosAnualesPorTipoPlan_PXE_LOV() }\n     * @author: Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 12\/11\/2022\n     * @fechaModificacion: 12\/11\/2022\n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    public Page&lt;PeriodoAnual&gt; periodosAnualesPorTipoPlan_PXE_LOV(\n                    ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                    Pageable pageable, \n                    Map&lt;String, Object&gt; params){\n        \/\/ Almacena la lista de periodos\n        List&lt;PeriodoAnual&gt; listaPeridosAnuales = new ArrayList&lt;&gt;();\n        List&lt;PeriodoAnual&gt; listaPeridosAnualesEnEtapas = new ArrayList&lt;&gt;();\n    \n        \n        for(EtapaPlan plan : this.obtenerEtapaPlanPorTipoPlan_PXE()){\n            listaPeridosAnualesEnEtapas.add(plan.getPeriodoAnual());\n        }\n        \n        for(PeriodoAnual per : periodoAnualService.findAll()){\n            if(listaPeridosAnualesEnEtapas.contains(per)){\n                listaPeridosAnuales.add(per);            \n            }\n        }        \n        return new PageImpl(ordenaPlanesAnuales(listaPeridosAnuales));\n       \n    }\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Y adem\u00e1s vamos a crear una funci\u00f3n privada para ordenar lo periodos anuales<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code> \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/**\n     * Funcion que ordena una lista de Periodos Anuales\n     * @author: Gustavo Matamoros G.\n     * @version: 1.0.0\n     * @fechaCreacion: 12\/11\/2022\n     * @fechaModificacion: 12\/11\/2022\n     * @modulo: PPI-PPE\n     * @issue: PPI-244\n     *\/\n    private List&lt;PeriodoAnual&gt; ordenaPlanesAnuales(List&lt;PeriodoAnual&gt; listaPeriodosAnuales) {\n        Collections.sort(listaPeriodosAnuales, new Comparator&lt;PeriodoAnual&gt;() {\n\n            @Override\n            public int compare(PeriodoAnual pp1, PeriodoAnual pp2) {\n                return pp1.getAno().compareTo(pp2.getAno());\n            }\n        });\n        return listaPeriodosAnuales;\n    }\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/\n    \/******************************************************************************************************************\/<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">PeridoAnualService.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Como periodos ANuales pertenece a EPF<\/li>\n\n\n\n<li>Vamos a crear las funciones de autocomplete que invoquen a las funciones anteriores<\/li>\n\n\n\n<li>Agregamos autocomplete y LOV<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>public Page&lt;PeriodoAnual&gt; periodosAnualesPorTipoPlan_PXE(ArrayList&lt;FilterSpecification&gt; filterSpecifications, String query, String property, Pageable pageable);\n    \npublic Page&lt;PeriodoAnual&gt; periodosAnualesPorTipoPlan_PXE_LOV(ArrayList&lt;FilterSpecification&gt; filterSpecifications, Pageable pageable, Map&lt;String, Object&gt; params);<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">PeridoAnualServiceImpl.java<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Agregamos<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>@Override\n    public Page&lt;PeriodoAnual&gt; periodosAnualesPorTipoPlan_PXE(\n                ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                String query, \n                String property, \n                Pageable pageable){\n        return etapaPlanService.periodosAnualesPorTipoPlan_PXE( filterSpecifications, query,  property,  pageable);\n    }\n\n    @Override\n    public Page&lt;PeriodoAnual&gt; periodosAnualesPorTipoPlan_PXE_LOV(\n                        ArrayList&lt;FilterSpecification&gt; filterSpecifications, \n                        Pageable pageable, \n                        Map&lt;String, Object&gt; params\n        ){\n        return etapaPlanService.periodosAnualesPorTipoPlan_PXE_LOV( filterSpecifications, pageable,params);\n    }<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">ReportarParametros en SIGESA<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ingresamos al reporte<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"343\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_223-1024x343.png\" alt=\"\" class=\"wp-image-13818\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_223-1024x343.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_223-300x100.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_223-768x257.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_223-1536x514.png 1536w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_223.png 1766w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ingresamos a los parametros y los configuramos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"823\" height=\"690\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_224.png\" alt=\"\" class=\"wp-image-13819\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_224.png 823w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_224-300x252.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_224-768x644.png 768w\" sizes=\"(max-width: 823px) 100vw, 823px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Tipo etapa configuraci\u00f3n<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"690\" height=\"715\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_225.png\" alt=\"\" class=\"wp-image-13820\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_225.png 690w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_225-290x300.png 290w\" sizes=\"(max-width: 690px) 100vw, 690px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Parametro periodo anual<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"679\" height=\"631\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_226.png\" alt=\"\" class=\"wp-image-13821\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_226.png 679w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_226-300x279.png 300w\" sizes=\"(max-width: 679px) 100vw, 679px\" \/><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"679\" height=\"740\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_227.png\" alt=\"\" class=\"wp-image-13823\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_227.png 679w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_227-275x300.png 275w\" sizes=\"(max-width: 679px) 100vw, 679px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Probar el reporte<\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"602\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_228-1024x602.png\" alt=\"\" class=\"wp-image-13826\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_228-1024x602.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_228-300x176.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_228-768x451.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_228.png 1242w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"397\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_229-1024x397.png\" alt=\"\" class=\"wp-image-13827\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_229-1024x397.png 1024w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_229-300x116.png 300w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_229-768x298.png 768w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_229.png 1222w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Publicar el reporte en servidor desarrollo<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ingresamos al servidor remoto<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>ssh cgi@10.0.100.30<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Nos ubicamos a la direcci\u00f3n del reporte<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>cd \/reportes\/<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lo identificamos<\/li>\n<\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"534\" height=\"155\" src=\"\/wp-content\/uploads\/2022\/11\/Seleccion_091-2.png\" alt=\"\" class=\"wp-image-13968\" srcset=\"https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_091-2.png 534w, https:\/\/sada.services\/wp-content\/uploads\/2022\/11\/Seleccion_091-2-300x87.png 300w\" sizes=\"(max-width: 534px) 100vw, 534px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Lo enviamos al servidor<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>scp R-PPI-PPE-METPORENCMON.jasper tomcat8@10.0.2.231:\/reportes<\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pass: user4tomcat<\/li>\n\n\n\n<li>RESULTADO<\/li>\n<\/ul>\n\n\n\n<pre class=\"wp-block-code\"><code>The authenticity of host '10.0.2.231 (10.0.2.231)' can't be established.\nED25519 key fingerprint is SHA256:tf9W7YHb8qPy5qUn9+G8dVVCTWx4fAN+Y4N6sic3mjg.\nThis key is not known by any other names\nAre you sure you want to continue connecting (yes\/no\/&#91;fingerprint])? yes\nWarning: Permanently added '10.0.2.231' (ED25519) to the list of known hosts.\ntomcat8@10.0.2.231's password: \nR-PPI-PPE-METPORENCMON.jasper                 100%   36KB   1.1MB\/s   00:00 <\/code><\/pre>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Ya podemos ingresar a SIGESA DESARROLLO y probar<\/li>\n\n\n\n<li><a href=\"http:\/\/10.0.2.231:8080\/sigesa-webapp\/pages\/\" target=\"_blank\" rel=\"noreferrer noopener\">http:\/\/10.0.2.231:8080\/sigesa-webapp\/pages\/<\/a><\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Creaci\u00f3n de conexi\u00f3n Agregar nuevo adaptador Creaci\u00f3n de nuevo reporte Agrupar por metas Formato del documento Encabezado Para reporte normal Notas importantes Prueba del reporte Agregar los archivos al proyecto Desplegar Reporte en SIGESA Parametros EncargadoMonitoreoRepository.java EncargadoMonitoreoService.java EncargadoMonitoreoServiceImpl.java EPF: Unidad Ejecutora UnidadEjecutoraService.java UnidadEjecutoraServiceImpl.java SIGESA Notas: importentes prueba parametros en Jasper Studio EncargadoMonitoreo tipoEtapa periodoAnual es [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[443],"tags":[446,448,444],"class_list":["post-13558","post","type-post","status-publish","format-standard","hentry","category-sigesa","tag-jasper","tag-reporte","tag-sigesa"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":6}},"_links":{"self":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/13558","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=13558"}],"version-history":[{"count":121,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/13558\/revisions"}],"predecessor-version":[{"id":16388,"href":"https:\/\/sada.services\/index.php?rest_route=\/wp\/v2\/posts\/13558\/revisions\/16388"}],"wp:attachment":[{"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=13558"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=13558"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sada.services\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=13558"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}