<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es">
		<id>https://documentacion.siu.edu.ar/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jschnaiderman</id>
		<title>SIU - Contribuciones del usuario [es]</title>
		<link rel="self" type="application/atom+xml" href="https://documentacion.siu.edu.ar/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Jschnaiderman"/>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/Especial:Contribuciones/Jschnaiderman"/>
		<updated>2026-05-25T04:32:07Z</updated>
		<subtitle>Contribuciones del usuario</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/version3.23.0/interfaces/arai-reportes&amp;diff=111885</id>
		<title>SIU-Guarani/version3.23.0/interfaces/arai-reportes</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/version3.23.0/interfaces/arai-reportes&amp;diff=111885"/>
				<updated>2026-03-10T16:26:25Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* En SIU-Guaraní Gestión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Interfaz SIU-Guaraní - Araí-Reportes ==&lt;br /&gt;
Arai-Reportes es la plataforma de generación y publicación de reportes utilizada por el ecosistema SIU&lt;br /&gt;
&lt;br /&gt;
Permite ejecutar y publicar reportes desacoplando su definición del sistema que los consume.&lt;br /&gt;
En esta sección se describe específicamente cómo integrar y utilizar Araí-Reportes desde SIU-Guaraní .&lt;br /&gt;
&lt;br /&gt;
Para una introducción general a la herramienta y su arquitectura se recomienda consultar la [https://documentacion.siu.edu.ar/reportes/docs/intro/ documentación] &lt;br /&gt;
&lt;br /&gt;
===En SIU-Guaraní Gestión===&lt;br /&gt;
&lt;br /&gt;
1) Solicitar al administrador de '''Araí-Reportes''' usuario, contraseña y URLs para utilizar el servicio REST. Luego crear y configurar el archivo &amp;lt;tt&amp;gt;&amp;lt;path proyecto Gestión&amp;gt;/instalacion/i__&amp;lt;instancia&amp;gt;/p__guarani/rest/rest_arai_reportes/cliente.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
;cliente.ini&lt;br /&gt;
[conexion]&lt;br /&gt;
to = &amp;quot;&amp;lt;url_api_arai_reportes&amp;gt;/v2/&amp;quot;&lt;br /&gt;
auth_tipo = basic o digest &lt;br /&gt;
auth_usuario = &amp;lt;usuario&amp;gt;&lt;br /&gt;
auth_password = &amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Se debe reemplazar:&lt;br /&gt;
* &amp;lt;path proyecto Gestión&amp;gt;: por el path donde se encuentra instalado el proyecto '''SIU-Guaraní Gestión'''&lt;br /&gt;
* &amp;lt;instancia&amp;gt;: por el nombre de la instancia&lt;br /&gt;
* &amp;lt;url_api_arai_reportes&amp;gt;: por la URL de la API donde se encuentra '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;usuario&amp;gt;: Usuario otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;password&amp;gt;: Password otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
&lt;br /&gt;
Para más información, consultar en la explicación de [https://documentacion.siu.edu.ar/toba/docs/referencia-rest/ REST de Toba]&lt;br /&gt;
&lt;br /&gt;
2) Finalmente ejecutar el comando '''bin/instalador reportes:actualizar''' para subir los reportes e imágenes.&lt;br /&gt;
&lt;br /&gt;
===En SIU-Guaraní Autogestión===&lt;br /&gt;
1) Solicitar al administrador de '''Araí-Reportes''' usuario, contraseña y URLs para utilizar el servicio REST. &lt;br /&gt;
&lt;br /&gt;
2) También configurar el archivo &amp;lt;tt&amp;gt;&amp;lt;path proyecto Autogestión&amp;gt;/instalacion/servicios_web_config.php&amp;lt;/tt&amp;gt; (si no existe hacer una copia desde el archivo '''servicios_web_config_template.php''' ubicado en el mismo directorio)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
'consumidos' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
	'arai_reportes' =&amp;gt; [&lt;br /&gt;
		'tipo' =&amp;gt; 'rest',&lt;br /&gt;
		'parametros' =&amp;gt; [ //usa cliente Guzzle, son opciones en formato guzzle&lt;br /&gt;
			'base_uri' =&amp;gt; &amp;quot;&amp;lt;url_api_arai_reportes&amp;gt;/v2/&amp;quot;,&lt;br /&gt;
			'auth' =&amp;gt; ['&amp;lt;usuario&amp;gt;', '&amp;lt;password&amp;gt;', &amp;lt;tipo-auth&amp;gt;), //user, password, según guzzle&lt;br /&gt;
		]&lt;br /&gt;
	],&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Se debe reemplazar:&lt;br /&gt;
* &amp;lt;path proyecto Autogestión&amp;gt;: por el path donde se encuentra instalado el proyecto '''SIU-Guaraní Autogestión'''&lt;br /&gt;
* &amp;lt;url_api_arai_reportes&amp;gt;: por la URL de la API donde se encuentra '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;usuario&amp;gt;: Usuario otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;password&amp;gt;: Password otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;tipo-auth&amp;gt;: '''basic''' o '''digest'''. [http://docs.guzzlephp.org/en/stable/request-options.html#auth Ver documentación de Guzzle].&lt;br /&gt;
&lt;br /&gt;
===Personalización de certificados y constancias===&lt;br /&gt;
Para agregar o personalizar certificados y constancias, se debe modificar el archivo dentro de la carpeta de gestión :&lt;br /&gt;
&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro de este archivo, la definición de los reportes se realiza en la función:&lt;br /&gt;
&lt;br /&gt;
getReportes()&lt;br /&gt;
&lt;br /&gt;
Estructura de un reporte&lt;br /&gt;
&lt;br /&gt;
Cada certificado o constancia se define como un elemento del arreglo retornado por getReportes().&lt;br /&gt;
A continuación se muestra un ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return [&lt;br /&gt;
    1 =&amp;gt; [&lt;br /&gt;
        'id' =&amp;gt; 'ConstanciaRegular.jrxml',&lt;br /&gt;
        'titulo' =&amp;gt; 'Constancia de Alumno Regular',&lt;br /&gt;
        'clase_consulta' =&amp;gt; 'co_constancias',&lt;br /&gt;
        'metodo_consulta' =&amp;gt; 'get_datos_constancia_regular'&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Descripción de los campos&lt;br /&gt;
&lt;br /&gt;
id&lt;br /&gt;
Nombre del archivo .jrxml que contiene el diseño del reporte (JasperReport).&lt;br /&gt;
&lt;br /&gt;
titulo&lt;br /&gt;
Título descriptivo del certificado o constancia.&lt;br /&gt;
Este valor suele mostrarse en la interfaz de usuario.&lt;br /&gt;
&lt;br /&gt;
clase_consulta&lt;br /&gt;
Clase PHP encargada de obtener los datos necesarios para el reporte.&lt;br /&gt;
&lt;br /&gt;
metodo_consulta&lt;br /&gt;
Método de la clase indicada en clase_consulta que retorna la información utilizada para completar el certificado.&lt;br /&gt;
&lt;br /&gt;
Consideraciones&lt;br /&gt;
&lt;br /&gt;
Cada nuevo certificado o constancia debe agregarse como un nuevo índice dentro del arreglo.&lt;br /&gt;
&lt;br /&gt;
El archivo .jrxml debe existir y coincidir exactamente con el valor definido en id.&lt;br /&gt;
&lt;br /&gt;
El método de consulta debe devolver los datos en el formato esperado por el reporte.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/version3.23.0/interfaces/arai-reportes&amp;diff=111884</id>
		<title>SIU-Guarani/version3.23.0/interfaces/arai-reportes</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/version3.23.0/interfaces/arai-reportes&amp;diff=111884"/>
				<updated>2026-03-10T16:25:34Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Interfaz SIU-Guaraní - Araí-Reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Interfaz SIU-Guaraní - Araí-Reportes ==&lt;br /&gt;
Arai-Reportes es la plataforma de generación y publicación de reportes utilizada por el ecosistema SIU&lt;br /&gt;
&lt;br /&gt;
Permite ejecutar y publicar reportes desacoplando su definición del sistema que los consume.&lt;br /&gt;
En esta sección se describe específicamente cómo integrar y utilizar Araí-Reportes desde SIU-Guaraní .&lt;br /&gt;
&lt;br /&gt;
Para una introducción general a la herramienta y su arquitectura se recomienda consultar la [https://documentacion.siu.edu.ar/reportes/docs/intro/ documentación] &lt;br /&gt;
&lt;br /&gt;
===En SIU-Guaraní Gestión===&lt;br /&gt;
&lt;br /&gt;
1) Solicitar al administrador de '''Araí-Reportes''' usuario, contraseña y URLs para utilizar el servicio REST. Luego crear y configurar el archivo &amp;lt;tt&amp;gt;&amp;lt;path proyecto Gestión&amp;gt;/instalacion/i__&amp;lt;instancia&amp;gt;/p__guarani/rest/rest_arai_reportes/cliente.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
;cliente.ini&lt;br /&gt;
[conexion]&lt;br /&gt;
to = &amp;quot;&amp;lt;url_api_arai_reportes&amp;gt;/v2/&amp;quot;&lt;br /&gt;
auth_tipo = basic o digest &lt;br /&gt;
auth_usuario = &amp;lt;usuario&amp;gt;&lt;br /&gt;
auth_password = &amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Se debe reemplazar:&lt;br /&gt;
* &amp;lt;path proyecto Gestión&amp;gt;: por el path donde se encuentra instalado el proyecto '''SIU-Guaraní Gestión'''&lt;br /&gt;
* &amp;lt;instancia&amp;gt;: por el nombre de la instancia&lt;br /&gt;
* &amp;lt;url_api_arai_reportes&amp;gt;: por la URL de la API donde se encuentra '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;usuario&amp;gt;: Usuario otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;password&amp;gt;: Password otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
&lt;br /&gt;
Para más información, consultar en la explicación de [https://toba.siu.edu.ar/trac/toba/wiki/Referencia/Rest REST de Toba]&lt;br /&gt;
&lt;br /&gt;
2) Finalmente ejecutar el comando '''bin/instalador reportes:actualizar''' para subir los reportes e imágenes.&lt;br /&gt;
&lt;br /&gt;
===En SIU-Guaraní Autogestión===&lt;br /&gt;
1) Solicitar al administrador de '''Araí-Reportes''' usuario, contraseña y URLs para utilizar el servicio REST. &lt;br /&gt;
&lt;br /&gt;
2) También configurar el archivo &amp;lt;tt&amp;gt;&amp;lt;path proyecto Autogestión&amp;gt;/instalacion/servicios_web_config.php&amp;lt;/tt&amp;gt; (si no existe hacer una copia desde el archivo '''servicios_web_config_template.php''' ubicado en el mismo directorio)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
'consumidos' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
	'arai_reportes' =&amp;gt; [&lt;br /&gt;
		'tipo' =&amp;gt; 'rest',&lt;br /&gt;
		'parametros' =&amp;gt; [ //usa cliente Guzzle, son opciones en formato guzzle&lt;br /&gt;
			'base_uri' =&amp;gt; &amp;quot;&amp;lt;url_api_arai_reportes&amp;gt;/v2/&amp;quot;,&lt;br /&gt;
			'auth' =&amp;gt; ['&amp;lt;usuario&amp;gt;', '&amp;lt;password&amp;gt;', &amp;lt;tipo-auth&amp;gt;), //user, password, según guzzle&lt;br /&gt;
		]&lt;br /&gt;
	],&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Se debe reemplazar:&lt;br /&gt;
* &amp;lt;path proyecto Autogestión&amp;gt;: por el path donde se encuentra instalado el proyecto '''SIU-Guaraní Autogestión'''&lt;br /&gt;
* &amp;lt;url_api_arai_reportes&amp;gt;: por la URL de la API donde se encuentra '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;usuario&amp;gt;: Usuario otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;password&amp;gt;: Password otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;tipo-auth&amp;gt;: '''basic''' o '''digest'''. [http://docs.guzzlephp.org/en/stable/request-options.html#auth Ver documentación de Guzzle].&lt;br /&gt;
&lt;br /&gt;
===Personalización de certificados y constancias===&lt;br /&gt;
Para agregar o personalizar certificados y constancias, se debe modificar el archivo dentro de la carpeta de gestión :&lt;br /&gt;
&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro de este archivo, la definición de los reportes se realiza en la función:&lt;br /&gt;
&lt;br /&gt;
getReportes()&lt;br /&gt;
&lt;br /&gt;
Estructura de un reporte&lt;br /&gt;
&lt;br /&gt;
Cada certificado o constancia se define como un elemento del arreglo retornado por getReportes().&lt;br /&gt;
A continuación se muestra un ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return [&lt;br /&gt;
    1 =&amp;gt; [&lt;br /&gt;
        'id' =&amp;gt; 'ConstanciaRegular.jrxml',&lt;br /&gt;
        'titulo' =&amp;gt; 'Constancia de Alumno Regular',&lt;br /&gt;
        'clase_consulta' =&amp;gt; 'co_constancias',&lt;br /&gt;
        'metodo_consulta' =&amp;gt; 'get_datos_constancia_regular'&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Descripción de los campos&lt;br /&gt;
&lt;br /&gt;
id&lt;br /&gt;
Nombre del archivo .jrxml que contiene el diseño del reporte (JasperReport).&lt;br /&gt;
&lt;br /&gt;
titulo&lt;br /&gt;
Título descriptivo del certificado o constancia.&lt;br /&gt;
Este valor suele mostrarse en la interfaz de usuario.&lt;br /&gt;
&lt;br /&gt;
clase_consulta&lt;br /&gt;
Clase PHP encargada de obtener los datos necesarios para el reporte.&lt;br /&gt;
&lt;br /&gt;
metodo_consulta&lt;br /&gt;
Método de la clase indicada en clase_consulta que retorna la información utilizada para completar el certificado.&lt;br /&gt;
&lt;br /&gt;
Consideraciones&lt;br /&gt;
&lt;br /&gt;
Cada nuevo certificado o constancia debe agregarse como un nuevo índice dentro del arreglo.&lt;br /&gt;
&lt;br /&gt;
El archivo .jrxml debe existir y coincidir exactamente con el valor definido en id.&lt;br /&gt;
&lt;br /&gt;
El método de consulta debe devolver los datos en el formato esperado por el reporte.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/Novedades_tecnicas&amp;diff=111478</id>
		<title>SIU-Guarani/Version3.23.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/Novedades_tecnicas&amp;diff=111478"/>
				<updated>2026-01-26T18:53:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Diferencias con versiones anteriores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.23.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.23.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''12/01/2026'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032300/html_v3.23.0.html Modelo 3.23.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.22.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.22.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.22.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.22.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.19.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* [[SIU-Guarani/version3.23.0/instalacion_desde_cero/requisitos_previos/linux | Se modifican los requisitos previos]]: &lt;br /&gt;
&amp;lt;dd&amp;gt;Actualización de tecnologías de base:&lt;br /&gt;
* Se actualiza a la versión de '''PHP 8.1.x.''' &lt;br /&gt;
Importante:&lt;br /&gt;
&lt;br /&gt;
[https://www.php.net/manual/es/migration80.php Migración de PHP 7.4.x a PHP 8.0.x]&lt;br /&gt;
&lt;br /&gt;
[https://www.php.net/manual/es/migration81.php Migración de PHP 8.0.x a PHP 8.1.x]&lt;br /&gt;
&lt;br /&gt;
* Se actualiza a la versión de '''PostgreSQL 14.20.x.''' &lt;br /&gt;
&lt;br /&gt;
* Ya no es necesario instalar '''yui-compressor'''&lt;br /&gt;
&lt;br /&gt;
* Se cambia la forma de ejecutar  '''Jasper''', ver [[SIU-Guarani/version3.23.0/instalacion_desde_cero/instalacion/gestion/linux | Instalación desde cero de SIU-Guaraní Gestión 3.23 en entorno de Desarrollo]] y [[SIU-Guarani/version3.23.0/instalacion/3w | Instalación de SIU-Guaraní 3w versión 3.23.x en entorno de Desarrollo o Producción]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
/usr/bin/java \&lt;br /&gt;
    -cp &amp;quot;&amp;lt;path proyecto&amp;gt;/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/*&amp;quot; \&lt;br /&gt;
    -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl \&lt;br /&gt;
    -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl \&lt;br /&gt;
    -Duser.language=es \&lt;br /&gt;
    -Duser.country=AR \&lt;br /&gt;
    -Djava.awt.headless=true php.java.bridge.Standalone SERVLET:8081 &amp;lt;jasper nivel log&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interfaces con otros módulos SIU ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega conexión con [[SIU-Guarani/version3.23.0/interfaces/bioma | BIOMA]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega conexión con [[SIU-Guarani/version3.23.0/interfaces/arai-reportes | Araí-Reportes]].&lt;br /&gt;
&lt;br /&gt;
== Interfaces con Sistemas externos ==&lt;br /&gt;
&lt;br /&gt;
* Se adapta la conexión con [[SIU-Guarani/version3.23.0/interfaces/renaper | Renaper]].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migra '''SIU TOBA Framework''' a la versión [https://github.com/SIU-Toba/framework/blob/v3.4.3/CHANGELOG.md v3.4.3].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la opción '''--excluir-vinculados''' en el comando '''bin/guarani exportar_usuarios_arai'''.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migra '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.7.0/CHANGELOG.md v2.7.0].&lt;br /&gt;
&lt;br /&gt;
* Se agrega [[SIU-Guarani/Version3.23.0/personalizaciones/personalizacion_parametros_configuracion | Personalización de parámetros de configuración]] y [[SIU-Guarani/Version3.23.0/personalizaciones/personalizacion_comandos_consola | Personalización de comandos de consola]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/Novedades_tecnicas&amp;diff=111474</id>
		<title>SIU-Guarani/Version3.23.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/Novedades_tecnicas&amp;diff=111474"/>
				<updated>2026-01-26T16:25:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Diferencias con versiones anteriores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.23.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.23.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''12/01/2026'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032300/html_v3.23.0.html Modelo 3.23.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.22.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.23.0 Con versión 3.19.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* [[SIU-Guarani/version3.23.0/instalacion_desde_cero/requisitos_previos/linux | Se modifican los requisitos previos]]: &lt;br /&gt;
&amp;lt;dd&amp;gt;Actualización de tecnologías de base:&lt;br /&gt;
* Se actualiza a la versión de '''PHP 8.1.x.''' &lt;br /&gt;
Importante:&lt;br /&gt;
&lt;br /&gt;
[https://www.php.net/manual/es/migration80.php Migración de PHP 7.4.x a PHP 8.0.x]&lt;br /&gt;
&lt;br /&gt;
[https://www.php.net/manual/es/migration81.php Migración de PHP 8.0.x a PHP 8.1.x]&lt;br /&gt;
&lt;br /&gt;
* Se actualiza a la versión de '''PostgreSQL 14.20.x.''' &lt;br /&gt;
&lt;br /&gt;
* Ya no es necesario instalar '''yui-compressor'''&lt;br /&gt;
&lt;br /&gt;
* Se cambia la forma de ejecutar  '''Jasper''', ver [[SIU-Guarani/version3.23.0/instalacion_desde_cero/instalacion/gestion/linux | Instalación desde cero de SIU-Guaraní Gestión 3.23 en entorno de Desarrollo]] y [[SIU-Guarani/version3.23.0/instalacion/3w | Instalación de SIU-Guaraní 3w versión 3.23.x en entorno de Desarrollo o Producción]]:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
/usr/bin/java \&lt;br /&gt;
    -cp &amp;quot;&amp;lt;path proyecto&amp;gt;/vendor/siu-toba/jasper/JavaBridge/WEB-INF/lib/*&amp;quot; \&lt;br /&gt;
    -Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl \&lt;br /&gt;
    -Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl \&lt;br /&gt;
    -Duser.language=es \&lt;br /&gt;
    -Duser.country=AR \&lt;br /&gt;
    -Djava.awt.headless=true php.java.bridge.Standalone SERVLET:8081 &amp;lt;jasper nivel log&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Interfaces con otros módulos SIU ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega conexión con [[SIU-Guarani/version3.23.0/interfaces/bioma | BIOMA]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega conexión con [[SIU-Guarani/version3.23.0/interfaces/arai-reportes | Araí-Reportes]].&lt;br /&gt;
&lt;br /&gt;
== Interfaces con Sistemas externos ==&lt;br /&gt;
&lt;br /&gt;
* Se adapta la conexión con [[SIU-Guarani/version3.23.0/interfaces/renaper | Renaper]].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migra '''SIU TOBA Framework''' a la versión [https://github.com/SIU-Toba/framework/blob/v3.4.3/CHANGELOG.md v3.4.3].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la opción '''--excluir-vinculados''' en el comando '''bin/guarani exportar_usuarios_arai'''.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migra '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.7.0/CHANGELOG.md v2.7.0].&lt;br /&gt;
&lt;br /&gt;
* Se agrega [[SIU-Guarani/Version3.23.0/personalizaciones/personalizacion_parametros_configuracion | Personalización de parámetros de configuración]] y [[SIU-Guarani/Version3.23.0/personalizaciones/personalizacion_comandos_consola | Personalización de comandos de consola]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111473</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111473"/>
				<updated>2026-01-26T15:55:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Registro de nuevos reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
'''Uso de SQL embebido''' (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''NOTA: Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión '''3.23.0''', la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
&lt;br /&gt;
[https://documentacion.siu.edu.ar/reportes/ Documentación de Arai reportes]&lt;br /&gt;
&lt;br /&gt;
[https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.23.0/interfaces/arai-reportes Documentación de configuración en SIU-Guaraní ]&lt;br /&gt;
&lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con '''Araí Reportes''' en '''3w Autogestión'''  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''En gestión no usamos el use '''&lt;br /&gt;
&lt;br /&gt;
'''Verificación de habilitación del reporte'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Recuperación de información del reporte'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Asociación de la plantilla al reporte'''&lt;br /&gt;
&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' 3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente''':&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método '''getReportes''' de la siguiente clase:&lt;br /&gt;
&lt;br /&gt;
 personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== '''Convenciones utilizadas'''==&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111472</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111472"/>
				<updated>2026-01-26T15:53:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Nuevo enfoque con Araí Reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
'''Uso de SQL embebido''' (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''NOTA: Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión '''3.23.0''', la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
&lt;br /&gt;
[https://documentacion.siu.edu.ar/reportes/ Documentación de Arai reportes]&lt;br /&gt;
&lt;br /&gt;
[https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.23.0/interfaces/arai-reportes Documentación de configuración en SIU-Guaraní ]&lt;br /&gt;
&lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con '''Araí Reportes''' en '''3w Autogestión'''  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''En gestión no usamos el use '''&lt;br /&gt;
&lt;br /&gt;
'''Verificación de habilitación del reporte'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Recuperación de información del reporte'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Asociación de la plantilla al reporte'''&lt;br /&gt;
&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' 3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente''':&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111471</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111471"/>
				<updated>2026-01-26T15:52:45Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Nuevo enfoque con Araí Reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
'''Uso de SQL embebido''' (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''NOTA: Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión '''3.23.0''', la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
[https://documentacion.siu.edu.ar/reportes/ Documentación de Arai reportes]&lt;br /&gt;
[https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.23.0/interfaces/arai-reportes Documentación de configuración en SIU-Guaraní ]&lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con '''Araí Reportes''' en '''3w Autogestión'''  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''En gestión no usamos el use '''&lt;br /&gt;
&lt;br /&gt;
'''Verificación de habilitación del reporte'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Recuperación de información del reporte'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Asociación de la plantilla al reporte'''&lt;br /&gt;
&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' 3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente''':&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111470</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111470"/>
				<updated>2026-01-26T15:50:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Nuevo enfoque con Araí Reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
'''Uso de SQL embebido''' (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''NOTA: Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión '''3.23.0''', la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con '''Araí Reportes''' en '''3w Autogestión'''  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''En gestión no usamos el use '''&lt;br /&gt;
&lt;br /&gt;
'''Verificación de habilitación del reporte'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
'''Recuperación de información del reporte'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Asociación de la plantilla al reporte'''&lt;br /&gt;
&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' 3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente''':&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111469</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111469"/>
				<updated>2026-01-26T15:49:30Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Nuevo enfoque con Araí Reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
'''Uso de SQL embebido''' (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''NOTA: Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión '''3.23.0''', la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con '''Araí Reportes''' en '''3w Autogestión'''  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''En '''gestión''' no usamos el use '''&lt;br /&gt;
&lt;br /&gt;
'''Verificación de habilitación del reporte&lt;br /&gt;
''':&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Asociación de la plantilla al reporte'''&lt;br /&gt;
&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' 3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente''':&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111468</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111468"/>
				<updated>2026-01-26T15:48:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Nuevo enfoque con Araí Reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
'''Uso de SQL embebido''' (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''NOTA: Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión '''3.23.0''', la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con '''Araí Reportes''' en '''3w Autogestión'''  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''En '''gestión''' no usamos el use '''&lt;br /&gt;
&lt;br /&gt;
'''Verificación de habilitación del reporte&lt;br /&gt;
''':&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Asociación de la plantilla al reporte'''&lt;br /&gt;
&lt;br /&gt;
'''Gestion:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
''' 3w Autogestión:'''&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111463</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111463"/>
				<updated>2026-01-26T14:16:32Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Obtención de datos en los reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
'''Uso de SQL embebido''' (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''NOTA: Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111462</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111462"/>
				<updated>2026-01-26T14:15:24Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Obtención de datos en los reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
'''Uso de SQL embebido''' (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111461</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111461"/>
				<updated>2026-01-26T14:14:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Obtención de datos en los reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
&lt;br /&gt;
En este enfoque, el archivo '''.jrxml''' incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
&lt;br /&gt;
 La consulta se define en '''iReport''' configurando el Query Language como SQL.&lt;br /&gt;
&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111460</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111460"/>
				<updated>2026-01-26T14:13:07Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Estructura de directorios */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
En este enfoque, el archivo .jrxml incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
 La consulta se define en iReport configurando el Query Language como SQL.&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111459</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111459"/>
				<updated>2026-01-26T14:11:46Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
*&amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&lt;br /&gt;
&amp;lt;/span&amp;gt;&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
En este enfoque, el archivo .jrxml incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
 La consulta se define en iReport configurando el Query Language como SQL.&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111458</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111458"/>
				<updated>2026-01-26T14:10:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Personalización de reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.'''jrxml'''&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&lt;br /&gt;
&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
En este enfoque, el archivo .jrxml incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
 La consulta se define en iReport configurando el Query Language como SQL.&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111457</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111457"/>
				<updated>2026-01-26T14:09:40Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Personalización de reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión &amp;lt;span style=&amp;quot;color:#008000;&amp;quot;&amp;gt;.jrxml&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&lt;br /&gt;
&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
En este enfoque, el archivo .jrxml incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
 La consulta se define en iReport configurando el Query Language como SQL.&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111456</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111456"/>
				<updated>2026-01-26T14:07:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Personalización de reportes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante '''iReport''', generando archivos con extensión .jrxml&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&lt;br /&gt;
&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
En este enfoque, el archivo .jrxml incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
 La consulta se define en iReport configurando el Query Language como SQL.&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111455</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111455"/>
				<updated>2026-01-26T14:06:54Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Cambios introducidos a partir de la versión 3.23.0 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora '''Araí Reportes''' para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de '''JasperReports''' como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&lt;br /&gt;
&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
En este enfoque, el archivo .jrxml incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
 La consulta se define en iReport configurando el Query Language como SQL.&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111454</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111454"/>
				<updated>2026-01-26T14:06:21Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Personalización de impresiones en SIU-Guaraní */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora Araí Reportes para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de JasperReports como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&lt;br /&gt;
&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
En este enfoque, el archivo .jrxml incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
 La consulta se define en iReport configurando el Query Language como SQL.&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111453</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=111453"/>
				<updated>2026-01-26T14:04:29Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalización de impresiones en SIU-Guaraní ==&lt;br /&gt;
&lt;br /&gt;
SIU-Guaraní realiza la impresión de comprobantes y reportes a partir de documentos en formato '''PDF'''.&lt;br /&gt;
&lt;br /&gt;
Estos documentos se generan utilizando '''JasperReports''', un motor de generación de reportes basado en '''Java''', integrado y soportado por '''SIU-Toba'''.&lt;br /&gt;
A partir de la versión '''3.23.0''', se incorpora '''Araí Reportes''' como nuevo mecanismo de gestión y publicación de reportes, introduciendo cambios en la forma de personalizar impresiones que deben ser tenidos en cuenta.&lt;br /&gt;
&lt;br /&gt;
'''[https://documentacion.siu.edu.ar/reportes Documentación de Araí reportes]'''&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Cambios introducidos a partir de la versión 3.23.0==&lt;br /&gt;
&lt;br /&gt;
Desde la versión '''3.23.0''' de '''SIU-Guaraní''':&lt;br /&gt;
&lt;br /&gt;
* Se incorpora Araí Reportes para la administración de reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se modifica la forma de localizar y cargar plantillas personalizadas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se elimina el uso de consultas SQL embebidas en los archivos .jrxml.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* La obtención de datos para los reportes se realiza desde código PHP.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se centraliza la publicación de reportes mediante un proceso de instalación.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Estos cambios no afectan el uso de JasperReports como motor de generación, pero sí el flujo de trabajo para la personalización.&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Personalización de reportes==&lt;br /&gt;
La personalización de una impresión en '''SIU-Guaraní''' depende del tipo de modificación requerida, aunque en la mayoría de los casos implica el desarrollo o adaptación de una plantilla Jasper.&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml&lt;br /&gt;
&lt;br /&gt;
== Convenciones de nombres==&lt;br /&gt;
* Para un comprobante nuevo, la plantilla tendrá un nombre propio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Para personalizar un comprobante existente, la plantilla deberá conservar el nombre por defecto.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Al momento de imprimir, el sistema verifica en primer lugar si existe una plantilla personalizada; en caso afirmativo, utiliza dicha versión. Si no existe, utiliza la plantilla estándar incluida en Guaraní.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Estructura de directorios==&lt;br /&gt;
'''Versiones anteriores a 3.23.0'''&lt;br /&gt;
Las plantillas personalizadas se ubicaban en el siguiente directorio:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&lt;br /&gt;
&lt;br /&gt;
Al momento de la versión 3.23.0 funcionan los dos, aunque este camino será descontinuado en futuras versiones.&lt;br /&gt;
&lt;br /&gt;
Las plantillas se editan mediante iReport, generando archivos con extensión .jrxml, que luego deben compilarse para obtener los correspondientes archivos .jasper.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0'''&lt;br /&gt;
Las personalizaciones de reportes se organizan en el siguiente path:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&lt;br /&gt;
&lt;br /&gt;
Dentro de este directorio se disponen las siguientes carpetas:&lt;br /&gt;
*imagenes&lt;br /&gt;
 Destinada a agregar o reemplazar logos e imágenes utilizadas en los reportes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*estilos&lt;br /&gt;
 Contiene las hojas de estilo (CSS) utilizadas por las plantillas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*jasper&lt;br /&gt;
 Contiene las plantillas Jasper personalizadas (.jrxml).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Obtención de datos en los reportes==&lt;br /&gt;
Históricamente, en SIU-Guaraní se utilizaron dos enfoques para la obtención de datos en las plantillas Jasper.&lt;br /&gt;
Uso de SQL embebido (enfoque legacy)&lt;br /&gt;
En este enfoque, el archivo .jrxml incluye una consulta SQL directa a la base de datos de Guaraní.&lt;br /&gt;
 La consulta se define en iReport configurando el Query Language como SQL.&lt;br /&gt;
'''Este enfoque queda obsoleto a partir de la versión 3.23.0 y no debe utilizarse en nuevas personalizaciones.'''&lt;br /&gt;
&lt;br /&gt;
'''Uso de XML versiones anteriores a 3.23.0 '''&lt;br /&gt;
En este enfoque, los datos se generan desde PHP y se envían a Jasper en formato XML.&lt;br /&gt;
 SIU-Toba crea un archivo XML temporal en:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;path proyecto Guaraní&amp;gt;/temp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
El archivo se elimina automáticamente una vez generado el PDF.&lt;br /&gt;
En la plantilla .jrxml, el Query Language se define como XPath, indicando la ruta del contenido (por ejemplo /tabla/datos/fila).&lt;br /&gt;
Este enfoque se utiliza generalmente cuando los datos a imprimir ya se visualizan previamente en la interfaz del sistema (por ejemplo, actas de cursada o exámenes).&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
==Nuevo enfoque con Araí Reportes==&lt;br /&gt;
A partir de la versión 3.23.0, la obtención de datos para los reportes se realiza exclusivamente desde código PHP, eliminando las consultas embebidas en las plantillas.&lt;br /&gt;
Documentación de Arai reportes&lt;br /&gt;
Documentación de configuración en SIU-Guaraní &lt;br /&gt;
Ejemplo de recuperación de datos (anterior query embebida en el .jrxml):&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Implementación en PHP&lt;br /&gt;
Para trabajar con Araí Reportense 3w Autogestión  se deben utilizar las siguientes clases:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En gestión no usamos el use &lt;br /&gt;
&lt;br /&gt;
Verificación de habilitación del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Recuperación de información del reporte&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Asociación de la plantilla al reporte&lt;br /&gt;
Gestion:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 3w Autogestión:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cuando se pasa el JSON con los valores de la query, el reporte .jrxml debe tener lo siguiente:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;queryString language=&amp;quot;JSON&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;![CDATA[]]&amp;gt;&lt;br /&gt;
&amp;lt;/queryString&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cada columna de la query debe tener un &amp;quot;field&amp;quot;, ej:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;field name=&amp;quot;apellido_y_nombre&amp;quot; class=&amp;quot;java.lang.String&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Y se imprime así:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;textField&amp;gt;&lt;br /&gt;
&amp;lt;reportElement style=&amp;quot;Comun&amp;quot; x=&amp;quot;7&amp;quot; y=&amp;quot;118&amp;quot; width=&amp;quot;472&amp;quot; height=&amp;quot;72&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;textFieldExpression&amp;gt;&amp;lt;![CDATA[$F{apellido_y_nombre}]]&amp;gt;&amp;lt;/textFieldExpression&amp;gt;&lt;br /&gt;
&amp;lt;/textField&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Uso de parámetros, imágenes y códigos QR==&lt;br /&gt;
Pasaje de parámetros a la plantilla&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Inclusión de logos&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$uri_img = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
En el archivo .jrxml:&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Imágenes en Base64 (por ejemplo, códigos QR)&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
En el .jrxml:&lt;br /&gt;
&lt;br /&gt;
:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&lt;br /&gt;
    Base64.getDecoder().decode($P{verificacion_qr})&lt;br /&gt;
]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Publicación de reportes en Araí Reportes==&lt;br /&gt;
Una vez agregadas o modificadas las plantillas, se debe ejecutar el siguiente comando:&lt;br /&gt;
&lt;br /&gt;
bin/instalador reportes:actualizar&lt;br /&gt;
&lt;br /&gt;
Este proceso elimina y vuelve a crear los reportes en Araí Reportes, actualizando las tablas:&lt;br /&gt;
&lt;br /&gt;
* arai_reportes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* arai_reportes_archivos&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Registro de nuevos reportes==&lt;br /&gt;
Los reportes agregados deben registrarse en el método getReportes de la siguiente clase:&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Convenciones utilizadas&lt;br /&gt;
En este documento, &amp;lt;path proyecto Guaraní&amp;gt; refiere al directorio donde se encuentra instalada la aplicación SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/version3.23.0/interfaces/arai-reportes&amp;diff=110930</id>
		<title>SIU-Guarani/version3.23.0/interfaces/arai-reportes</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/version3.23.0/interfaces/arai-reportes&amp;diff=110930"/>
				<updated>2026-01-09T13:51:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
== Interfaz SIU-Guaraní - Araí-Reportes ==&lt;br /&gt;
&lt;br /&gt;
===En SIU-Guaraní Gestión===&lt;br /&gt;
&lt;br /&gt;
1) Solicitar al administrador de '''Araí-Reportes''' usuario, contraseña y URLs para utilizar el servicio REST. Luego crear y configurar el archivo &amp;lt;tt&amp;gt;&amp;lt;path proyecto Gestión&amp;gt;/instalacion/i__&amp;lt;instancia&amp;gt;/p__guarani/rest/rest_arai_reportes/cliente.ini&amp;lt;/tt&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
;cliente.ini&lt;br /&gt;
[conexion]&lt;br /&gt;
to = &amp;quot;&amp;lt;url_api_arai_reportes&amp;gt;/v2/&amp;quot;&lt;br /&gt;
auth_tipo = basic o digest &lt;br /&gt;
auth_usuario = &amp;lt;usuario&amp;gt;&lt;br /&gt;
auth_password = &amp;lt;password&amp;gt;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Se debe reemplazar:&lt;br /&gt;
* &amp;lt;path proyecto Gestión&amp;gt;: por el path donde se encuentra instalado el proyecto '''SIU-Guaraní Gestión'''&lt;br /&gt;
* &amp;lt;instancia&amp;gt;: por el nombre de la instancia&lt;br /&gt;
* &amp;lt;url_api_arai_reportes&amp;gt;: por la URL de la API donde se encuentra '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;usuario&amp;gt;: Usuario otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;password&amp;gt;: Password otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
&lt;br /&gt;
Para más información, consultar en la explicación de [https://toba.siu.edu.ar/trac/toba/wiki/Referencia/Rest REST de Toba]&lt;br /&gt;
&lt;br /&gt;
2) Finalmente ejecutar el comando '''bin/instalador reportes:actualizar''' para subir los reportes e imágenes.&lt;br /&gt;
&lt;br /&gt;
===En SIU-Guaraní Autogestión===&lt;br /&gt;
1) Solicitar al administrador de '''Araí-Reportes''' usuario, contraseña y URLs para utilizar el servicio REST. &lt;br /&gt;
&lt;br /&gt;
2) También configurar el archivo &amp;lt;tt&amp;gt;&amp;lt;path proyecto Autogestión&amp;gt;/instalacion/servicios_web_config.php&amp;lt;/tt&amp;gt; (si no existe hacer una copia desde el archivo '''servicios_web_config_template.php''' ubicado en el mismo directorio)&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
'consumidos' =&amp;gt; [&lt;br /&gt;
&lt;br /&gt;
	'arai_reportes' =&amp;gt; [&lt;br /&gt;
		'tipo' =&amp;gt; 'rest',&lt;br /&gt;
		'parametros' =&amp;gt; [ //usa cliente Guzzle, son opciones en formato guzzle&lt;br /&gt;
			'base_uri' =&amp;gt; &amp;quot;&amp;lt;url_api_arai_reportes&amp;gt;/v2/&amp;quot;,&lt;br /&gt;
			'auth' =&amp;gt; ['&amp;lt;usuario&amp;gt;', '&amp;lt;password&amp;gt;', &amp;lt;tipo-auth&amp;gt;), //user, password, según guzzle&lt;br /&gt;
		]&lt;br /&gt;
	],&lt;br /&gt;
&lt;br /&gt;
]&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Se debe reemplazar:&lt;br /&gt;
* &amp;lt;path proyecto Autogestión&amp;gt;: por el path donde se encuentra instalado el proyecto '''SIU-Guaraní Autogestión'''&lt;br /&gt;
* &amp;lt;url_api_arai_reportes&amp;gt;: por la URL de la API donde se encuentra '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;usuario&amp;gt;: Usuario otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;password&amp;gt;: Password otorgado por el administrador de '''Araí-Reportes'''&lt;br /&gt;
* &amp;lt;tipo-auth&amp;gt;: '''basic''' o '''digest'''. [http://docs.guzzlephp.org/en/stable/request-options.html#auth Ver documentación de Guzzle].&lt;br /&gt;
&lt;br /&gt;
===Personalización de certificados y constancias===&lt;br /&gt;
Para agregar o personalizar certificados y constancias, se debe modificar el archivo dentro de la carpeta de gestión :&lt;br /&gt;
&lt;br /&gt;
personalizacion/php/nucleo/arai/arai_reportes.php&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dentro de este archivo, la definición de los reportes se realiza en la función:&lt;br /&gt;
&lt;br /&gt;
getReportes()&lt;br /&gt;
&lt;br /&gt;
Estructura de un reporte&lt;br /&gt;
&lt;br /&gt;
Cada certificado o constancia se define como un elemento del arreglo retornado por getReportes().&lt;br /&gt;
A continuación se muestra un ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
return [&lt;br /&gt;
    1 =&amp;gt; [&lt;br /&gt;
        'id' =&amp;gt; 'ConstanciaRegular.jrxml',&lt;br /&gt;
        'titulo' =&amp;gt; 'Constancia de Alumno Regular',&lt;br /&gt;
        'clase_consulta' =&amp;gt; 'co_constancias',&lt;br /&gt;
        'metodo_consulta' =&amp;gt; 'get_datos_constancia_regular'&lt;br /&gt;
    ],&lt;br /&gt;
];&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Descripción de los campos&lt;br /&gt;
&lt;br /&gt;
id&lt;br /&gt;
Nombre del archivo .jrxml que contiene el diseño del reporte (JasperReport).&lt;br /&gt;
&lt;br /&gt;
titulo&lt;br /&gt;
Título descriptivo del certificado o constancia.&lt;br /&gt;
Este valor suele mostrarse en la interfaz de usuario.&lt;br /&gt;
&lt;br /&gt;
clase_consulta&lt;br /&gt;
Clase PHP encargada de obtener los datos necesarios para el reporte.&lt;br /&gt;
&lt;br /&gt;
metodo_consulta&lt;br /&gt;
Método de la clase indicada en clase_consulta que retorna la información utilizada para completar el certificado.&lt;br /&gt;
&lt;br /&gt;
Consideraciones&lt;br /&gt;
&lt;br /&gt;
Cada nuevo certificado o constancia debe agregarse como un nuevo índice dentro del arreglo.&lt;br /&gt;
&lt;br /&gt;
El archivo .jrxml debe existir y coincidir exactamente con el valor definido en id.&lt;br /&gt;
&lt;br /&gt;
El método de consulta debe devolver los datos en el formato esperado por el reporte.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=110340</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=110340"/>
				<updated>2025-11-28T12:43:28Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalizar impresiones ==&lt;br /&gt;
Guaraní realiza la impresión de comprobantes y reportes a partir de documentos PDF. Estos son creados utilizando '''[[SIU-Guarani/Version3.22.0/jasper|JASPER]]''', un motor de generación de reportes basado en '''JAVA''' soportado por '''SIU-Toba'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de la versión 3.23.0 Empezamos a cambiar la forma de crearlos empezamos a usar Araí Reportes.&lt;br /&gt;
Esto conlleva algunos cambios a tener en cuenta al momento de personalizar &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La personalización de cualquier impresión en Guaraní dependerá de lo que se quiera personalizar, aunque comúnmente comprende desarrollar una plantilla JASPER para la impresión del formato deseado. Para ésto se utiliza '''iReports''' para la edición de las mismas, en archivos .jrxml, que luego se compilan generando sus correspondientes archivos .jasper&amp;lt;br&amp;gt;&lt;br /&gt;
En términos generales, tanto agregar como modificar una plantilla existente, implicará que se agreguen los archivos .jrxml y .jasper propios correspondientes a la misma, en el path: &amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/tt&amp;gt;.&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Donde tendrán tres carpetas para imagenes, estilo y jasper&lt;br /&gt;
En la carpeta imagenes es para reemplazar o agregar logos o imagenes adiciones.&lt;br /&gt;
En la carpeta estilo es para los css.&lt;br /&gt;
En la carpeta jasper es para reemplazar o agregar plantillas de jasper jrxml&lt;br /&gt;
&lt;br /&gt;
 Si se trata de un comprobante nuevo tendrá su nombre propio, en caso de estar personalizando uno existente, tendrá el mismo nombre que el provisto por Guaraní. De esta forma, el sistema al intentar levantar el archivo asociado al comprobante que se desea imprimir, verifica en primera instancia si existe un archivo con ese nombre en la carpeta indicada de personalizaciones, con lo cual se imprimirá la versión propia. En otro caso, utilizará la plantilla asociada en Guaraní para la impresión.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Dentro de todas las impresiones que se realizan en Jasper en el sistema: Constancias de solicitud manual, Certificados de Egreso, Actas, Reportes, etc, en Guaraní se utilizaron dos tipos de .jrxml diferentes, en cuanto a la forma en que se envían y recuperan los datos a mostrar:&lt;br /&gt;
&lt;br /&gt;
* '''Lenguaje Sql''':&lt;br /&gt;
*: En esta alternativa, en el archivo .jrxml se realiza una consulta sql a la base de datos de negocios de Guaraní para obtener los datos a mostrar en el reporte o constancia, a partir de los parámetros recibidos. Editando el jrxml desde el iReports, en la Report Query se define el query language como Sql y se especifica la consulta con los campos que se desean recuperar.&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
ya no usaremos querys Para recuperar datos del reporte, lo que antes era la query embebida en el mismo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Lenguaje Xml''':&lt;br /&gt;
*: En este caso, además de los parámetros básicos que se envían, se pasan los datos desde el código PHP a Jasper en formato xml, para lo cual Toba crea un archivo temporal (en &amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/temp&amp;lt;/tt&amp;gt;), que se elimina una vez generado el pdf. En la Report Query, se define el query language como ''XPath'' y se especifica dónde se ubicará el contenido ('/tabla/datos/fila'). Esto permite definir los diferentes campos a utilizar para mostrar en el contenido de la plantilla, con valores como por ej: para el campo: ''id_clave'',  valor: ''dato[@clave=&amp;quot;id_clave&amp;quot;]/@valor''. &amp;lt;br&amp;gt; Esta alternativa se utiliza generalmente cuando en la operación del sistema desde la cual se realiza la impresión, se previsualizan en pantalla los mismos datos que desean mostrarse en el pdf. Por ejemplo, para el caso de un reporte básico, o en Actas, tanto de Exámenes como Cursadas, donde en la operación se visualiza el cuadro de Alumnos con sus datos asociados.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dentro del código de la clase PHP en la cual se implementa la impresión (asociada al componente Toba que define el evento), se encontrará el método: ''vista_jasperreports'', dónde se codifican los detalles de la misma. En dicho método se incluirá la asociación con la plantilla .jrmxl correspondiente, a partir de las sentencias: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$path = guarani::get_path_reporte_jasper('plantilla.jasper'); &lt;br /&gt;
$report-&amp;gt;set_path_reporte($path);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
Para recuperar URI del reporte:&lt;br /&gt;
&lt;br /&gt;
// Recupero la URI del reporte&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Observar que en el método get_path_reporte_jasper de la clase ''guarani_nucleo.php'' es dónde se define el mecanismo de buscar primero el archivo .jrmxl en la carpeta de personalizaciones, o tomar la plantilla brindada por Guaraní, en caso de no existir la propia.)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Aquí también se realizará el pasaje de parámetros a la plantilla con sentencias del estilo: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$report-&amp;gt;set_parametros($params); dónde $params es un arreglo asociativo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Y, para el caso de la segunda alternativa, también se encontrarán las sentencias donde se asocia el xml correspondiente, por ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$xml = $this-&amp;gt;dep('cuadro')-&amp;gt;vista_xml(); //Se genera un xml a partir de los datos del cuadro&lt;br /&gt;
$report-&amp;gt;set_xml(utf8_e_seguro($xml));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de la versión 3.23.0  cambia;&lt;br /&gt;
Hacer uso de la clase arai_reportes y toba_vista_araireportes :&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&lt;br /&gt;
Para saber si un reporte esta habilitado en Araí Reportes:&lt;br /&gt;
&lt;br /&gt;
// Me fijo si esta habilitado para Araí Reportes&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
Para recuperar información de un reporte:&lt;br /&gt;
&lt;br /&gt;
// Recupero información del reporte&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
Setear parámetros, como por ejemplo logo y titulo:&lt;br /&gt;
&lt;br /&gt;
// Recupero la URI del logo&lt;br /&gt;
$uri_img    = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
// Seteo el título del reporte&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
Luego el logo se puede mostrar de la siguiente manera en el .jrxml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
Pasar imágenes en BASE64, ej QR:&lt;br /&gt;
&lt;br /&gt;
// Genero el base64 del QR a partir de la imagen&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
// Elimino la imagen del QR&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
Luego el QR se puede mostrar de la siguiente manera en el .jrxml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[Base64.getDecoder().decode($P{verificacion_qr})]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se utilizará &amp;lt;path proyecto Guaraní&amp;gt; para referirse al path donde se encuentra instalado el SIU-Guaraní Gestión.&lt;br /&gt;
&lt;br /&gt;
Luego ejecutar el comando bin/instalador reportes:actualizar para que se suban a Araí-Reportes (se elimina todo y se vuelve a crear en Araí-Reportes). También se guardan en la tabla arai_reportes y arai_reportes_archivos .&lt;br /&gt;
&lt;br /&gt;
Los reportes agregados también se deben registrar en la función getReportes de la clase php/nucleo/arai/arai_reportes_nucleo.php.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=108693</id>
		<title>SIU-Guarani/Version3.22.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=108693"/>
				<updated>2025-10-01T16:13:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.3&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''2025'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.22.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.22.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.22.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.3 Con versión 3.20.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''06/03/2025'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.22.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.22.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.19.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''22/10/2024'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.22.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.19.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''08/07/2024'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032200/html_v3.22.0.html Modelo 3.22.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
** Se debe utilizar '''Composer''' versión 2. [[SIU-Guarani/Version3.22.0/instalacion_desde_cero/requisitos_previos/linux | Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; color: #c09853; padding: 1em; margin: 1em 0px; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; display: inline-block;&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;¡Nueva versión de API v2.1!&amp;lt;/strong&amp;gt; (No rompe compatibilidad hacia atrás). [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 Ver Referencia de API para Guaraní (v2.1)]&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Se agregan los siguiente Web Services para mejorar la interoperabilidad con SIU Sanavirón Quilmes:&lt;br /&gt;
** '''GET /licencias-estudiantiles''': Devuelve una lista de Licencias Estudiantiles.  &lt;br /&gt;
** '''GET /alumnos-no-regulares''': Devuelve una lista de alumnos no regulares en un período de tiempo con fecha de perdida de regularidad y readmisión.&lt;br /&gt;
** '''GET /alumnos-pasivos''': Devuelve una lista de alumnos pasivos en un período de tiempo con historial de cambios de calidad.&lt;br /&gt;
** '''GET /alumnos-cambios-calidades''': Devuelve una lista de alumnos con cambios de calidades en un período de tiempo.&lt;br /&gt;
&lt;br /&gt;
* Se agregan y modifican los siguiente Web Services para mejorar la interoperabilidad con SIU Tehuelche:&lt;br /&gt;
** '''POST /reaperturas-convocatorias''': Recibe reaperturas a convocatorias a becas emitidas por Tehuelche.&lt;br /&gt;
** '''GET /convocatorias/{id_convocatoria}/definicion''': Se agrega '''Documentación requerida''' para el relevamiento.&lt;br /&gt;
** '''GET /convocatorias/{id_convocatoria}/aspirantes''': Se agrega '''Documentación requerida''' para el relevamiento, datos modificados por reapertura. Ademas de los filtros '''cuil''' y '''con_reaperturas'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; color: #c09853; padding: 1em; margin: 1em 0px; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; display: inline-block;&amp;quot;&amp;gt;Recrear el archivo &amp;lt;strong&amp;gt;instalacion/i__desarrollo/p__guarani/rest/recursos_usuarios.php&amp;lt;/strong&amp;gt; a partir del template &amp;lt;strong&amp;gt;php/rest/recursos_usuarios_template.php&amp;lt;/strong&amp;gt;, [[SIU-Guarani/Version3.22.0/API_REST_GUARANI#Configuraci.C3.B3n_de_Usuarios_y_Perfil_Funcional | Ver documentación aquí]].&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se incorporó el parámetro [[SIU-Guarani/Version3.22.0/configuracion_del_sistema/parametros#Generales | nombre_persona_doc_oficiales]] que define con qué nombre deberán aparecer las personas en los documentos oficiales.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; color: #c09853; padding: 1em; margin: 1em 0px; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; display: inline-block;&amp;quot;&amp;gt;La incorporación hizo que se modificaran las plantillas de jaspers, por lo cual si había personalizaciones en las mismas debemos volver a adaptar esas personalizaciones a este nuevo cambio.&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.6.0/CHANGELOG.md v2.6.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la opción '''--no-interactivo''' al comando '''bin/guarani importar_fotos''', pasando dicha opción se puede ejecutar con un cron, ej:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #d9edf7; color: #3a87ad; padding: 1em; margin: 1em 0px; border: 1px solid #bce8f1; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; display: inline-block;&amp;quot;&amp;gt;$ bin/guarani importar_fotos des01 --no-interactivo&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=107324</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=107324"/>
				<updated>2025-06-02T14:16:12Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Personalizar impresiones ==&lt;br /&gt;
Guaraní realiza la impresión de comprobantes y reportes a partir de documentos PDF. Estos son creados utilizando '''[[SIU-Guarani/Version3.22.0/jasper|JASPER]]''', un motor de generación de reportes basado en '''JAVA''' soportado por '''SIU-Toba'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
A partir de la versión 3.23.0 Empezamos a cambiar la forma de crearlos empezamos a usar Araí Reportes.&lt;br /&gt;
Esto conlleva algunos cambios a tener en cuenta al momento de personalizar &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La personalización de cualquier impresión en Guaraní dependerá de lo que se quiera personalizar, aunque comúnmente comprende desarrollar una plantilla JASPER para la impresión del formato deseado. Para ésto se utiliza '''iReports''' para la edición de las mismas, en archivos .jrxml, que luego se compilan generando sus correspondientes archivos .jasper&amp;lt;br&amp;gt;&lt;br /&gt;
En términos generales, tanto agregar como modificar una plantilla existente, implicará que se agreguen los archivos .jrxml y .jasper propios correspondientes a la misma, en el path: &amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/tt&amp;gt;.&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Donde tendrán tres carpetas para imagenes, estilo y jasper&lt;br /&gt;
En la carpeta imagenes es para reemplazar o agregar logos o imagenes adiciones.&lt;br /&gt;
En la carpeta estilo es para los css.&lt;br /&gt;
En la carpeta jasper es para reemplazar o agregar plantillas de jasper jrxml&lt;br /&gt;
&lt;br /&gt;
 Si se trata de un comprobante nuevo tendrá su nombre propio, en caso de estar personalizando uno existente, tendrá el mismo nombre que el provisto por Guaraní. De esta forma, el sistema al intentar levantar el archivo asociado al comprobante que se desea imprimir, verifica en primera instancia si existe un archivo con ese nombre en la carpeta indicada de personalizaciones, con lo cual se imprimirá la versión propia. En otro caso, utilizará la plantilla asociada en Guaraní para la impresión.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Dentro de todas las impresiones que se realizan en Jasper en el sistema: Constancias de solicitud manual, Certificados de Egreso, Actas, Reportes, etc, en Guaraní se utilizaron dos tipos de .jrxml diferentes, en cuanto a la forma en que se envían y recuperan los datos a mostrar:&lt;br /&gt;
&lt;br /&gt;
* '''Lenguaje Sql''':&lt;br /&gt;
*: En esta alternativa, en el archivo .jrxml se realiza una consulta sql a la base de datos de negocios de Guaraní para obtener los datos a mostrar en el reporte o constancia, a partir de los parámetros recibidos. Editando el jrxml desde el iReports, en la Report Query se define el query language como Sql y se especifica la consulta con los campos que se desean recuperar.&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
ya no usaremos querys Para recuperar datos del reporte, lo que antes era la query embebida en el mismo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Lenguaje Xml''':&lt;br /&gt;
*: En este caso, además de los parámetros básicos que se envían, se pasan los datos desde el código PHP a Jasper en formato xml, para lo cual Toba crea un archivo temporal (en &amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/temp&amp;lt;/tt&amp;gt;), que se elimina una vez generado el pdf. En la Report Query, se define el query language como ''XPath'' y se especifica dónde se ubicará el contenido ('/tabla/datos/fila'). Esto permite definir los diferentes campos a utilizar para mostrar en el contenido de la plantilla, con valores como por ej: para el campo: ''id_clave'',  valor: ''dato[@clave=&amp;quot;id_clave&amp;quot;]/@valor''. &amp;lt;br&amp;gt; Esta alternativa se utiliza generalmente cuando en la operación del sistema desde la cual se realiza la impresión, se previsualizan en pantalla los mismos datos que desean mostrarse en el pdf. Por ejemplo, para el caso de un reporte básico, o en Actas, tanto de Exámenes como Cursadas, donde en la operación se visualiza el cuadro de Alumnos con sus datos asociados.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dentro del código de la clase PHP en la cual se implementa la impresión (asociada al componente Toba que define el evento), se encontrará el método: ''vista_jasperreports'', dónde se codifican los detalles de la misma. En dicho método se incluirá la asociación con la plantilla .jrmxl correspondiente, a partir de las sentencias: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$path = guarani::get_path_reporte_jasper('plantilla.jasper'); &lt;br /&gt;
$report-&amp;gt;set_path_reporte($path);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
Para recuperar URI del reporte:&lt;br /&gt;
&lt;br /&gt;
// Recupero la URI del reporte&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Observar que en el método get_path_reporte_jasper de la clase ''guarani_nucleo.php'' es dónde se define el mecanismo de buscar primero el archivo .jrmxl en la carpeta de personalizaciones, o tomar la plantilla brindada por Guaraní, en caso de no existir la propia.)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Aquí también se realizará el pasaje de parámetros a la plantilla con sentencias del estilo: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$report-&amp;gt;set_parametros($params); dónde $params es un arreglo asociativo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Y, para el caso de la segunda alternativa, también se encontrarán las sentencias donde se asocia el xml correspondiente, por ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$xml = $this-&amp;gt;dep('cuadro')-&amp;gt;vista_xml(); //Se genera un xml a partir de los datos del cuadro&lt;br /&gt;
$report-&amp;gt;set_xml(utf8_e_seguro($xml));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de la versión 3.23.0  cambia;&lt;br /&gt;
Hacer uso de la clase arai_reportes y toba_vista_araireportes :&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&lt;br /&gt;
Para saber si un reporte esta habilitado en Araí Reportes:&lt;br /&gt;
&lt;br /&gt;
// Me fijo si esta habilitado para Araí Reportes&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
Para recuperar información de un reporte:&lt;br /&gt;
&lt;br /&gt;
// Recupero información del reporte&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
Setear parámetros, como por ejemplo logo y titulo:&lt;br /&gt;
&lt;br /&gt;
// Recupero la URI del logo&lt;br /&gt;
$uri_img    = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
// Seteo el título del reporte&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
Luego el logo se puede mostrar de la siguiente manera en el .jrxml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
Pasar imágenes en BASE64, ej QR:&lt;br /&gt;
&lt;br /&gt;
// Genero el base64 del QR a partir de la imagen&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
// Elimino la imagen del QR&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
Luego el QR se puede mostrar de la siguiente manera en el .jrxml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[Base64.getDecoder().decode($P{verificacion_qr})]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se utilizará &amp;lt;path proyecto Guaraní&amp;gt; para referirse al path donde se encuentra instalado el SIU-Guaraní Gestión.&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=105921</id>
		<title>SIU-Guarani/Version3.23.0/personalizaciones/impresiones nuevo esquema</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.23.0/personalizaciones/impresiones_nuevo_esquema&amp;diff=105921"/>
				<updated>2025-03-20T22:24:02Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: Página creada con «&amp;lt;!--== Personalizar impresiones == Guaraní realiza la impresión de comprobantes y reportes a partir de documentos PDF. Estos son creados utilizando '''SIU-Guarani/Versi...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--== Personalizar impresiones ==&lt;br /&gt;
Guaraní realiza la impresión de comprobantes y reportes a partir de documentos PDF. Estos son creados utilizando '''[[SIU-Guarani/Version3.22.0/jasper|JASPER]]''', un motor de generación de reportes basado en '''JAVA''' soportado por '''SIU-Toba'''.&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
A partir de la versión 3.23.0 Empezamos a cambiar la forma de crearlos empezamos a usar Araí Reportes.&lt;br /&gt;
Esto conlleva algunos cambios a tener en cuenta al momento de personalizar &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
La personalización de cualquier impresión en Guaraní dependerá de lo que se quiera personalizar, aunque comúnmente comprende desarrollar una plantilla JASPER para la impresión del formato deseado. Para ésto se utiliza '''iReports''' para la edición de las mismas, en archivos .jrxml, que luego se compilan generando sus correspondientes archivos .jasper&amp;lt;br&amp;gt;&lt;br /&gt;
En términos generales, tanto agregar como modificar una plantilla existente, implicará que se agreguen los archivos .jrxml y .jasper propios correspondientes a la misma, en el path: &amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/exportaciones/jasper&amp;lt;/tt&amp;gt;.&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
&amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/personalizacion/reportes/nucleo/&amp;lt;/tt&amp;gt;.&lt;br /&gt;
Donde tendrán tres carpetas para imagenes, estilo y jasper&lt;br /&gt;
En la carpeta imagenes es para reemplazar o agregar logos o imagenes adiciones.&lt;br /&gt;
En la carpeta estilo es para los css.&lt;br /&gt;
En la carpeta jasper es para reemplazar o agregar plantillas de jasper jrxml&lt;br /&gt;
&lt;br /&gt;
 Si se trata de un comprobante nuevo tendrá su nombre propio, en caso de estar personalizando uno existente, tendrá el mismo nombre que el provisto por Guaraní. De esta forma, el sistema al intentar levantar el archivo asociado al comprobante que se desea imprimir, verifica en primera instancia si existe un archivo con ese nombre en la carpeta indicada de personalizaciones, con lo cual se imprimirá la versión propia. En otro caso, utilizará la plantilla asociada en Guaraní para la impresión.&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Dentro de todas las impresiones que se realizan en Jasper en el sistema: Constancias de solicitud manual, Certificados de Egreso, Actas, Reportes, etc, en Guaraní se utilizaron dos tipos de .jrxml diferentes, en cuanto a la forma en que se envían y recuperan los datos a mostrar:&lt;br /&gt;
&lt;br /&gt;
* '''Lenguaje Sql''':&lt;br /&gt;
*: En esta alternativa, en el archivo .jrxml se realiza una consulta sql a la base de datos de negocios de Guaraní para obtener los datos a mostrar en el reporte o constancia, a partir de los parámetros recibidos. Editando el jrxml desde el iReports, en la Report Query se define el query language como Sql y se especifica la consulta con los campos que se desean recuperar.&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
ya no usaremos querys Para recuperar datos del reporte, lo que antes era la query embebida en el mismo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
// Recupero datos para el detalle del reporte si corresponde&lt;br /&gt;
if (isset($informacionReporte['clase_consulta']) &amp;amp;&amp;amp; isset($informacionReporte['metodo_consulta'])) {&lt;br /&gt;
    $clase_consulta = $informacionReporte['clase_consulta'];&lt;br /&gt;
    $metodo_consulta = $informacionReporte['metodo_consulta'];&lt;br /&gt;
    $datos  = \toba::consulta_php($clase_consulta)-&amp;gt;$metodo_consulta($solicitud);&lt;br /&gt;
&lt;br /&gt;
    // Seteo datos para el reporte&lt;br /&gt;
    $report-&amp;gt;set_json(rest_encode($datos));&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* '''Lenguaje Xml''':&lt;br /&gt;
*: En este caso, además de los parámetros básicos que se envían, se pasan los datos desde el código PHP a Jasper en formato xml, para lo cual Toba crea un archivo temporal (en &amp;lt;tt&amp;gt;&amp;lt;path proyecto Guaraní&amp;gt;/temp&amp;lt;/tt&amp;gt;), que se elimina una vez generado el pdf. En la Report Query, se define el query language como ''XPath'' y se especifica dónde se ubicará el contenido ('/tabla/datos/fila'). Esto permite definir los diferentes campos a utilizar para mostrar en el contenido de la plantilla, con valores como por ej: para el campo: ''id_clave'',  valor: ''dato[@clave=&amp;quot;id_clave&amp;quot;]/@valor''. &amp;lt;br&amp;gt; Esta alternativa se utiliza generalmente cuando en la operación del sistema desde la cual se realiza la impresión, se previsualizan en pantalla los mismos datos que desean mostrarse en el pdf. Por ejemplo, para el caso de un reporte básico, o en Actas, tanto de Exámenes como Cursadas, donde en la operación se visualiza el cuadro de Alumnos con sus datos asociados.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Dentro del código de la clase PHP en la cual se implementa la impresión (asociada al componente Toba que define el evento), se encontrará el método: ''vista_jasperreports'', dónde se codifican los detalles de la misma. En dicho método se incluirá la asociación con la plantilla .jrmxl correspondiente, a partir de las sentencias: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$path = guarani::get_path_reporte_jasper('plantilla.jasper'); &lt;br /&gt;
$report-&amp;gt;set_path_reporte($path);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''A partir de la versión 3.23.0 Empezamos a cambia;'''&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
Para recuperar URI del reporte:&lt;br /&gt;
&lt;br /&gt;
// Recupero la URI del reporte&lt;br /&gt;
$uri    = \toba::consulta_php('co_arai_reportes')-&amp;gt;get_uri_reporte($informacionReporte['id']);&lt;br /&gt;
&lt;br /&gt;
// Se debe instanciar toba_vista_araireportes&lt;br /&gt;
$report = new toba_vista_araireportes();&lt;br /&gt;
$report-&amp;gt;set_path_reporte($uri);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(Observar que en el método get_path_reporte_jasper de la clase ''guarani_nucleo.php'' es dónde se define el mecanismo de buscar primero el archivo .jrmxl en la carpeta de personalizaciones, o tomar la plantilla brindada por Guaraní, en caso de no existir la propia.)&lt;br /&gt;
&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Aquí también se realizará el pasaje de parámetros a la plantilla con sentencias del estilo: &amp;lt;br&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$report-&amp;gt;set_parametros($params); dónde $params es un arreglo asociativo&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Y, para el caso de la segunda alternativa, también se encontrarán las sentencias donde se asocia el xml correspondiente, por ejemplo:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
$xml = $this-&amp;gt;dep('cuadro')-&amp;gt;vista_xml(); //Se genera un xml a partir de los datos del cuadro&lt;br /&gt;
$report-&amp;gt;set_xml(utf8_e_seguro($xml));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
A partir de la versión 3.23.0  cambia;&lt;br /&gt;
Hacer uso de la clase arai_reportes y toba_vista_araireportes :&lt;br /&gt;
&lt;br /&gt;
use siu\modelo_g3\arai_reportes;&lt;br /&gt;
use siu\modelo_g3\toba_vista_araireportes;&lt;br /&gt;
&lt;br /&gt;
Para saber si un reporte esta habilitado en Araí Reportes:&lt;br /&gt;
&lt;br /&gt;
// Me fijo si esta habilitado para Araí Reportes&lt;br /&gt;
$reporteHabilitado = arai_reportes::esReporteHabilitado($id);&lt;br /&gt;
Para recuperar información de un reporte:&lt;br /&gt;
&lt;br /&gt;
// Recupero información del reporte&lt;br /&gt;
$informacionReporte = arai_reportes::getInformacionReporteById($id);&lt;br /&gt;
Setear parámetros, como por ejemplo logo y titulo:&lt;br /&gt;
&lt;br /&gt;
// Recupero la URI del logo&lt;br /&gt;
$uri_img    = arai_reportes::getUriLogoImpresion();&lt;br /&gt;
$report-&amp;gt;set_parametro('uri_logo', 'S', $uri_img);&lt;br /&gt;
&lt;br /&gt;
// Seteo el título del reporte&lt;br /&gt;
$report-&amp;gt;set_parametro('titulo', 'S', $informacionReporte['titulo']);&lt;br /&gt;
Luego el logo se puede mostrar de la siguiente manera en el .jrxml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[&amp;quot;repo:&amp;quot; + $P{uri_logo}]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
Pasar imágenes en BASE64, ej QR:&lt;br /&gt;
&lt;br /&gt;
// Genero el base64 del QR a partir de la imagen&lt;br /&gt;
$base64_qr = base64_encode(file_get_contents($path_qr));&lt;br /&gt;
// Elimino la imagen del QR&lt;br /&gt;
unlink($path_qr);&lt;br /&gt;
$report-&amp;gt;set_parametro('verificacion_qr', 'S', $base64_qr);&lt;br /&gt;
Luego el QR se puede mostrar de la siguiente manera en el .jrxml:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;import value=&amp;quot;java.util.Base64&amp;quot;/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;imageExpression&amp;gt;&amp;lt;![CDATA[Base64.getDecoder().decode($P{verificacion_qr})]]&amp;gt;&amp;lt;/imageExpression&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Se utilizará &amp;lt;path proyecto Guaraní&amp;gt; para referirse al path donde se encuentra instalado el SIU-Guaraní Gestión.--&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/preinscripcion3.22.0/actualizacion&amp;diff=105787</id>
		<title>SIU-Guarani/preinscripcion3.22.0/actualizacion</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/preinscripcion3.22.0/actualizacion&amp;diff=105787"/>
				<updated>2025-03-06T12:56:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right; margin: 0 0 15px 15px;&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actualización desde versión 3.21.0 ==&lt;br /&gt;
&lt;br /&gt;
Si se dispone de una instalación en producción de la versión 3.21.0 de Preinscripción y se desea actualizar a 3.22.2, recomendamos seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
=== Copia de personalizaciones ===&lt;br /&gt;
&lt;br /&gt;
Si se han desarrollado personalizaciones en la versión 3.21.0, seguir los siguientes pasos en un '''servidor de desarrollo''':&lt;br /&gt;
&lt;br /&gt;
'''PRECONDICIÓN''': Tener versionadas en el repositorio SVN, en la rama de la versión 3.21.0, todas las personalizaciones &lt;br /&gt;
&lt;br /&gt;
Realizar una copia de las personalizaciones anteriores a la nueva versión. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn cp &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.21.0/src/pers/nombre_carpeta_pers&lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.22.2/src/pers/nombre_carpeta_pers&lt;br /&gt;
  -m &amp;quot;Personalizaciones Preinscripción 3.22.2 &amp;lt;institución&amp;gt;: se copian las personalizaciones de la versión 3.21.0&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Con esta acción se realiza la copia de las personalizaciones anteriores directamente en el repositorio y se mantiene la historia de las mismas.&lt;br /&gt;
&lt;br /&gt;
=== Instalación de desarrollo ===&lt;br /&gt;
Realizar una [[SIU-Guarani/preinscripcion3.22.0/instalacion_desde_cero/instalacion|instalación desde cero]] de desarrollo de la versión 3.22.2 para probar la compatibilidad de personalizaciones.&lt;br /&gt;
&lt;br /&gt;
=== Versión de cuatro dígitos ===&lt;br /&gt;
Una vez testeada la instalación del paso anterior, siguiendo el mismo esquema de versionado propuesto para los otros módulos del sistema, se recomienda generar una [[SIU-Guarani/preinscripcion3.22.0/crear_version_propia|versión propia de cuatro dígitos]], inalterable, para publicar en producción.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn cp &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.22.0    &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/versiones/3.22.2x&lt;br /&gt;
  -m &amp;quot;&amp;lt;siglas institución&amp;gt; Creación de la version 3.22.2.x de Preinscripción&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalación en producción ===&lt;br /&gt;
&lt;br /&gt;
Disponiendo de la versión de cuatro dígitos, seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
#Mover el archivo '''config.php''' de la versión actual a una carpeta externa, para tener como referencia.&lt;br /&gt;
#Realizar un backup de la base de datos de producción.&lt;br /&gt;
#Realizar un ''svn switch'' de la ''working copy''. Ejemplo:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn sw https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/versiones/3.22.2.1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Sobre la base de producción, correr el script '''mig_3.21.0_a_3.22.0.sql''' para llevar la base a la version 3.22.0 y luego correr el archivo  '''conversion.sql ''' , distribuidos con la versión en la carpeta '''BD/conversion'''.&lt;br /&gt;
#Crear, a partir del archivo '''config_template.php''' el '''config.php''' y completarlo, usando como referencia el archivo guardado en el paso 1, y definiendo las nuevas configuraciones de la presente versión.&lt;br /&gt;
#Actualizar las dependencias del proyecto.&lt;br /&gt;
#:Dentro de la carpeta raíz del proyecto correr el comando:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
composer install --prefer-dist --no-dev --optimize-autoloader&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#:Para mas información ver en la [https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies Documentación de Composer].&lt;br /&gt;
#Seguir los pasos finales de [[SIU-Guarani/preinscripcion3.22.0/instalacion_desde_cero/instalacion#Puesta_en_producci.C3.B3n|puesta en producción]] de la documentación de instalación desde cero.&lt;br /&gt;
&lt;br /&gt;
[[SIU-Guarani/preinscripcion3.22.0/documentacion_tecnica|&amp;lt; Volver]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**************************************************************************************&lt;br /&gt;
**************************************************************************************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**************************************************************************************--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right; margin: 0 0 15px 15px;&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actualización desde versión 3.11.0 ==&lt;br /&gt;
&lt;br /&gt;
Si se dispone de una instalación en producción de la versión 3.11.0 de Preinscripción y se desea actualizar a 3.22.0, recomendamos seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
=== Copia de personalizaciones ===&lt;br /&gt;
&lt;br /&gt;
Si se han desarrollado personalizaciones en la versión 3.11.0, seguir los siguientes pasos en un '''servidor de desarrollo''':&lt;br /&gt;
&lt;br /&gt;
'''PRECONDICIÓN''': Tener versionadas en el repositorio SVN, en la rama de la versión 3.11.0, todas las personalizaciones &lt;br /&gt;
&lt;br /&gt;
Realizar una copia de las personalizaciones anteriores a la nueva versión. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn cp &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.11.0/src/pers/nombre_carpeta_pers&lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.22.0/src/pers/nombre_carpeta_pers&lt;br /&gt;
  -m &amp;quot;Personalizaciones Preinscripción 3.22.0 &amp;lt;institución&amp;gt;: se copian las personalizaciones de la versión 3.11.0&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Con esta acción se realiza la copia de las personalizaciones anteriores directamente en el repositorio y se mantiene la historia de las mismas.&lt;br /&gt;
&lt;br /&gt;
=== Instalación de desarrollo ===&lt;br /&gt;
Realizar una [[SIU-Guarani/preinscripcion3.22.0/instalacion_desde_cero/instalacion|instalación desde cero]] de desarrollo de la versión 3.22.0 para probar la compatibilidad de personalizaciones.&lt;br /&gt;
&lt;br /&gt;
=== Versión de cuatro dígitos ===&lt;br /&gt;
Una vez testeada la instalación del paso anterior, siguiendo el mismo esquema de versionado propuesto para los otros módulos del sistema, se recomienda generar una [[SIU-Guarani/preinscripcion3.22.0/crear_version_propia|versión propia de cuatro dígitos]], inalterable, para publicar en producción.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn cp &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.22.0    &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/versiones/3.22.0.x&lt;br /&gt;
  -m &amp;quot;&amp;lt;siglas institución&amp;gt; Creación de la version 3.22.0.x de Preinscripción&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalación en producción ===&lt;br /&gt;
&lt;br /&gt;
Disponiendo de la versión de cuatro dígitos, seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
#Mover el archivo '''config.php''' de la versión actual a una carpeta externa, para tener como referencia.&lt;br /&gt;
#Realizar un backup de la base de datos de producción.&lt;br /&gt;
#Realizar un ''svn switch'' de la ''working copy''. Ejemplo:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn sw https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/versiones/3.22.0.1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Sobre la base de producción, correr el script '''mig_3.21.0_a_3.22.0.sql''', distribuido con la versión en la carpeta '''BD/conversion'''.&lt;br /&gt;
#Crear, a partir del archivo '''config_template.php''' el '''config.php''' y completarlo, usando como referencia el archivo guardado en el paso 1, y definiendo las nuevas configuraciones de la presente versión.&lt;br /&gt;
#Actualizar las dependencias del proyecto.&lt;br /&gt;
#:Dentro de la carpeta raíz del proyecto correr el comando:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
composer install --prefer-dist --no-dev --optimize-autoloader&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#:Para mas información ver en la [https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies Documentación de Composer].&lt;br /&gt;
#Seguir los pasos finales de [[SIU-Guarani/preinscripcion3.22.0/instalacion_desde_cero/instalacion#Puesta_en_producci.C3.B3n|puesta en producción]] de la documentación de instalación desde cero.&lt;br /&gt;
&lt;br /&gt;
[[SIU-Guarani/preinscripcion3.22.0/documentacion_tecnica|&amp;lt; Volver]]&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/preinscripcion3.23.0/actualizacion&amp;diff=110207</id>
		<title>SIU-Guarani/preinscripcion3.23.0/actualizacion</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/preinscripcion3.23.0/actualizacion&amp;diff=110207"/>
				<updated>2025-03-06T12:56:41Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right; margin: 0 0 15px 15px;&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actualización desde versión 3.21.0 ==&lt;br /&gt;
&lt;br /&gt;
Si se dispone de una instalación en producción de la versión 3.21.0 de Preinscripción y se desea actualizar a 3.23.2, recomendamos seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
=== Copia de personalizaciones ===&lt;br /&gt;
&lt;br /&gt;
Si se han desarrollado personalizaciones en la versión 3.21.0, seguir los siguientes pasos en un '''servidor de desarrollo''':&lt;br /&gt;
&lt;br /&gt;
'''PRECONDICIÓN''': Tener versionadas en el repositorio SVN, en la rama de la versión 3.21.0, todas las personalizaciones &lt;br /&gt;
&lt;br /&gt;
Realizar una copia de las personalizaciones anteriores a la nueva versión. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn cp &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.21.0/src/pers/nombre_carpeta_pers&lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.23.2/src/pers/nombre_carpeta_pers&lt;br /&gt;
  -m &amp;quot;Personalizaciones Preinscripción 3.23.2 &amp;lt;institución&amp;gt;: se copian las personalizaciones de la versión 3.21.0&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Con esta acción se realiza la copia de las personalizaciones anteriores directamente en el repositorio y se mantiene la historia de las mismas.&lt;br /&gt;
&lt;br /&gt;
=== Instalación de desarrollo ===&lt;br /&gt;
Realizar una [[SIU-Guarani/preinscripcion3.23.0/instalacion_desde_cero/instalacion|instalación desde cero]] de desarrollo de la versión 3.23.2 para probar la compatibilidad de personalizaciones.&lt;br /&gt;
&lt;br /&gt;
=== Versión de cuatro dígitos ===&lt;br /&gt;
Una vez testeada la instalación del paso anterior, siguiendo el mismo esquema de versionado propuesto para los otros módulos del sistema, se recomienda generar una [[SIU-Guarani/preinscripcion3.23.0/crear_version_propia|versión propia de cuatro dígitos]], inalterable, para publicar en producción.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn cp &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.23.0    &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/versiones/3.23.2x&lt;br /&gt;
  -m &amp;quot;&amp;lt;siglas institución&amp;gt; Creación de la version 3.23.2.x de Preinscripción&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalación en producción ===&lt;br /&gt;
&lt;br /&gt;
Disponiendo de la versión de cuatro dígitos, seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
#Mover el archivo '''config.php''' de la versión actual a una carpeta externa, para tener como referencia.&lt;br /&gt;
#Realizar un backup de la base de datos de producción.&lt;br /&gt;
#Realizar un ''svn switch'' de la ''working copy''. Ejemplo:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn sw https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/versiones/3.23.2.1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Sobre la base de producción, correr el script '''mig_3.21.0_a_3.23.0.sql''' para llevar la base a la version 3.23.0 y luego correr el archivo  '''conversion.sql ''' , distribuidos con la versión en la carpeta '''BD/conversion'''.&lt;br /&gt;
#Crear, a partir del archivo '''config_template.php''' el '''config.php''' y completarlo, usando como referencia el archivo guardado en el paso 1, y definiendo las nuevas configuraciones de la presente versión.&lt;br /&gt;
#Actualizar las dependencias del proyecto.&lt;br /&gt;
#:Dentro de la carpeta raíz del proyecto correr el comando:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
composer install --prefer-dist --no-dev --optimize-autoloader&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#:Para mas información ver en la [https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies Documentación de Composer].&lt;br /&gt;
#Seguir los pasos finales de [[SIU-Guarani/preinscripcion3.23.0/instalacion_desde_cero/instalacion#Puesta_en_producci.C3.B3n|puesta en producción]] de la documentación de instalación desde cero.&lt;br /&gt;
&lt;br /&gt;
[[SIU-Guarani/preinscripcion3.23.0/documentacion_tecnica|&amp;lt; Volver]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**************************************************************************************&lt;br /&gt;
**************************************************************************************&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**************************************************************************************--&amp;gt;&lt;br /&gt;
&amp;lt;span style=&amp;quot;float: right; margin: 0 0 15px 15px;&amp;quot;&amp;gt;__TOC__&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Actualización desde versión 3.11.0 ==&lt;br /&gt;
&lt;br /&gt;
Si se dispone de una instalación en producción de la versión 3.11.0 de Preinscripción y se desea actualizar a 3.23.0, recomendamos seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
=== Copia de personalizaciones ===&lt;br /&gt;
&lt;br /&gt;
Si se han desarrollado personalizaciones en la versión 3.11.0, seguir los siguientes pasos en un '''servidor de desarrollo''':&lt;br /&gt;
&lt;br /&gt;
'''PRECONDICIÓN''': Tener versionadas en el repositorio SVN, en la rama de la versión 3.11.0, todas las personalizaciones &lt;br /&gt;
&lt;br /&gt;
Realizar una copia de las personalizaciones anteriores a la nueva versión. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn cp &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.11.0/src/pers/nombre_carpeta_pers&lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.23.0/src/pers/nombre_carpeta_pers&lt;br /&gt;
  -m &amp;quot;Personalizaciones Preinscripción 3.23.0 &amp;lt;institución&amp;gt;: se copian las personalizaciones de la versión 3.11.0&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Con esta acción se realiza la copia de las personalizaciones anteriores directamente en el repositorio y se mantiene la historia de las mismas.&lt;br /&gt;
&lt;br /&gt;
=== Instalación de desarrollo ===&lt;br /&gt;
Realizar una [[SIU-Guarani/preinscripcion3.23.0/instalacion_desde_cero/instalacion|instalación desde cero]] de desarrollo de la versión 3.23.0 para probar la compatibilidad de personalizaciones.&lt;br /&gt;
&lt;br /&gt;
=== Versión de cuatro dígitos ===&lt;br /&gt;
Una vez testeada la instalación del paso anterior, siguiendo el mismo esquema de versionado propuesto para los otros módulos del sistema, se recomienda generar una [[SIU-Guarani/preinscripcion3.23.0/crear_version_propia|versión propia de cuatro dígitos]], inalterable, para publicar en producción.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn cp &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/trunk/3.23.0    &lt;br /&gt;
  https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/versiones/3.23.0.x&lt;br /&gt;
  -m &amp;quot;&amp;lt;siglas institución&amp;gt; Creación de la version 3.23.0.x de Preinscripción&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Instalación en producción ===&lt;br /&gt;
&lt;br /&gt;
Disponiendo de la versión de cuatro dígitos, seguir los siguientes pasos:&lt;br /&gt;
&lt;br /&gt;
#Mover el archivo '''config.php''' de la versión actual a una carpeta externa, para tener como referencia.&lt;br /&gt;
#Realizar un backup de la base de datos de producción.&lt;br /&gt;
#Realizar un ''svn switch'' de la ''working copy''. Ejemplo:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;bash&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
svn sw https://colab.siu.edu.ar/svn/guarani3/nodos/sigla_institucion/preinscripcion/versiones/3.23.0.1&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#Sobre la base de producción, correr el script '''mig_3.21.0_a_3.23.0.sql''', distribuido con la versión en la carpeta '''BD/conversion'''.&lt;br /&gt;
#Crear, a partir del archivo '''config_template.php''' el '''config.php''' y completarlo, usando como referencia el archivo guardado en el paso 1, y definiendo las nuevas configuraciones de la presente versión.&lt;br /&gt;
#Actualizar las dependencias del proyecto.&lt;br /&gt;
#:Dentro de la carpeta raíz del proyecto correr el comando:&lt;br /&gt;
#:&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot;&amp;gt;&lt;br /&gt;
composer install --prefer-dist --no-dev --optimize-autoloader&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
#:Para mas información ver en la [https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies Documentación de Composer].&lt;br /&gt;
#Seguir los pasos finales de [[SIU-Guarani/preinscripcion3.23.0/instalacion_desde_cero/instalacion#Puesta_en_producci.C3.B3n|puesta en producción]] de la documentación de instalación desde cero.&lt;br /&gt;
&lt;br /&gt;
[[SIU-Guarani/preinscripcion3.23.0/documentacion_tecnica|&amp;lt; Volver]]&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas_preinscripcion&amp;diff=105785</id>
		<title>SIU-Guarani/Version3.22.0/Novedades tecnicas preinscripcion</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas_preinscripcion&amp;diff=105785"/>
				<updated>2025-03-06T12:35:36Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!--&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/preinscripcion3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''06/03/2025'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Principales novedades Técnicas&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* '''Se modifico el archivo para la conversión de la base desde esta versión el archivo se pasa a llamar conversion.sql y lleva todos los cambios desde la 3.22.0 a la ultima version '''&lt;br /&gt;
Por lo que si tiene una base en la 3.22.0 o 3.22.1, solo aplicara los cambios que no tengan. &lt;br /&gt;
En el caso de tener bases anteriores deberán usar los scritps como  ejemplo 3.21.0 a 3.22.0 para llevar la base a 3.22.0 y luego ejecutar el archivo conversion.sql&lt;br /&gt;
y&lt;br /&gt;
* Se agregaron los campos de  cobertura_salud_nombre, grupo_sanguinio, observaciones_salud, contacto_emergencia_nombre, contacto_emergencia_telefono y contacto_emergencia_relacion.&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/preinscripcion3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''08/07/2024'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;b&amp;gt;Principales novedades Técnicas&amp;lt;/b&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se elimina el campo '''usuario''' de la tabla '''sga_preinscripcion''', se deja solamente el campo '''e_mail'''&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=105782</id>
		<title>SIU-Guarani/Version3.22.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=105782"/>
				<updated>2025-03-05T16:33:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''05/03/2025'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.22.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.22.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.2 Con versión 3.19.1]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''22/10/2024'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.22.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.22.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.1 Con versión 3.19.0]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''08/07/2024'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032200/html_v3.22.0.html Modelo 3.22.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.3&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.21.3]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
** Se debe utilizar '''Composer''' versión 2. [[SIU-Guarani/Version3.22.0/instalacion_desde_cero/requisitos_previos/linux | Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; color: #c09853; padding: 1em; margin: 1em 0px; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; display: inline-block;&amp;quot;&amp;gt;&amp;lt;strong&amp;gt;¡Nueva versión de API v2.1!&amp;lt;/strong&amp;gt; (No rompe compatibilidad hacia atrás). [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 Ver Referencia de API para Guaraní (v2.1)]&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* Se agregan los siguiente Web Services para mejorar la interoperabilidad con SIU Sanavirón Quilmes:&lt;br /&gt;
** '''GET /licencias-estudiantiles''': Devuelve una lista de Licencias Estudiantiles.  &lt;br /&gt;
** '''GET /alumnos-no-regulares''': Devuelve una lista de alumnos no regulares en un período de tiempo con fecha de perdida de regularidad y readmisión.&lt;br /&gt;
** '''GET /alumnos-pasivos''': Devuelve una lista de alumnos pasivos en un período de tiempo con historial de cambios de calidad.&lt;br /&gt;
** '''GET /alumnos-cambios-calidades''': Devuelve una lista de alumnos con cambios de calidades en un período de tiempo.&lt;br /&gt;
&lt;br /&gt;
* Se agregan y modifican los siguiente Web Services para mejorar la interoperabilidad con SIU Tehuelche:&lt;br /&gt;
** '''POST /reaperturas-convocatorias''': Recibe reaperturas a convocatorias a becas emitidas por Tehuelche.&lt;br /&gt;
** '''GET /convocatorias/{id_convocatoria}/definicion''': Se agrega '''Documentación requerida''' para el relevamiento.&lt;br /&gt;
** '''GET /convocatorias/{id_convocatoria}/aspirantes''': Se agrega '''Documentación requerida''' para el relevamiento, datos modificados por reapertura. Ademas de los filtros '''cuil''' y '''con_reaperturas'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; color: #c09853; padding: 1em; margin: 1em 0px; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; display: inline-block;&amp;quot;&amp;gt;Recrear el archivo &amp;lt;strong&amp;gt;instalacion/i__desarrollo/p__guarani/rest/recursos_usuarios.php&amp;lt;/strong&amp;gt; a partir del template &amp;lt;strong&amp;gt;php/rest/recursos_usuarios_template.php&amp;lt;/strong&amp;gt;, [[SIU-Guarani/Version3.22.0/API_REST_GUARANI#Configuraci.C3.B3n_de_Usuarios_y_Perfil_Funcional | Ver documentación aquí]].&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se incorporó el parámetro [[SIU-Guarani/Version3.22.0/configuracion_del_sistema/parametros#Generales | nombre_persona_doc_oficiales]] que define con qué nombre deberán aparecer las personas en los documentos oficiales.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #fcf8e3; color: #c09853; padding: 1em; margin: 1em 0px; border: 1px solid #fbeed5; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; display: inline-block;&amp;quot;&amp;gt;La incorporación hizo que se modificaran las plantillas de jaspers, por lo cual si había personalizaciones en las mismas debemos volver a adaptar esas personalizaciones a este nuevo cambio.&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.6.0/CHANGELOG.md v2.6.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la opción '''--no-interactivo''' al comando '''bin/guarani importar_fotos''', pasando dicha opción se puede ejecutar con un cron, ej:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;background-color: #d9edf7; color: #3a87ad; padding: 1em; margin: 1em 0px; border: 1px solid #bce8f1; -webkit-border-radius: 4px; -moz-border-radius: 4px; border-radius: 4px; display: inline-block;&amp;quot;&amp;gt;$ bin/guarani importar_fotos des01 --no-interactivo&lt;br /&gt;
&amp;lt;/div&amp;gt; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=99914</id>
		<title>SIU-Guarani/Version3.22.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=99914"/>
				<updated>2024-05-13T18:15:57Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Gestión */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''dd/mm/2024'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032200/html_v3.22.0.html Modelo 3.22.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nueva versión de API v2! &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Es de vital importancia que, al actualizar el módulo de Gestión y al comenzar a utilizar la nueva versión de la API de SIU-Guaraní, se actualicen también las configuraciones de otros sistemas que la consumen, por ejemplo SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua, SIDCER, etc.. . &lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.22.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.22.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
*Se incorporo el parámetro '''nombre_persona_doc_oficiales''' que define con qué nombre deberán aparecer las personas en los documentos oficiales.&lt;br /&gt;
&lt;br /&gt;
 La incorporación hizo que se modificaran las plantillas de jaspers, por lo cual si había personalizaciones en las mismas debemos volver a adaptar esas personalizaciones a este nuevo cambio.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.22''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.22.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.22.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.22.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.22.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=99913</id>
		<title>SIU-Guarani/Version3.22.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=99913"/>
				<updated>2024-05-13T18:10:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''dd/mm/2024'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032200/html_v3.22.0.html Modelo 3.22.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nueva versión de API v2! &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Es de vital importancia que, al actualizar el módulo de Gestión y al comenzar a utilizar la nueva versión de la API de SIU-Guaraní, se actualicen también las configuraciones de otros sistemas que la consumen, por ejemplo SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua, SIDCER, etc.. . &lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.22.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.22.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.22''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.22.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.22.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.22.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.22.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=99912</id>
		<title>SIU-Guarani/Version3.22.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Novedades_tecnicas&amp;diff=99912"/>
				<updated>2024-05-13T18:09:33Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.22.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.22.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032200/html_v3.22.0.html Modelo 3.22.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.22.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nueva versión de API v2! &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Es de vital importancia que, al actualizar el módulo de Gestión y al comenzar a utilizar la nueva versión de la API de SIU-Guaraní, se actualicen también las configuraciones de otros sistemas que la consumen, por ejemplo SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua, SIDCER, etc.. . &lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.22.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.22.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.22''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.22.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.22.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.22.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.22.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.22.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=96626</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=96626"/>
				<updated>2023-11-02T13:51:55Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Preinscripción */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.3&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''xx/11/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.21.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.3 Con versión 3.18.1]&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega el parámetro '''sq_notif_insc_pendientes''', para mas información ver en [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.21.0/configuracion_del_sistema/parametros#Sanavir.C3.B3n-Quilmes Parámetros del Sistema - Sanavirón-Quilmes].&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualiza '''Google Analytics''', ver si es necesario generar un '''ID de medición''' nuevo.&lt;br /&gt;
&lt;br /&gt;
== Preinscripción ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de login '''instalacion/login.php''', se debe recrear a partir de su template (archivo '''instalacion/login_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''form_documento''' para poder habilitar si el aspirante puede iniciar sesión usando su documento.&lt;br /&gt;
** se agrega un apartado para los datos de ayuda ('''datos_ayuda''')  para la preinscripción que se mostraran al aspirante cuando no pueda acceder. Dentro tendrán '''datos_ayuda_email''',  '''datos_ayuda_telefono''', '''datos_ayuda_url_3w''', '''datos_ayuda_url_ayuda'''&lt;br /&gt;
* Se actualiza '''Google Analytics''', ver si es necesario generar un '''ID de medición''' nuevo.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''12/07/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.2 Con versión 3.21.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.2 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.2 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.2 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.2 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.2 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.2 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.2 Con versión 3.18.1]&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''host_notificaciones''' en el archivo '''instalacion/arai_documentos.ini''' (se utiliza para los [https://documentacion.siu.edu.ar/documentos/docs/notificaciones/ Servicios de Notificaciones a Aplicaciones]).&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''host_notificaciones''' en el archivo '''instalacion/arai_documentos.ini''' (se utiliza para los [https://documentacion.siu.edu.ar/documentos/docs/notificaciones/ Servicios de Notificaciones a Aplicaciones]).&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ui_autocomplete_min_length''' para configurar el número mínimo de caracteres que un usuario debe escribir antes de realizar una búsqueda en un [https://api.jqueryui.com/autocomplete/#option-minLength Autocomplete].&lt;br /&gt;
&lt;br /&gt;
== Preinscripción ==&lt;br /&gt;
&lt;br /&gt;
* Se arreglan '''Warnings''' y '''Notices'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.18.1]&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nueva versión de API v2! &amp;lt;/pre&amp;gt; &lt;br /&gt;
&lt;br /&gt;
Es de vital importancia que, al actualizar el módulo de Gestión y al comenzar a utilizar la nueva versión de la API de SIU-Guaraní, se actualicen también las configuraciones de otros sistemas que la consumen, por ejemplo SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua, SIDCER, etc.. . &lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90607</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90607"/>
				<updated>2023-04-21T16:03:26Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.18.1]&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90606</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90606"/>
				<updated>2023-04-21T16:00:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.18.1]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90597</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90597"/>
				<updated>2023-04-21T14:04:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90596</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90596"/>
				<updated>2023-04-21T14:02:38Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90595</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90595"/>
				<updated>2023-04-21T13:59:09Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Diferencias con versiones anteriores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.18.1]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90590</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90590"/>
				<updated>2023-04-21T13:50:14Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Diferencias con versiones anteriores */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.18.1]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90589</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90589"/>
				<updated>2023-04-21T13:46:52Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Principales novedades técnicas */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.21.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.21.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.1 Con versión 3.18.1]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90587</id>
		<title>SIU-Guarani/Version3.21.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Novedades_tecnicas&amp;diff=90587"/>
				<updated>2023-04-20T20:04:19Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''20/04/2023'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt; &lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
* Se mejora el '''Reporte Alumnos''' en el siguiente link te explicamos como personalizarlo. [[SIU-Guarani/Version3.21.0/personalizaciones/reporte_alumnos | Ver documentación aquí]]&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''control_simultaneidad_operaciones''' para controlar que el alumno no pueda efectuar dos o más inscripciones simultáneas.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.21.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.21.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''02/12/2022'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
'''Importante:''' al momento de actualizar es posible hacerlo salteando versiones, no es necesario pasar por versiones intermedias. Sin embargo hay cuestiones técnicas que son necesarias para asegurar el correcto funcionamiento de la versión. Por favor lean las novedades técnicas de todas las versiones intermedias antes de comenzar el proceso.&lt;br /&gt;
&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
[https://colab.siu.edu.ar/modelo/032100/html_v3.21.0.html Modelo 3.21.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.21.0 Con versión 3.18.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Actualización versiones de [https://expedientes.siu.edu.ar/docs/guarani/ EEI].&lt;br /&gt;
** Se debe utilizar '''SIU-Araí Documentos''' a una versión mayor o igual a 1.3.0. [https://expedientes.siu.edu.ar/docs/guarani/#configurar-los-par%C3%A1metros-para-ara%C3%AD-documentos-en-siu-guaran%C3%AD Ver documentación aquí].&lt;br /&gt;
&lt;br /&gt;
* SIU-Guaraní es compatible con '''Moodle 4'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/moodle|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se debe utilizar '''yui-compressor''' 2.4.8 o superior.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/instalacion_desde_cero/requisitos_previos/linux|Ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Nueva versión [https://documentacion.siu.edu.ar/apis/?spec=guarani_v2 API v2]&lt;br /&gt;
** Para utilizar la API v2, se debe agregar el bloque [v2] en el archivo servidor.ini [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#Configuraci.C3.B3n_T.C3.A9cnica|ver documentación]] &lt;br /&gt;
** Registro de Cambios. [[SIU-Guarani/Version3.21.0/API_REST_GUARANI#changelog|Ver Changelog]]&lt;br /&gt;
** La versión v1 puede seguir activa, para flexibilizar los cambios de versión&lt;br /&gt;
* Se agregan los usuarios para los módulos '''SIU-Tehuelche''' y '''SIU-Pilagá''' al template recursos_usuarios_template.php &lt;br /&gt;
* Se agregan mensajes de errores más detallados, para solucionar problemas de conexión.&lt;br /&gt;
* Se agregan los campos '''Fecha de inicio de tramite de egreso''' y '''Nro de expediente''' en los datos del Analítico, que se informan a SIDCer en el modelo de Personas.&lt;br /&gt;
&lt;br /&gt;
* Se cambian los '''tipos de documentos''' enviados a '''SIU-Araí Documentos'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#tipos-de-documentos Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.21''' de '''SIU-Toba''' a la versión '''3.3.23'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.23/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se agrega el comando de consola '''bin/guarani vincular_usuarios_arai''' para vincular los usuarios de una instalación de '''Araí''' preexistente con personas de '''SIU-Guaraní'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#vincular-cuentas-de-siu-guaraní-con-araí-usuarios Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' en el archivo '''instalacion/i__desarrollo/p__guarani/rest/arai_usuarios/cliente.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-gestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la opción de crear '''Grupos de Moodle''' por comisión.&lt;br /&gt;
&amp;lt;dd&amp;gt;Se deben agregar las funciones '''core_group_create_groups''', '''core_group_add_group_members''' y '''core_group_delete_groups''' en Moodle. [[SIU-Guarani/version3.21.0/interfaces/moodle#Agregar_funciones_para_el_servicio_creado_en_el_punto_3_.28hacer_click_en_el_link_marcado_en_violeta.29|ver documentación aquí]]&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevos [[SIU-Guarani/version3.21.0/interfaces/moodle_comandos|Comandos de Moodle]].&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña. [[SIU-Guarani/Version3.21.0/configuracion-ttl-token|Ver documentación aquí]].&lt;br /&gt;
&lt;br /&gt;
* Se mejoran las operaciones '''» Egresados » Actualizaciones » Adjuntar Documentación a Expediente de Egreso''' y '''» Egresados » Actualizaciones » Administrar Diploma y Analítico Digital'''. Ahora se puede seleccionar el '''Modelo de Firma''' ('''Simple''' o '''Cadena / Escalonada'''), y en el caso de ser '''Cadena / Escalonada''' se puede elegir el orden de los firmantes. Ademas los documentos serán adjuntados al expediente de SUDOCU una vez autorizados si los mismos tienen un trámite asociado.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agregan nuevas directivas en el archivo de configuración [[SIU-Guarani/Version3.21.0/3w/configuracion#config|instalacion/config.php]], se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
** Se agrega la directiva '''ttl_token''' para configurar el tiempo de expiración del token para recuperar contraseña.&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, se debe reiniciar el servicio una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
* Se migró '''SIU Chulupí Framework''' a la versión [https://gitlab.siu.edu.ar/chulupi/framework/-/blob/v2.5.0/CHANGELOG.md v2.5.0].&lt;br /&gt;
&lt;br /&gt;
* Se incorpora la posibilidad de integrar con servicios del '''Renaper''', que permiten validar los datos del aspirante:&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/renaper|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se incorporó la personalización de '''Boleto Estudiantil''' al core de '''SIU-Guaraní Autogestión''':&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [[SIU-Guarani/version3.21.0/interfaces/boleto-estudiantil|ver documentación aquí]].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version_api''' para la entrada '''arai_usuarios''' en el archivo '''instalacion/servicios_web_config.php'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-el-cliente-de-usuarios-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se agrega la directiva '''version''' en el archivo '''instalacion/arai_documentos.ini'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://expedientes.siu.edu.ar/docs/guarani#configurar-los-parámetros-para-araí-documentos-en-siu-guaraní-autogestión Ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Migracion/Desde_sistemas_externos/Migracion/Matricula&amp;diff=90340</id>
		<title>SIU-Guarani/Version3.21.0/Migracion/Desde sistemas externos/Migracion/Matricula</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.21.0/Migracion/Desde_sistemas_externos/Migracion/Matricula&amp;diff=90340"/>
				<updated>2023-04-03T18:31:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: /* Pasos para la Migración */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
= Migración de Sistemas Externos a Guaraní 3 =&lt;br /&gt;
&lt;br /&gt;
== Módulo: '''Matrículas''' ==&lt;br /&gt;
A continuación se detallarán los pasos necesarios para la migración del módulo '''Matrículas'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pre-Requisitos ====&lt;br /&gt;
* Verificar correcta instalación del Kettle y conexión a la base de datos PostgreSql.&lt;br /&gt;
* Carga de datos a Guaraní 3 por sistema:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Dato a Cargar&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Menú de G3&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Ubicaciones''' || Ubicación geográfica (Sedes, subsedes, etc..) || &amp;lt;small&amp;gt;» UNIDADES DE GESTIÓN » UBICACIONES » UBICACIONES&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Responsables Académicas'''  || Responsables académicas de las propuestas y actividades || &amp;lt;small&amp;gt;» UNIDADES DE GESTIÓN » ADMINISTRAR RESPONSABLES ACADÉMICAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Años académicos'''  || Este dato lo creará en forma automática el proceso de migración en el caso de no existir creado en la base de datos|| &amp;lt;small&amp;gt;» CALENDARIO » ACTUALIZACIONES » AÑOS ACADÉMICOS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Períodos de inscripción'''  || Este dato lo creará en forma automática el proceso de migración en el caso de no existir creado en la base de datos|| &amp;lt;small&amp;gt;» CALENDARIO » PERÍODOS DE INSCRIPCIÓN » PERÍODOS DE INSCRIPCIÓN A PROPUESTAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Certificaciones'''  || Certificados que otorga cada plan de estudios|| &amp;lt;small&amp;gt;» CONSTANCIAS Y CERTIFICADOS » ADMINISTRAR CONSTANCIAS Y CERTIFICADOS&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » PLANES DE ESTUDIO » ASIGNACIÓN DE CERTIFICADOS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Actividades'''  || Actividades de los planes de estudios|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » ACTIVIDADES » ACTIVIDADES&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Propuestas'''  || Propuestas Formativas que estarán asociadas al plan de estudios|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » ADMINISTRAR PROPUESTAS FORMATIVAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Planes de Estudios	'''  || Creación de planes, asignación de propuestas y certificaciones que cada plan otorga. El plan debe estar activo.|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » PLANES DE ESTUDIO » ADMINISTRAR PLANES DE ESTUDIO&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Motivos de Excepción'''  || Motivos de excepción de requisitos de ingreso|| &amp;lt;small&amp;gt;» REQUISITOS » REQUISITOS DE INGRESO » MOTIVOS DE EXCEPCIÓN DE REQUISITOS&amp;lt;/small&amp;gt; &lt;br /&gt;
|} &lt;br /&gt;
Habiendo verificado los datos cargados en Guaraní 3, se puede avanzar con la migración del módulo. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pasos para la Migración ====&lt;br /&gt;
&amp;lt;big&amp;gt;1. Creación de los archivos CSV: &amp;lt;br&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
* Delimitador: '''|'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Directorio: '''Externos/01_Schema/CSV'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mig_alumnos.csv'''&lt;br /&gt;
* Formato del archivo:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Nro&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Columna&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tipo de dato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Permite Nulos&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Formato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Tablas Relacionadas&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || legajo||varchar(20)||S|| || Nro de legajo del alumno || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || tipo_documento||smallint||N ||0 - DNI||Tipo de documento || mdp_tipo_documento.tipo_documento&lt;br /&gt;
|-&lt;br /&gt;
| 3 || nro_documento||varchar(15)||N|| || Nro de documento. ||&lt;br /&gt;
|-&lt;br /&gt;
| 4 || propuesta||integer||N|| || ID de la propuesta || sga_propuestas.propuesta&lt;br /&gt;
|-&lt;br /&gt;
| 5 || plan_version_ingreso ||integer|| N || || Versión de plan de estudios con el que ingresó a la propuesta|| sga_planes_versiones.plan_version &lt;br /&gt;
|-&lt;br /&gt;
| 6 || plan_version_actual ||integer|| N || || Versión de plan de estudios actual del alumno || sga_planes_versiones.plan_version &lt;br /&gt;
|-&lt;br /&gt;
| 7 || plan_version_actual_fecha ||date|| S || ||  Fecha de cambio a la versión actual. Solo si plan_version_ingreso &amp;lt;&amp;gt; plan_version_actual ||  &lt;br /&gt;
|-&lt;br /&gt;
| 8 || ubicacion ||integer|| N || || Ubicación/sede donde se encuentra el alumno || sga_ubicaciones.ubicacion&lt;br /&gt;
|-&lt;br /&gt;
| 9 || modalidad ||char(1)|| N || P-Presencial &amp;lt;br&amp;gt; D- A distancia|| Modalidad de Cursada || sga_modalidad_cursada.modalidad &lt;br /&gt;
|-&lt;br /&gt;
| 10 || regular  ||char(1)|| N ||S-Es Regular &amp;lt;br&amp;gt; N-No es Regular|| Condicion de Regularidad en la propuesta  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || calidad ||char(1)|| N ||A-Alumno Activo &amp;lt;br&amp;gt; P-Alumno Pasivo || Calidad del Alumno en la propuesta  || sga_alumnos_calidad.calidad &lt;br /&gt;
|-&lt;br /&gt;
| 12 || anio_academico  ||integer|| N || aaaa	|| Año académico de ingreso en la propuesta || sga_anios_academicos  &lt;br /&gt;
|-&lt;br /&gt;
| 13 || fecha_inscripcion ||date|| N || dd/mm/aaaa|| Fecha de Inscripción en la propuesta  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 14 || estado_inscripcion ||char(1)|| N || P-Pendiente &amp;lt;br&amp;gt; A-Aceptado &amp;lt;br&amp;gt; R-Rechazado || Estado de Inscripción en la propuesta  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 15 || noreg_anio_academico ||integer||S||aaaa|| Datos relacionados con la pérdida de regularidad en la propuesta. Año académico en que dejó de ser regular.&amp;lt;br&amp;gt; Dato obligatorio si ''regular'' = N  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || noreg_fecha ||date||S||dd/mm/aaaa||Fecha en que pasó a ser no regular en la carrera.&amp;lt;br&amp;gt;Dato obligatorio si ''regular'' = N || &lt;br /&gt;
|-&lt;br /&gt;
| 17 || noreg_causa ||integer||S|| || Causa que hizo que pierda la regularidad en la propuesta.&amp;lt;br&amp;gt;Dato obligatorio si ''regular'' = N || sga_perdida_regularidad_causas.causa_perdida_reg (Desde 100 en adelante)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || pasivo_fecha ||date||S||dd/mm/aaaa||Fecha en que pasó a ser alumno pasivo.&amp;lt;br&amp;gt;Dato obligatorio si ''calidad'' = P  || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || pasivo_motivo ||integer||S|| || Motivo del cambio de calidad a la calidad actual del alumno en la propuesta. Dato obligatorio si ''calidad'' = P || sga_alumnos_motivos_calidad&lt;br /&gt;
|-&lt;br /&gt;
| 20 || egre_titulo ||integer||S|| || Para egresados, indicar el título por el cual egresó. Se inserta registro en sga_certificados_otorg  || sga_certificados.certificado&lt;br /&gt;
|-&lt;br /&gt;
| 21 || egre_fecha_egreso || date|| S || dd/mm/aaaa || Para egresados, indicar la fecha de egreso.&amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo'' || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || egre_nro_expediente ||varchar(30) ||S|| ||Para egresados, Nro de expediente del trámite de egreso  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || egre_promedio || numerico(8,2) ||S|| || Para egresados, promedio con aplazos. &amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo'' ||&lt;br /&gt;
|-&lt;br /&gt;
| 24 || egre_promedio_sin_aplazos || numerico(8,2) ||S|| || Para egresados, promedio sin aplazos.&amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo''  ||&lt;br /&gt;
|-&lt;br /&gt;
| 25 || egre_observaciones || varchar(255) ||S|| ||Para egresados, observaciones acerca de la solicitud del titulo ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
El tipo_documento + nro_documento identifican a la persona, la cual debe existir en la tabla de migración '''mig_personas'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Los campos &amp;quot;egre_fecha_egreso, egre_promedio y egre_promedio_sin_aplazos&amp;quot; son de ingreso obligatorio si se registró un titulo (egre_titulo).&amp;lt;br&amp;gt;&lt;br /&gt;
El campo promedio lo deben migrar con coma (,).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''mig_requisitos.csv'''&lt;br /&gt;
* Formato del archivo:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Nro&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Columna&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tipo de dato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Permite Nulos&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Formato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tablas Relacionadas&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || tipo_documento||smallint||N||0 - DNI|| Tipo de documento del alumno || mdp_tipo_documento.tipo_documento&lt;br /&gt;
|-&lt;br /&gt;
| 2 || nro_documento||varchar(15)|| N || || Nro de documento del alumno ||&lt;br /&gt;
|-&lt;br /&gt;
| 3 || propuesta ||integer|| N || || ID de la prpuesta por la que presentó el requisito de ingreso. || sga_propuestas.propuesta&lt;br /&gt;
|-&lt;br /&gt;
| 4 || requisito ||integer|| N || || ID del requisito de ingreso ||sga_requisitos.requisito   &lt;br /&gt;
|-&lt;br /&gt;
| 5 || presentado_exceptuado  ||char(1)|| N ||P-Presentado&amp;lt;br&amp;gt;E-Exceptuado|| Indica si el requisito fue presentado por el alumno o fue exceptuado su presentación || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || fecha ||date|| N || dd/mm/aaaa ||Fecha de presentación o de excepción del requisito  || &lt;br /&gt;
|-&lt;br /&gt;
| 7 || observaciones  ||varchar(200)|| S || || Observaciones sobre el requisito  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 8 || restrictivo ||char(1)|| N || S-Si &amp;lt;br&amp;gt; N-No  || Si es restrictivo para la generación del legajo del alumno ||&lt;br /&gt;
|-&lt;br /&gt;
| 9 || motivo_excepcion  ||integer|| S || || Motivo por el cual fue exceptuado el requisito al alumno. Solo debe ingresarse si presentado_exceptuado = P. || sga_req_motivos_excepcion.motivo_excepcion&lt;br /&gt;
|-&lt;br /&gt;
| 10 || fecha_vencimiento ||date|| S ||dd/mm/aaaa ||Solo para requisitos presentados en el caso que tengan vencimiento ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || fecha_prorroga ||date||S|| dd/mm/aaaa || Fecha de prórroga si se le otorgó prórroga al alumno ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
El '''tipo_documento + nro_documento''' identifican a la persona, la cual debe existir en la tabla de migración '''mig_personas'''.&lt;br /&gt;
El '''tipo_documento + nro_documento + propuesta''' identifican a la inscripción del alumno en la propuesta, el cual debe existir '''mig_alumnos'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;2. Creación de tablas. Esquema '''ext.''' de la base de datos&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Ejecutar trabajo: &amp;lt;big&amp;gt;Externos/01_Schema/04_Matriculas/'''script_ mig_matriculas.kjb'''&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Como resultado se crearán la tablas 'mig_alumnos' y 'mig_requisitos' en el esquema 'ext', y se llenarán las mismas con los datos los CSV creados en el paso anterior.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo:Mig externos 0016.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;3. Migración del Módulo&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
En el directorio Externos/02_Modulos/04_Matriculas, se encuentran los trabajos correspondientes al proceso de migración del esquema 'EXT' al esquema del negocio. Deberán ejecutarse en el órden que se indica a continuación:&lt;br /&gt;
# Precontroles &amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/01_Pre_Controles/''prectrl_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0017.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Revisar el archivo Excel generado por el trabajo del pre-control: '''Prectrl_Personas_Alumnos.xls''', dentro del mismo directorio &amp;lt;br&amp;gt;[[Archivo:Mig externos 0018.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Arreglar errores que detallen en el archivo de precontroles y volver a correrlos para asegurarse que los datos queden consistentes.&amp;lt;br&amp;gt;&lt;br /&gt;
## Si el archivo '''Prectrl_Personas_Alumnos.xls''' no contiene registros, se puede continuar con el siguiente paso, ya que significa que no falló ningún precontrol y los datos son consistentes.&lt;br /&gt;
# Migración&amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/02_Migracion/''mig_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0020.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Poscontroles&amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/03_Pos_Controles/''posctrl_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0021.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Revisar el archivo Excel generado por el trabajo del post-control: '''Pos_Controles_Matriculas.xls''', dentro del mismo directorio &amp;lt;br&amp;gt;&lt;br /&gt;
## Este archivo indica si las cantidades de registros migradas, coinciden con los registros del CSV. Si hubo errores, revisar el proceso de migración y volver a migrar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[SIU-Guarani/Version3.21.0/Migracion/Desde sistemas externos/Migracion/Calendario_Academico|&amp;lt; Migrar Calendario Académico]]  &amp;lt;br&amp;gt; [[SIU-Guarani/Version3.21.0/Migracion/Desde sistemas externos|&amp;lt; Migración Sistemas Externos]]|| align=&amp;quot;right&amp;quot; | [[SIU-Guarani/Version3.21.0/Migracion/Desde sistemas externos/Migracion/Cursadas|Migrar Cursadas &amp;gt;]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Migracion/Desde_sistemas_externos/Migracion/Matricula&amp;diff=99031</id>
		<title>SIU-Guarani/Version3.22.0/Migracion/Desde sistemas externos/Migracion/Matricula</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.22.0/Migracion/Desde_sistemas_externos/Migracion/Matricula&amp;diff=99031"/>
				<updated>2023-04-03T18:31:49Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
= Migración de Sistemas Externos a Guaraní 3 =&lt;br /&gt;
&lt;br /&gt;
== Módulo: '''Matrículas''' ==&lt;br /&gt;
A continuación se detallarán los pasos necesarios para la migración del módulo '''Matrículas'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pre-Requisitos ====&lt;br /&gt;
* Verificar correcta instalación del Kettle y conexión a la base de datos PostgreSql.&lt;br /&gt;
* Carga de datos a Guaraní 3 por sistema:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Dato a Cargar&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Menú de G3&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Ubicaciones''' || Ubicación geográfica (Sedes, subsedes, etc..) || &amp;lt;small&amp;gt;» UNIDADES DE GESTIÓN » UBICACIONES » UBICACIONES&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Responsables Académicas'''  || Responsables académicas de las propuestas y actividades || &amp;lt;small&amp;gt;» UNIDADES DE GESTIÓN » ADMINISTRAR RESPONSABLES ACADÉMICAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Años académicos'''  || Este dato lo creará en forma automática el proceso de migración en el caso de no existir creado en la base de datos|| &amp;lt;small&amp;gt;» CALENDARIO » ACTUALIZACIONES » AÑOS ACADÉMICOS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Períodos de inscripción'''  || Este dato lo creará en forma automática el proceso de migración en el caso de no existir creado en la base de datos|| &amp;lt;small&amp;gt;» CALENDARIO » PERÍODOS DE INSCRIPCIÓN » PERÍODOS DE INSCRIPCIÓN A PROPUESTAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Certificaciones'''  || Certificados que otorga cada plan de estudios|| &amp;lt;small&amp;gt;» CONSTANCIAS Y CERTIFICADOS » ADMINISTRAR CONSTANCIAS Y CERTIFICADOS&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » PLANES DE ESTUDIO » ASIGNACIÓN DE CERTIFICADOS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Actividades'''  || Actividades de los planes de estudios|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » ACTIVIDADES » ACTIVIDADES&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Propuestas'''  || Propuestas Formativas que estarán asociadas al plan de estudios|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » ADMINISTRAR PROPUESTAS FORMATIVAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Planes de Estudios	'''  || Creación de planes, asignación de propuestas y certificaciones que cada plan otorga. El plan debe estar activo.|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » PLANES DE ESTUDIO » ADMINISTRAR PLANES DE ESTUDIO&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Motivos de Excepción'''  || Motivos de excepción de requisitos de ingreso|| &amp;lt;small&amp;gt;» REQUISITOS » REQUISITOS DE INGRESO » MOTIVOS DE EXCEPCIÓN DE REQUISITOS&amp;lt;/small&amp;gt; &lt;br /&gt;
|} &lt;br /&gt;
Habiendo verificado los datos cargados en Guaraní 3, se puede avanzar con la migración del módulo. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pasos para la Migración ====&lt;br /&gt;
&amp;lt;big&amp;gt;1. Creación de los archivos CSV: &amp;lt;br&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
* Delimitador: '''|'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Directorio: '''Externos/01_Schema/CSV'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mig_alumnos.csv'''&lt;br /&gt;
* Formato del archivo:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Nro&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Columna&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tipo de dato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Permite Nulos&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Formato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Tablas Relacionadas&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || legajo||varchar(20)||S|| || Nro de legajo del alumno || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || tipo_documento||smallint||N ||0 - DNI||Tipo de documento || mdp_tipo_documento.tipo_documento&lt;br /&gt;
|-&lt;br /&gt;
| 3 || nro_documento||varchar(15)||N|| || Nro de documento. ||&lt;br /&gt;
|-&lt;br /&gt;
| 4 || propuesta||integer||N|| || ID de la propuesta || sga_propuestas.propuesta&lt;br /&gt;
|-&lt;br /&gt;
| 5 || plan_version_ingreso ||integer|| N || || Versión de plan de estudios con el que ingresó a la propuesta|| sga_planes_versiones.plan_version &lt;br /&gt;
|-&lt;br /&gt;
| 6 || plan_version_actual ||integer|| N || || Versión de plan de estudios actual del alumno || sga_planes_versiones.plan_version &lt;br /&gt;
|-&lt;br /&gt;
| 7 || plan_version_actual_fecha ||date|| S || ||  Fecha de cambio a la versión actual. Solo si plan_version_ingreso &amp;lt;&amp;gt; plan_version_actual ||  &lt;br /&gt;
|-&lt;br /&gt;
| 8 || ubicacion ||integer|| N || || Ubicación/sede donde se encuentra el alumno || sga_ubicaciones.ubicacion&lt;br /&gt;
|-&lt;br /&gt;
| 9 || modalidad ||char(1)|| N || P-Presencial &amp;lt;br&amp;gt; D- A distancia|| Modalidad de Cursada || sga_modalidad_cursada.modalidad &lt;br /&gt;
|-&lt;br /&gt;
| 10 || regular  ||char(1)|| N ||S-Es Regular &amp;lt;br&amp;gt; N-No es Regular|| Condicion de Regularidad en la propuesta  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || calidad ||char(1)|| N ||A-Alumno Activo &amp;lt;br&amp;gt; P-Alumno Pasivo || Calidad del Alumno en la propuesta  || sga_alumnos_calidad.calidad &lt;br /&gt;
|-&lt;br /&gt;
| 12 || anio_academico  ||integer|| N || aaaa	|| Año académico de ingreso en la propuesta || sga_anios_academicos  &lt;br /&gt;
|-&lt;br /&gt;
| 13 || fecha_inscripcion ||date|| N || dd/mm/aaaa|| Fecha de Inscripción en la propuesta  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 14 || estado_inscripcion ||char(1)|| N || P-Pendiente &amp;lt;br&amp;gt; A-Aceptado &amp;lt;br&amp;gt; R-Rechazado || Estado de Inscripción en la propuesta  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 15 || noreg_anio_academico ||integer||S||aaaa|| Datos relacionados con la pérdida de regularidad en la propuesta. Año académico en que dejó de ser regular.&amp;lt;br&amp;gt; Dato obligatorio si ''regular'' = N  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || noreg_fecha ||date||S||dd/mm/aaaa||Fecha en que pasó a ser no regular en la carrera.&amp;lt;br&amp;gt;Dato obligatorio si ''regular'' = N || &lt;br /&gt;
|-&lt;br /&gt;
| 17 || noreg_causa ||integer||S|| || Causa que hizo que pierda la regularidad en la propuesta.&amp;lt;br&amp;gt;Dato obligatorio si ''regular'' = N || sga_perdida_regularidad_causas.causa_perdida_reg (Desde 100 en adelante)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || pasivo_fecha ||date||S||dd/mm/aaaa||Fecha en que pasó a ser alumno pasivo.&amp;lt;br&amp;gt;Dato obligatorio si ''calidad'' = P  || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || pasivo_motivo ||integer||S|| || Motivo del cambio de calidad a la calidad actual del alumno en la propuesta. Dato obligatorio si ''calidad'' = P || sga_alumnos_motivos_calidad&lt;br /&gt;
|-&lt;br /&gt;
| 20 || egre_titulo ||integer||S|| || Para egresados, indicar el título por el cual egresó. Se inserta registro en sga_certificados_otorg  || sga_certificados.certificado&lt;br /&gt;
|-&lt;br /&gt;
| 21 || egre_fecha_egreso || date|| S || dd/mm/aaaa || Para egresados, indicar la fecha de egreso.&amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo'' || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || egre_nro_expediente ||varchar(30) ||S|| ||Para egresados, Nro de expediente del trámite de egreso  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || egre_promedio || numerico(8,2) ||S|| || Para egresados, promedio con aplazos. &amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo'' ||&lt;br /&gt;
|-&lt;br /&gt;
| 24 || egre_promedio_sin_aplazos || numerico(8,2) ||S|| || Para egresados, promedio sin aplazos.&amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo''  ||&lt;br /&gt;
|-&lt;br /&gt;
| 25 || egre_observaciones || varchar(255) ||S|| ||Para egresados, observaciones acerca de la solicitud del titulo ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
El tipo_documento + nro_documento identifican a la persona, la cual debe existir en la tabla de migración '''mig_personas'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Los campos &amp;quot;egre_fecha_egreso, egre_promedio y egre_promedio_sin_aplazos&amp;quot; son de ingreso obligatorio si se registró un titulo (egre_titulo).&amp;lt;br&amp;gt;&lt;br /&gt;
El campo promedio lo deben migrar con coma (,).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
'''mig_requisitos.csv'''&lt;br /&gt;
* Formato del archivo:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Nro&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Columna&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tipo de dato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Permite Nulos&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Formato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tablas Relacionadas&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || tipo_documento||smallint||N||0 - DNI|| Tipo de documento del alumno || mdp_tipo_documento.tipo_documento&lt;br /&gt;
|-&lt;br /&gt;
| 2 || nro_documento||varchar(15)|| N || || Nro de documento del alumno ||&lt;br /&gt;
|-&lt;br /&gt;
| 3 || propuesta ||integer|| N || || ID de la prpuesta por la que presentó el requisito de ingreso. || sga_propuestas.propuesta&lt;br /&gt;
|-&lt;br /&gt;
| 4 || requisito ||integer|| N || || ID del requisito de ingreso ||sga_requisitos.requisito   &lt;br /&gt;
|-&lt;br /&gt;
| 5 || presentado_exceptuado  ||char(1)|| N ||P-Presentado&amp;lt;br&amp;gt;E-Exceptuado|| Indica si el requisito fue presentado por el alumno o fue exceptuado su presentación || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || fecha ||date|| N || dd/mm/aaaa ||Fecha de presentación o de excepción del requisito  || &lt;br /&gt;
|-&lt;br /&gt;
| 7 || observaciones  ||varchar(200)|| S || || Observaciones sobre el requisito  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 8 || restrictivo ||char(1)|| N || S-Si &amp;lt;br&amp;gt; N-No  || Si es restrictivo para la generación del legajo del alumno ||&lt;br /&gt;
|-&lt;br /&gt;
| 9 || motivo_excepcion  ||integer|| S || || Motivo por el cual fue exceptuado el requisito al alumno. Solo debe ingresarse si presentado_exceptuado = P. || sga_req_motivos_excepcion.motivo_excepcion&lt;br /&gt;
|-&lt;br /&gt;
| 10 || fecha_vencimiento ||date|| S ||dd/mm/aaaa ||Solo para requisitos presentados en el caso que tengan vencimiento ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || fecha_prorroga ||date||S|| dd/mm/aaaa || Fecha de prórroga si se le otorgó prórroga al alumno ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
El '''tipo_documento + nro_documento''' identifican a la persona, la cual debe existir en la tabla de migración '''mig_personas'''.&lt;br /&gt;
El '''tipo_documento + nro_documento + propuesta''' identifican a la inscripción del alumno en la propuesta, el cual debe existir '''mig_alumnos'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;2. Creación de tablas. Esquema '''ext.''' de la base de datos&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Ejecutar trabajo: &amp;lt;big&amp;gt;Externos/01_Schema/04_Matriculas/'''script_ mig_matriculas.kjb'''&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Como resultado se crearán la tablas 'mig_alumnos' y 'mig_requisitos' en el esquema 'ext', y se llenarán las mismas con los datos los CSV creados en el paso anterior.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo:Mig externos 0016.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;3. Migración del Módulo&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
En el directorio Externos/02_Modulos/04_Matriculas, se encuentran los trabajos correspondientes al proceso de migración del esquema 'EXT' al esquema del negocio. Deberán ejecutarse en el órden que se indica a continuación:&lt;br /&gt;
# Precontroles &amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/01_Pre_Controles/''prectrl_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0017.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Revisar el archivo Excel generado por el trabajo del pre-control: '''Prectrl_Personas_Alumnos.xls''', dentro del mismo directorio &amp;lt;br&amp;gt;[[Archivo:Mig externos 0018.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Arreglar errores que detallen en el archivo de precontroles y volver a correrlos para asegurarse que los datos queden consistentes.&amp;lt;br&amp;gt;&lt;br /&gt;
## Si el archivo '''Prectrl_Personas_Alumnos.xls''' no contiene registros, se puede continuar con el siguiente paso, ya que significa que no falló ningún precontrol y los datos son consistentes.&lt;br /&gt;
# Migración&amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/02_Migracion/''mig_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0020.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Poscontroles&amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/03_Pos_Controles/''posctrl_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0021.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Revisar el archivo Excel generado por el trabajo del post-control: '''Pos_Controles_Matriculas.xls''', dentro del mismo directorio &amp;lt;br&amp;gt;&lt;br /&gt;
## Este archivo indica si las cantidades de registros migradas, coinciden con los registros del CSV. Si hubo errores, revisar el proceso de migración y volver a migrar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[SIU-Guarani/Version3.22.0/Migracion/Desde sistemas externos/Migracion/Calendario_Academico|&amp;lt; Migrar Calendario Académico]]  &amp;lt;br&amp;gt; [[SIU-Guarani/Version3.22.0/Migracion/Desde sistemas externos|&amp;lt; Migración Sistemas Externos]]|| align=&amp;quot;right&amp;quot; | [[SIU-Guarani/Version3.22.0/Migracion/Desde sistemas externos/Migracion/Cursadas|Migrar Cursadas &amp;gt;]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Migracion/Desde_sistemas_externos/Migracion/Matricula&amp;diff=90339</id>
		<title>SIU-Guarani/Version3.20.0/Migracion/Desde sistemas externos/Migracion/Matricula</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Migracion/Desde_sistemas_externos/Migracion/Matricula&amp;diff=90339"/>
				<updated>2023-04-03T18:31:08Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt; {|&lt;br /&gt;
  |__TOC__&lt;br /&gt;
  |}&lt;br /&gt;
&lt;br /&gt;
= Migración de Sistemas Externos a Guaraní 3 =&lt;br /&gt;
&lt;br /&gt;
== Módulo: '''Matrículas''' ==&lt;br /&gt;
A continuación se detallarán los pasos necesarios para la migración del módulo '''Matrículas'''.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pre-Requisitos ====&lt;br /&gt;
* Verificar correcta instalación del Kettle y conexión a la base de datos PostgreSql.&lt;br /&gt;
* Carga de datos a Guaraní 3 por sistema:&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Dato a Cargar&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Menú de G3&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Ubicaciones''' || Ubicación geográfica (Sedes, subsedes, etc..) || &amp;lt;small&amp;gt;» UNIDADES DE GESTIÓN » UBICACIONES » UBICACIONES&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Responsables Académicas'''  || Responsables académicas de las propuestas y actividades || &amp;lt;small&amp;gt;» UNIDADES DE GESTIÓN » ADMINISTRAR RESPONSABLES ACADÉMICAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Años académicos'''  || Este dato lo creará en forma automática el proceso de migración en el caso de no existir creado en la base de datos|| &amp;lt;small&amp;gt;» CALENDARIO » ACTUALIZACIONES » AÑOS ACADÉMICOS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Períodos de inscripción'''  || Este dato lo creará en forma automática el proceso de migración en el caso de no existir creado en la base de datos|| &amp;lt;small&amp;gt;» CALENDARIO » PERÍODOS DE INSCRIPCIÓN » PERÍODOS DE INSCRIPCIÓN A PROPUESTAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Certificaciones'''  || Certificados que otorga cada plan de estudios|| &amp;lt;small&amp;gt;» CONSTANCIAS Y CERTIFICADOS » ADMINISTRAR CONSTANCIAS Y CERTIFICADOS&amp;lt;/small&amp;gt;&amp;lt;br&amp;gt;&amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » PLANES DE ESTUDIO » ASIGNACIÓN DE CERTIFICADOS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Actividades'''  || Actividades de los planes de estudios|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » ACTIVIDADES » ACTIVIDADES&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Propuestas'''  || Propuestas Formativas que estarán asociadas al plan de estudios|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » ADMINISTRAR PROPUESTAS FORMATIVAS&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Planes de Estudios	'''  || Creación de planes, asignación de propuestas y certificaciones que cada plan otorga. El plan debe estar activo.|| &amp;lt;small&amp;gt;» PROPUESTAS FORMATIVAS » PLANES DE ESTUDIO » ADMINISTRAR PLANES DE ESTUDIO&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| '''Motivos de Excepción'''  || Motivos de excepción de requisitos de ingreso|| &amp;lt;small&amp;gt;» REQUISITOS » REQUISITOS DE INGRESO » MOTIVOS DE EXCEPCIÓN DE REQUISITOS&amp;lt;/small&amp;gt; &lt;br /&gt;
|} &lt;br /&gt;
Habiendo verificado los datos cargados en Guaraní 3, se puede avanzar con la migración del módulo. &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Pasos para la Migración ====&lt;br /&gt;
&amp;lt;big&amp;gt;1. Creación de los archivos CSV: &amp;lt;br&amp;gt;&amp;lt;/big&amp;gt;&lt;br /&gt;
* Delimitador: '''|'''&amp;lt;br&amp;gt;&lt;br /&gt;
* Directorio: '''Externos/01_Schema/CSV'''&amp;lt;br&amp;gt;&lt;br /&gt;
'''mig_alumnos.csv'''&lt;br /&gt;
* Formato del archivo:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Nro&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Columna&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tipo de dato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Permite Nulos&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Formato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Tablas Relacionadas&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || legajo||varchar(20)||S|| || Nro de legajo del alumno || &lt;br /&gt;
|-&lt;br /&gt;
| 2 || tipo_documento||smallint||N ||0 - DNI||Tipo de documento || mdp_tipo_documento.tipo_documento&lt;br /&gt;
|-&lt;br /&gt;
| 3 || nro_documento||varchar(15)||N|| || Nro de documento. ||&lt;br /&gt;
|-&lt;br /&gt;
| 4 || propuesta||integer||N|| || ID de la propuesta || sga_propuestas.propuesta&lt;br /&gt;
|-&lt;br /&gt;
| 5 || plan_version_ingreso ||integer|| N || || Versión de plan de estudios con el que ingresó a la propuesta|| sga_planes_versiones.plan_version &lt;br /&gt;
|-&lt;br /&gt;
| 6 || plan_version_actual ||integer|| N || || Versión de plan de estudios actual del alumno || sga_planes_versiones.plan_version &lt;br /&gt;
|-&lt;br /&gt;
| 7 || plan_version_actual_fecha ||date|| S || ||  Fecha de cambio a la versión actual. Solo si plan_version_ingreso &amp;lt;&amp;gt; plan_version_actual ||  &lt;br /&gt;
|-&lt;br /&gt;
| 8 || ubicacion ||integer|| N || || Ubicación/sede donde se encuentra el alumno || sga_ubicaciones.ubicacion&lt;br /&gt;
|-&lt;br /&gt;
| 9 || modalidad ||char(1)|| N || P-Presencial &amp;lt;br&amp;gt; D- A distancia|| Modalidad de Cursada || sga_modalidad_cursada.modalidad &lt;br /&gt;
|-&lt;br /&gt;
| 10 || regular  ||char(1)|| N ||S-Es Regular &amp;lt;br&amp;gt; N-No es Regular|| Condicion de Regularidad en la propuesta  || &lt;br /&gt;
|-&lt;br /&gt;
| 11 || calidad ||char(1)|| N ||A-Alumno Activo &amp;lt;br&amp;gt; P-Alumno Pasivo || Calidad del Alumno en la propuesta  || sga_alumnos_calidad.calidad &lt;br /&gt;
|-&lt;br /&gt;
| 12 || anio_academico  ||integer|| N || aaaa	|| Año académico de ingreso en la propuesta || sga_anios_academicos  &lt;br /&gt;
|-&lt;br /&gt;
| 13 || fecha_inscripcion ||date|| N || dd/mm/aaaa|| Fecha de Inscripción en la propuesta  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 14 || estado_inscripcion ||char(1)|| N || P-Pendiente &amp;lt;br&amp;gt; A-Aceptado &amp;lt;br&amp;gt; R-Rechazado || Estado de Inscripción en la propuesta  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 15 || noreg_anio_academico ||integer||S||aaaa|| Datos relacionados con la pérdida de regularidad en la propuesta. Año académico en que dejó de ser regular.&amp;lt;br&amp;gt; Dato obligatorio si ''regular'' = N  || &lt;br /&gt;
|-&lt;br /&gt;
| 16 || noreg_fecha ||date||S||dd/mm/aaaa||Fecha en que pasó a ser no regular en la carrera.&amp;lt;br&amp;gt;Dato obligatorio si ''regular'' = N || &lt;br /&gt;
|-&lt;br /&gt;
| 17 || noreg_causa ||integer||S|| || Causa que hizo que pierda la regularidad en la propuesta.&amp;lt;br&amp;gt;Dato obligatorio si ''regular'' = N || sga_perdida_regularidad_causas.causa_perdida_reg (Desde 100 en adelante)&lt;br /&gt;
|-&lt;br /&gt;
| 18 || pasivo_fecha ||date||S||dd/mm/aaaa||Fecha en que pasó a ser alumno pasivo.&amp;lt;br&amp;gt;Dato obligatorio si ''calidad'' = P  || &lt;br /&gt;
|-&lt;br /&gt;
| 19 || pasivo_motivo ||integer||S|| || Motivo del cambio de calidad a la calidad actual del alumno en la propuesta. Dato obligatorio si ''calidad'' = P || sga_motivos_cambio_calidad&lt;br /&gt;
|-&lt;br /&gt;
| 20 || egre_titulo ||integer||S|| || Para egresados, indicar el título por el cual egresó. Se inserta registro en sga_certificados_otorg  || sga_certificados.certificado&lt;br /&gt;
|-&lt;br /&gt;
| 21 || egre_fecha_egreso || date|| S || dd/mm/aaaa || Para egresados, indicar la fecha de egreso.&amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo'' || &lt;br /&gt;
|-&lt;br /&gt;
| 22 || egre_nro_expediente ||varchar(30) ||S|| ||Para egresados, Nro de expediente del trámite de egreso  || &lt;br /&gt;
|-&lt;br /&gt;
| 23 || egre_promedio || numerico(8,2) ||S|| || Para egresados, promedio con aplazos. &amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo'' ||&lt;br /&gt;
|-&lt;br /&gt;
| 24 || egre_promedio_sin_aplazos || numerico(8,2) ||S|| || Para egresados, promedio sin aplazos.&amp;lt;br&amp;gt;Dato obligatorio si se registró titulo en campo ''egre_titulo''  ||&lt;br /&gt;
|-&lt;br /&gt;
| 25 || egre_observaciones || varchar(255) ||S|| ||Para egresados, observaciones acerca de la solicitud del titulo ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
El tipo_documento + nro_documento identifican a la persona, la cual debe existir en la tabla de migración '''mig_personas'''.&amp;lt;br&amp;gt;&lt;br /&gt;
Los campos &amp;quot;egre_fecha_egreso, egre_promedio y egre_promedio_sin_aplazos&amp;quot; son de ingreso obligatorio si se registró un titulo (egre_titulo).&amp;lt;br&amp;gt;&lt;br /&gt;
El campo promedio lo deben migrar con coma (,).&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''mig_requisitos.csv'''&lt;br /&gt;
* Formato del archivo:&amp;lt;br&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! &amp;lt;small&amp;gt;Nro&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Columna&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tipo de dato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Permite Nulos&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Formato&amp;lt;/small&amp;gt; !! &amp;lt;small&amp;gt;Descripción&amp;lt;/small&amp;gt;!! &amp;lt;small&amp;gt;Tablas Relacionadas&amp;lt;/small&amp;gt;&lt;br /&gt;
|-&lt;br /&gt;
| 1 || tipo_documento||smallint||N||0 - DNI|| Tipo de documento del alumno || mdp_tipo_documento.tipo_documento&lt;br /&gt;
|-&lt;br /&gt;
| 2 || nro_documento||varchar(15)|| N || || Nro de documento del alumno ||&lt;br /&gt;
|-&lt;br /&gt;
| 3 || propuesta ||integer|| N || || ID de la prpuesta por la que presentó el requisito de ingreso. || sga_propuestas.propuesta&lt;br /&gt;
|-&lt;br /&gt;
| 4 || requisito ||integer|| N || || ID del requisito de ingreso ||sga_requisitos.requisito   &lt;br /&gt;
|-&lt;br /&gt;
| 5 || presentado_exceptuado  ||char(1)|| N ||P-Presentado&amp;lt;br&amp;gt;E-Exceptuado|| Indica si el requisito fue presentado por el alumno o fue exceptuado su presentación || &lt;br /&gt;
|-&lt;br /&gt;
| 6 || fecha ||date|| N || dd/mm/aaaa ||Fecha de presentación o de excepción del requisito  || &lt;br /&gt;
|-&lt;br /&gt;
| 7 || observaciones  ||varchar(200)|| S || || Observaciones sobre el requisito  ||  &lt;br /&gt;
|-&lt;br /&gt;
| 8 || restrictivo ||char(1)|| N || S-Si &amp;lt;br&amp;gt; N-No  || Si es restrictivo para la generación del legajo del alumno ||&lt;br /&gt;
|-&lt;br /&gt;
| 9 || motivo_excepcion  ||integer|| S || || Motivo por el cual fue exceptuado el requisito al alumno. Solo debe ingresarse si presentado_exceptuado = P. || sga_req_motivos_excepcion.motivo_excepcion&lt;br /&gt;
|-&lt;br /&gt;
| 10 || fecha_vencimiento ||date|| S ||dd/mm/aaaa ||Solo para requisitos presentados en el caso que tengan vencimiento ||&lt;br /&gt;
|-&lt;br /&gt;
| 11 || fecha_prorroga ||date||S|| dd/mm/aaaa || Fecha de prórroga si se le otorgó prórroga al alumno ||&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
El '''tipo_documento + nro_documento''' identifican a la persona, la cual debe existir en la tabla de migración '''mig_personas'''.&lt;br /&gt;
El '''tipo_documento + nro_documento + propuesta''' identifican a la inscripción del alumno en la propuesta, el cual debe existir '''mig_alumnos'''.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;2. Creación de tablas. Esquema '''ext.''' de la base de datos&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
# Ejecutar trabajo: &amp;lt;big&amp;gt;Externos/01_Schema/04_Matriculas/'''script_ mig_matriculas.kjb'''&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
Como resultado se crearán la tablas 'mig_alumnos' y 'mig_requisitos' en el esquema 'ext', y se llenarán las mismas con los datos los CSV creados en el paso anterior.&amp;lt;br&amp;gt;&lt;br /&gt;
[[Archivo:Mig externos 0016.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;big&amp;gt;3. Migración del Módulo&amp;lt;/big&amp;gt;&amp;lt;br&amp;gt;&lt;br /&gt;
En el directorio Externos/02_Modulos/04_Matriculas, se encuentran los trabajos correspondientes al proceso de migración del esquema 'EXT' al esquema del negocio. Deberán ejecutarse en el órden que se indica a continuación:&lt;br /&gt;
# Precontroles &amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/01_Pre_Controles/''prectrl_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0017.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Revisar el archivo Excel generado por el trabajo del pre-control: '''Prectrl_Personas_Alumnos.xls''', dentro del mismo directorio &amp;lt;br&amp;gt;[[Archivo:Mig externos 0018.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Arreglar errores que detallen en el archivo de precontroles y volver a correrlos para asegurarse que los datos queden consistentes.&amp;lt;br&amp;gt;&lt;br /&gt;
## Si el archivo '''Prectrl_Personas_Alumnos.xls''' no contiene registros, se puede continuar con el siguiente paso, ya que significa que no falló ningún precontrol y los datos son consistentes.&lt;br /&gt;
# Migración&amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/02_Migracion/''mig_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0020.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
# Poscontroles&amp;lt;br&amp;gt;&lt;br /&gt;
## Ejecutar trabajo: '''Externos/02_Modulos/04_Matriculas/03_Pos_Controles/''posctrl_matriculas.kjb'''''&amp;lt;br&amp;gt;[[Archivo:Mig externos 0021.png|ninguna]]&amp;lt;br&amp;gt;&lt;br /&gt;
## Revisar el archivo Excel generado por el trabajo del post-control: '''Pos_Controles_Matriculas.xls''', dentro del mismo directorio &amp;lt;br&amp;gt;&lt;br /&gt;
## Este archivo indica si las cantidades de registros migradas, coinciden con los registros del CSV. Si hubo errores, revisar el proceso de migración y volver a migrar.&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
| [[SIU-Guarani/Version3.20.0/Migracion/Desde sistemas externos/Migracion/Calendario_Academico|&amp;lt; Migrar Calendario Académico]]  &amp;lt;br&amp;gt; [[SIU-Guarani/Version3.20.0/Migracion/Desde sistemas externos|&amp;lt; Migración Sistemas Externos]]|| align=&amp;quot;right&amp;quot; | [[SIU-Guarani/Version3.20.0/Migracion/Desde sistemas externos/Migracion/Cursadas|Migrar Cursadas &amp;gt;]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87896</id>
		<title>SIU-Guarani/Version3.20.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87896"/>
				<updated>2022-12-12T16:26:04Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Actualizar Aqui--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.3 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.3&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;12/12/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.3 Con versión 3.20.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.3 Con versión 3.20.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.3 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.3 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.3 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.3 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.3 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.3 Con versión 3.17.0]&lt;br /&gt;
&amp;lt;!-- == API-REST Guaraní ==&lt;br /&gt;
 &lt;br /&gt;
*--&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' realizada la actualización de versión.&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.2 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;15/06/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.1]&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los Web Sevices de '''Boleto Estudiantil''', se deben volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/WS/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/ws Revisar cambios en la configuración de los mismos].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los comandos '''bin/guarani pro_solicitudes_sube''' y '''bin/guarani notif_solicitudes_sube''' para que cuando un alumno recupera la regularidad se le vuelva a habilitar el beneficio de '''Boleto Estudiantil'''.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejora la personalización de '''Boleto Estudiantil''', se debe volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/3W/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/3w Revisar cambios en la configuración de la misma].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.1 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: ''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.1] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega configuración de URL y puerto para usar Jasper, hay que regenerar el archivo [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php].&lt;br /&gt;
* Se agrega genero x en la API &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se refactoriza el código de la API REST para que reconozca personalizaciones realizadas por la universidad, en caso de tener personalizaciones en la API REST [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest revisar la siguiente documentación].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega '''jasper_host''' y '''jasper_port''' al archivo '''instalacion/instalacion.ini''' para personalizar host y puerto del servicio Jasper, respectivamente. Por defecto toma los siguientes valores:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
jasper_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
jasper_port = &amp;quot;8081&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#gestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se mejora el comando '''bin/guarani exportar_usuarios_arai''': &lt;br /&gt;
** Da la opción de exportar personas con o sin email asignado.&lt;br /&gt;
** Si la persona tiene varios emails se exportaran todos siguiendo el siguiente orden de importancia: '''Email Principal''', '''Email Secundario''' y '''Email Institucional'''.&lt;br /&gt;
** Permite exportar el género '''No Binario''' hacia SIU-Araí (se deben utilizar versiones de '''SIU-Araí Usuarios &amp;gt;= v3.1.6''' en el caso que se necesite [https://expedientes.siu.edu.ar/docs/guarani/#sincronizar-cuentas-de-usuarios Sincronizar cuentas de usuarios]).&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''jasper_host''' para configurar la IP/URL donde se encuentre alojado el servicio '''Jasper''', por defecto '127.0.0.1'.&lt;br /&gt;
* Se agrega la directiva '''jasper_port''' para configurar el puerto donde se encuentre alojado el servicio '''Jasper''', por defecto '8081'.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Host donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 127.0.0.1&lt;br /&gt;
 */&lt;br /&gt;
'jasper_host' =&amp;gt; '127.0.0.1',&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Puerto donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 8081&lt;br /&gt;
 */&lt;br /&gt;
'jasper_port' =&amp;gt; '8081',&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#autogestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''22/10/2021'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Cambios en la documentación de [https://expedientes.siu.edu.ar/docs/guarani/ Expedientes].&lt;br /&gt;
&lt;br /&gt;
* [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.20.0/instalacion_desde_cero/requisitos_previos/linux Se modifican los requisitos previos]: &lt;br /&gt;
&amp;lt;dd&amp;gt;Actualización de tecnologías de base:&lt;br /&gt;
* Se actualiza a la versión de '''PHP 7.4.x.''' &lt;br /&gt;
Importante:&lt;br /&gt;
[https://www.php.net/manual/es/migration74.php Consideraciones de migración de PHP 7.3 a 7.4]&lt;br /&gt;
* Se actualiza a la versión de '''Composer 2.x.x'''&lt;br /&gt;
Para actualizar de Composer 1 a Composer 2 ejecutar el comando '''composer self-update --2'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nuevo esquema de versionado de API! &amp;lt;/pre&amp;gt; Permite mantener vivas las versiones anteriores de la API Guaraní, para ello se agrega un indicador de versión a la url. El resultado es ''http://&amp;lt;url_gestion&amp;gt;/rest/v1/''. &lt;br /&gt;
&lt;br /&gt;
Es muy '''IMPORTANTE''' que al actualizar el módulo de Gestión, cambien las configuraciones de otros sistemas que consumen la API de SIU-Guaraní como SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua y SIDCER.&lt;br /&gt;
&lt;br /&gt;
Ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/API_REST_GUARANI configuración de API REST].&lt;br /&gt;
&lt;br /&gt;
Si se posee personalizaciones en la API REST ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest Personalizar servicios REST].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.14''' de '''SIU-Toba''' a la versión '''3.3.20'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.20/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''huarpe_url_bandeja''' para configurar la URL de la bandeja de documentos pendientes de autorización de '''SIU-Huarpe'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''2.3.0''' de '''Chulupí''' a la versión '''2.4.0'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87894</id>
		<title>SIU-Guarani/Version3.20.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87894"/>
				<updated>2022-12-12T14:36:00Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Actualizar Aqui--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.3 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.3&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;12/12/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- == API-REST Guaraní ==&lt;br /&gt;
 &lt;br /&gt;
*--&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' realizada la actualización de versión.&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.2 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;15/06/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.1]&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los Web Sevices de '''Boleto Estudiantil''', se deben volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/WS/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/ws Revisar cambios en la configuración de los mismos].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los comandos '''bin/guarani pro_solicitudes_sube''' y '''bin/guarani notif_solicitudes_sube''' para que cuando un alumno recupera la regularidad se le vuelva a habilitar el beneficio de '''Boleto Estudiantil'''.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejora la personalización de '''Boleto Estudiantil''', se debe volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/3W/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/3w Revisar cambios en la configuración de la misma].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.1 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: ''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.1] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega configuración de URL y puerto para usar Jasper, hay que regenerar el archivo [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php].&lt;br /&gt;
* Se agrega genero x en la API &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se refactoriza el código de la API REST para que reconozca personalizaciones realizadas por la universidad, en caso de tener personalizaciones en la API REST [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest revisar la siguiente documentación].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega '''jasper_host''' y '''jasper_port''' al archivo '''instalacion/instalacion.ini''' para personalizar host y puerto del servicio Jasper, respectivamente. Por defecto toma los siguientes valores:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
jasper_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
jasper_port = &amp;quot;8081&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#gestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se mejora el comando '''bin/guarani exportar_usuarios_arai''': &lt;br /&gt;
** Da la opción de exportar personas con o sin email asignado.&lt;br /&gt;
** Si la persona tiene varios emails se exportaran todos siguiendo el siguiente orden de importancia: '''Email Principal''', '''Email Secundario''' y '''Email Institucional'''.&lt;br /&gt;
** Permite exportar el género '''No Binario''' hacia SIU-Araí (se deben utilizar versiones de '''SIU-Araí Usuarios &amp;gt;= v3.1.6''' en el caso que se necesite [https://expedientes.siu.edu.ar/docs/guarani/#sincronizar-cuentas-de-usuarios Sincronizar cuentas de usuarios]).&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''jasper_host''' para configurar la IP/URL donde se encuentre alojado el servicio '''Jasper''', por defecto '127.0.0.1'.&lt;br /&gt;
* Se agrega la directiva '''jasper_port''' para configurar el puerto donde se encuentre alojado el servicio '''Jasper''', por defecto '8081'.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Host donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 127.0.0.1&lt;br /&gt;
 */&lt;br /&gt;
'jasper_host' =&amp;gt; '127.0.0.1',&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Puerto donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 8081&lt;br /&gt;
 */&lt;br /&gt;
'jasper_port' =&amp;gt; '8081',&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#autogestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''22/10/2021'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Cambios en la documentación de [https://expedientes.siu.edu.ar/docs/guarani/ Expedientes].&lt;br /&gt;
&lt;br /&gt;
* [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.20.0/instalacion_desde_cero/requisitos_previos/linux Se modifican los requisitos previos]: &lt;br /&gt;
&amp;lt;dd&amp;gt;Actualización de tecnologías de base:&lt;br /&gt;
* Se actualiza a la versión de '''PHP 7.4.x.''' &lt;br /&gt;
Importante:&lt;br /&gt;
[https://www.php.net/manual/es/migration74.php Consideraciones de migración de PHP 7.3 a 7.4]&lt;br /&gt;
* Se actualiza a la versión de '''Composer 2.x.x'''&lt;br /&gt;
Para actualizar de Composer 1 a Composer 2 ejecutar el comando '''composer self-update --2'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nuevo esquema de versionado de API! &amp;lt;/pre&amp;gt; Permite mantener vivas las versiones anteriores de la API Guaraní, para ello se agrega un indicador de versión a la url. El resultado es ''http://&amp;lt;url_gestion&amp;gt;/rest/v1/''. &lt;br /&gt;
&lt;br /&gt;
Es muy '''IMPORTANTE''' que al actualizar el módulo de Gestión, cambien las configuraciones de otros sistemas que consumen la API de SIU-Guaraní como SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua y SIDCER.&lt;br /&gt;
&lt;br /&gt;
Ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/API_REST_GUARANI configuración de API REST].&lt;br /&gt;
&lt;br /&gt;
Si se posee personalizaciones en la API REST ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest Personalizar servicios REST].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.14''' de '''SIU-Toba''' a la versión '''3.3.20'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.20/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''huarpe_url_bandeja''' para configurar la URL de la bandeja de documentos pendientes de autorización de '''SIU-Huarpe'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''2.3.0''' de '''Chulupí''' a la versión '''2.4.0'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87893</id>
		<title>SIU-Guarani/Version3.20.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87893"/>
				<updated>2022-12-12T14:35:18Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Actualizar Aqui--&amp;gt;&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.3 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.3&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;12/12/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;!-- == API-REST Guaraní ==&lt;br /&gt;
 &lt;br /&gt;
*--&amp;gt;&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' realizada la actualización de versión.&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.2 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;15/06/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.1]&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los Web Sevices de '''Boleto Estudiantil''', se deben volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/WS/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/ws Revisar cambios en la configuración de los mismos].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los comandos '''bin/guarani pro_solicitudes_sube''' y '''bin/guarani notif_solicitudes_sube''' para que cuando un alumno recupera la regularidad se le vuelva a habilitar el beneficio de '''Boleto Estudiantil'''.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejora la personalización de '''Boleto Estudiantil''', se debe volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/3W/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/3w Revisar cambios en la configuración de la misma].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.1 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: ''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.1] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega configuración de URL y puerto para usar Jasper, hay que regenerar el archivo [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php].&lt;br /&gt;
* Se agrega genero x en la API &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se refactoriza el código de la API REST para que reconozca personalizaciones realizadas por la universidad, en caso de tener personalizaciones en la API REST [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest revisar la siguiente documentación].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega '''jasper_host''' y '''jasper_port''' al archivo '''instalacion/instalacion.ini''' para personalizar host y puerto del servicio Jasper, respectivamente. Por defecto toma los siguientes valores:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
jasper_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
jasper_port = &amp;quot;8081&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#gestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se mejora el comando '''bin/guarani exportar_usuarios_arai''': &lt;br /&gt;
** Da la opción de exportar personas con o sin email asignado.&lt;br /&gt;
** Si la persona tiene varios emails se exportaran todos siguiendo el siguiente orden de importancia: '''Email Principal''', '''Email Secundario''' y '''Email Institucional'''.&lt;br /&gt;
** Permite exportar el género '''No Binario''' hacia SIU-Araí (se deben utilizar versiones de '''SIU-Araí Usuarios &amp;gt;= v3.1.6''' en el caso que se necesite [https://expedientes.siu.edu.ar/docs/guarani/#sincronizar-cuentas-de-usuarios Sincronizar cuentas de usuarios]).&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''jasper_host''' para configurar la IP/URL donde se encuentre alojado el servicio '''Jasper''', por defecto '127.0.0.1'.&lt;br /&gt;
* Se agrega la directiva '''jasper_port''' para configurar el puerto donde se encuentre alojado el servicio '''Jasper''', por defecto '8081'.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Host donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 127.0.0.1&lt;br /&gt;
 */&lt;br /&gt;
'jasper_host' =&amp;gt; '127.0.0.1',&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Puerto donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 8081&lt;br /&gt;
 */&lt;br /&gt;
'jasper_port' =&amp;gt; '8081',&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#autogestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''22/10/2021'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Cambios en la documentación de [https://expedientes.siu.edu.ar/docs/guarani/ Expedientes].&lt;br /&gt;
&lt;br /&gt;
* [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.20.0/instalacion_desde_cero/requisitos_previos/linux Se modifican los requisitos previos]: &lt;br /&gt;
&amp;lt;dd&amp;gt;Actualización de tecnologías de base:&lt;br /&gt;
* Se actualiza a la versión de '''PHP 7.4.x.''' &lt;br /&gt;
Importante:&lt;br /&gt;
[https://www.php.net/manual/es/migration74.php Consideraciones de migración de PHP 7.3 a 7.4]&lt;br /&gt;
* Se actualiza a la versión de '''Composer 2.x.x'''&lt;br /&gt;
Para actualizar de Composer 1 a Composer 2 ejecutar el comando '''composer self-update --2'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nuevo esquema de versionado de API! &amp;lt;/pre&amp;gt; Permite mantener vivas las versiones anteriores de la API Guaraní, para ello se agrega un indicador de versión a la url. El resultado es ''http://&amp;lt;url_gestion&amp;gt;/rest/v1/''. &lt;br /&gt;
&lt;br /&gt;
Es muy '''IMPORTANTE''' que al actualizar el módulo de Gestión, cambien las configuraciones de otros sistemas que consumen la API de SIU-Guaraní como SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua y SIDCER.&lt;br /&gt;
&lt;br /&gt;
Ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/API_REST_GUARANI configuración de API REST].&lt;br /&gt;
&lt;br /&gt;
Si se posee personalizaciones en la API REST ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest Personalizar servicios REST].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.14''' de '''SIU-Toba''' a la versión '''3.3.20'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.20/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''huarpe_url_bandeja''' para configurar la URL de la bandeja de documentos pendientes de autorización de '''SIU-Huarpe'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''2.3.0''' de '''Chulupí''' a la versión '''2.4.0'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87892</id>
		<title>SIU-Guarani/Version3.20.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87892"/>
				<updated>2022-12-12T14:34:44Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Actualizar Aqui--&amp;gt;&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.3 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.3&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;12/12/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
 &lt;br /&gt;
*&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' realizada la actualización de versión.&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.2 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;15/06/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.1]&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los Web Sevices de '''Boleto Estudiantil''', se deben volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/WS/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/ws Revisar cambios en la configuración de los mismos].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los comandos '''bin/guarani pro_solicitudes_sube''' y '''bin/guarani notif_solicitudes_sube''' para que cuando un alumno recupera la regularidad se le vuelva a habilitar el beneficio de '''Boleto Estudiantil'''.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejora la personalización de '''Boleto Estudiantil''', se debe volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/3W/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/3w Revisar cambios en la configuración de la misma].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.1 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: ''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.1] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega configuración de URL y puerto para usar Jasper, hay que regenerar el archivo [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php].&lt;br /&gt;
* Se agrega genero x en la API &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se refactoriza el código de la API REST para que reconozca personalizaciones realizadas por la universidad, en caso de tener personalizaciones en la API REST [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest revisar la siguiente documentación].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega '''jasper_host''' y '''jasper_port''' al archivo '''instalacion/instalacion.ini''' para personalizar host y puerto del servicio Jasper, respectivamente. Por defecto toma los siguientes valores:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
jasper_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
jasper_port = &amp;quot;8081&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#gestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se mejora el comando '''bin/guarani exportar_usuarios_arai''': &lt;br /&gt;
** Da la opción de exportar personas con o sin email asignado.&lt;br /&gt;
** Si la persona tiene varios emails se exportaran todos siguiendo el siguiente orden de importancia: '''Email Principal''', '''Email Secundario''' y '''Email Institucional'''.&lt;br /&gt;
** Permite exportar el género '''No Binario''' hacia SIU-Araí (se deben utilizar versiones de '''SIU-Araí Usuarios &amp;gt;= v3.1.6''' en el caso que se necesite [https://expedientes.siu.edu.ar/docs/guarani/#sincronizar-cuentas-de-usuarios Sincronizar cuentas de usuarios]).&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''jasper_host''' para configurar la IP/URL donde se encuentre alojado el servicio '''Jasper''', por defecto '127.0.0.1'.&lt;br /&gt;
* Se agrega la directiva '''jasper_port''' para configurar el puerto donde se encuentre alojado el servicio '''Jasper''', por defecto '8081'.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Host donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 127.0.0.1&lt;br /&gt;
 */&lt;br /&gt;
'jasper_host' =&amp;gt; '127.0.0.1',&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Puerto donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 8081&lt;br /&gt;
 */&lt;br /&gt;
'jasper_port' =&amp;gt; '8081',&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#autogestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''22/10/2021'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Cambios en la documentación de [https://expedientes.siu.edu.ar/docs/guarani/ Expedientes].&lt;br /&gt;
&lt;br /&gt;
* [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.20.0/instalacion_desde_cero/requisitos_previos/linux Se modifican los requisitos previos]: &lt;br /&gt;
&amp;lt;dd&amp;gt;Actualización de tecnologías de base:&lt;br /&gt;
* Se actualiza a la versión de '''PHP 7.4.x.''' &lt;br /&gt;
Importante:&lt;br /&gt;
[https://www.php.net/manual/es/migration74.php Consideraciones de migración de PHP 7.3 a 7.4]&lt;br /&gt;
* Se actualiza a la versión de '''Composer 2.x.x'''&lt;br /&gt;
Para actualizar de Composer 1 a Composer 2 ejecutar el comando '''composer self-update --2'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nuevo esquema de versionado de API! &amp;lt;/pre&amp;gt; Permite mantener vivas las versiones anteriores de la API Guaraní, para ello se agrega un indicador de versión a la url. El resultado es ''http://&amp;lt;url_gestion&amp;gt;/rest/v1/''. &lt;br /&gt;
&lt;br /&gt;
Es muy '''IMPORTANTE''' que al actualizar el módulo de Gestión, cambien las configuraciones de otros sistemas que consumen la API de SIU-Guaraní como SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua y SIDCER.&lt;br /&gt;
&lt;br /&gt;
Ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/API_REST_GUARANI configuración de API REST].&lt;br /&gt;
&lt;br /&gt;
Si se posee personalizaciones en la API REST ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest Personalizar servicios REST].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.14''' de '''SIU-Toba''' a la versión '''3.3.20'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.20/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''huarpe_url_bandeja''' para configurar la URL de la bandeja de documentos pendientes de autorización de '''SIU-Huarpe'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''2.3.0''' de '''Chulupí''' a la versión '''2.4.0'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	<entry>
		<id>https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87886</id>
		<title>SIU-Guarani/Version3.20.0/Novedades tecnicas</title>
		<link rel="alternate" type="text/html" href="https://documentacion.siu.edu.ar/wiki/index.php?title=SIU-Guarani/Version3.20.0/Novedades_tecnicas&amp;diff=87886"/>
				<updated>2022-12-07T14:18:48Z</updated>
		
		<summary type="html">&lt;p&gt;Jschnaiderman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
&amp;lt;!-- Actualizar Aqui&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.3 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.3&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
 &lt;br /&gt;
*&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' realizada la actualización de versión.&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se actualizó la versión de Jasper a la 5.6.1.2, '''se debe reiniciar el servicio''' una vez realizada la actualización de versión.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.2 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.2&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación:  &amp;lt;strong&amp;gt;15/06/2022&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.1]&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.2 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los Web Sevices de '''Boleto Estudiantil''', se deben volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/WS/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/ws Revisar cambios en la configuración de los mismos].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejoran los comandos '''bin/guarani pro_solicitudes_sube''' y '''bin/guarani notif_solicitudes_sube''' para que cuando un alumno recupera la regularidad se le vuelva a habilitar el beneficio de '''Boleto Estudiantil'''.&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se mejora la personalización de '''Boleto Estudiantil''', se debe volver a descargar desde [https://colab.siu.edu.ar/svn/guarani3/contrib/3.20.x/boleto_estudiantil/3W/ aquí]. [https://colab.siu.edu.ar/trac/guarani3/wiki/contrib/boleto_estudiantil/3w Revisar cambios en la configuración de la misma].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.1 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.1&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: ''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.1] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.20.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.20.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.1 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega configuración de URL y puerto para usar Jasper, hay que regenerar el archivo [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php].&lt;br /&gt;
* Se agrega genero x en la API &lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
* Se refactoriza el código de la API REST para que reconozca personalizaciones realizadas por la universidad, en caso de tener personalizaciones en la API REST [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest revisar la siguiente documentación].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se agrega '''jasper_host''' y '''jasper_port''' al archivo '''instalacion/instalacion.ini''' para personalizar host y puerto del servicio Jasper, respectivamente. Por defecto toma los siguientes valores:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
jasper_host = &amp;quot;127.0.0.1&amp;quot;&lt;br /&gt;
jasper_port = &amp;quot;8081&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#gestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Se mejora el comando '''bin/guarani exportar_usuarios_arai''': &lt;br /&gt;
** Da la opción de exportar personas con o sin email asignado.&lt;br /&gt;
** Si la persona tiene varios emails se exportaran todos siguiendo el siguiente orden de importancia: '''Email Principal''', '''Email Secundario''' y '''Email Institucional'''.&lt;br /&gt;
** Permite exportar el género '''No Binario''' hacia SIU-Araí (se deben utilizar versiones de '''SIU-Araí Usuarios &amp;gt;= v3.1.6''' en el caso que se necesite [https://expedientes.siu.edu.ar/docs/guarani/#sincronizar-cuentas-de-usuarios Sincronizar cuentas de usuarios]).&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config instalacion/config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''jasper_host''' para configurar la IP/URL donde se encuentre alojado el servicio '''Jasper''', por defecto '127.0.0.1'.&lt;br /&gt;
* Se agrega la directiva '''jasper_port''' para configurar el puerto donde se encuentre alojado el servicio '''Jasper''', por defecto '8081'.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot; enclose=&amp;quot;div&amp;quot; style=&amp;quot;width: 450px;&amp;quot;&amp;gt;&lt;br /&gt;
/**&lt;br /&gt;
 * Host donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 127.0.0.1&lt;br /&gt;
 */&lt;br /&gt;
'jasper_host' =&amp;gt; '127.0.0.1',&lt;br /&gt;
&lt;br /&gt;
/**&lt;br /&gt;
 * Puerto donde se corre Jasper&lt;br /&gt;
 *  - Ejemplo: 8081&lt;br /&gt;
 */&lt;br /&gt;
'jasper_port' =&amp;gt; '8081',&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Ver documentación [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/configuracion-jasper#autogestion Configuración de Jasper].&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;br /&gt;
__NOTOC__&lt;br /&gt;
__NOTOC__&lt;br /&gt;
= Principales novedades técnicas =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div style=&amp;quot;clear: both; display: block; float: left; border-left: 3px solid #3399ff; padding: 10px; background-color: #eee; width: 565px;font-size: 13px;&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;[[SIU-Guarani/Version3.20.0 | Volver]]&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Número de versión: &amp;lt;strong&amp;gt;3.20.0&amp;lt;/strong&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;margin: 0; padding: 0;&amp;quot;&amp;gt;Fecha de publicación: '''22/10/2021'''&amp;lt;/p&amp;gt;&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;br /&gt;
&amp;lt;p style=&amp;quot;clear: both;&amp;quot;&amp;gt;&amp;lt;/p&amp;gt;&lt;br /&gt;
== Base de Datos ==&lt;br /&gt;
* [https://colab.siu.edu.ar/modelo/032000/html%20v3.20.0.html Modelo 3.20.0] (Se accede con credenciales de Colab)&lt;br /&gt;
&lt;br /&gt;
=== Diferencias con versiones anteriores ===&lt;br /&gt;
&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.19.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.19.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.18.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.18.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.17.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.17.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.2&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.2]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.16.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.16.0]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.1&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.1]&lt;br /&gt;
* [https://colab.siu.edu.ar/trac/guarani3/changeset?old=HEAD@/branches/base_diff/versiones/3.15.0&amp;amp;new=HEAD@/branches/base_diff/versiones/3.20.0 Con versión 3.15.0]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible&amp;quot; style=&amp;quot;width:100%&amp;quot;&amp;gt;&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Notas de versión ==&lt;br /&gt;
&lt;br /&gt;
* Cambios en la documentación de [https://expedientes.siu.edu.ar/docs/guarani/ Expedientes].&lt;br /&gt;
&lt;br /&gt;
* [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.20.0/instalacion_desde_cero/requisitos_previos/linux Se modifican los requisitos previos]: &lt;br /&gt;
&amp;lt;dd&amp;gt;Actualización de tecnologías de base:&lt;br /&gt;
* Se actualiza a la versión de '''PHP 7.4.x.''' &lt;br /&gt;
Importante:&lt;br /&gt;
[https://www.php.net/manual/es/migration74.php Consideraciones de migración de PHP 7.3 a 7.4]&lt;br /&gt;
* Se actualiza a la versión de '''Composer 2.x.x'''&lt;br /&gt;
Para actualizar de Composer 1 a Composer 2 ejecutar el comando '''composer self-update --2'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;mw-collapsible-content&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== API-REST Guaraní ==&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;color: red&amp;quot;&amp;gt; ¡Nuevo esquema de versionado de API! &amp;lt;/pre&amp;gt; Permite mantener vivas las versiones anteriores de la API Guaraní, para ello se agrega un indicador de versión a la url. El resultado es ''http://&amp;lt;url_gestion&amp;gt;/rest/v1/''. &lt;br /&gt;
&lt;br /&gt;
Es muy '''IMPORTANTE''' que al actualizar el módulo de Gestión, cambien las configuraciones de otros sistemas que consumen la API de SIU-Guaraní como SIU-Tehuelche, SIU-Sanaviron-Quilmes, SIU-Quechua y SIDCER.&lt;br /&gt;
&lt;br /&gt;
Ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/API_REST_GUARANI configuración de API REST].&lt;br /&gt;
&lt;br /&gt;
Si se posee personalizaciones en la API REST ver [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/personalizaciones/rest Personalizar servicios REST].&lt;br /&gt;
&lt;br /&gt;
== Gestión ==&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''3.3.14''' de '''SIU-Toba''' a la versión '''3.3.20'''.&lt;br /&gt;
&amp;lt;dd&amp;gt;Para más información [https://github.com/SIU-Toba/framework/blob/v3.3.20/CHANGELOG.md ver documentación aquí].&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Autogestión ==&lt;br /&gt;
&lt;br /&gt;
* Se modifica el archivo de configuración [https://documentacion.siu.edu.ar/wiki/SIU-Guarani/Version3.20.0/3w/configuracion#config config.php]:&lt;br /&gt;
&amp;lt;dd&amp;gt;Se agregan nuevas directivas en el archivo '''instalacion/config.php''', se debe recrear a partir de su template (archivo '''instalacion/config_template.php'''):&lt;br /&gt;
* Se agrega la directiva '''huarpe_url_bandeja''' para configurar la URL de la bandeja de documentos pendientes de autorización de '''SIU-Huarpe'''.&lt;br /&gt;
&amp;lt;/dd&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* Se migró de la versión '''2.3.0''' de '''Chulupí''' a la versión '''2.4.0'''.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>Jschnaiderman</name></author>	</entry>

	</feed>