Error con Araí al adjuntar documentación a Expte de egreso

Buenos dias! estamos probando el circuito de egreso con G3 y Sudocu, al querer adjuntar un formulario generado en el circuito de egreso (Op. “Adjuntar Documentación a Expediente de Egreso”) nos muestra un mensaje de error que dice “Las siguientes autoridades no poseen usuario en SIU-Araí:…”
Vimos que la Op “Administrar personas” no se ve la vinculación con Araí y da un error (se adjunta captura)
Cómo podemos solucionarlo?
Muchas gracias!


error vinc Arai.PNG

error vinc Arai.PNG_thumb.png

Hola Vane!

Desde el Araí-Usuarios crearon ya el usuario con el que quieren matchear a la persona de guaraní?
Al momento de buscarlo en el campo de “Usuario Araí” (dentro de “Administrar Personas” de Guaraní) les aparece dicho usuario y el error se produce al seleccionarlo? u ocurre en otro momento?

Saludos!

hola Martín, si, las personas con las que probamos existen en Araí. Respecto al momento en que se produce el error en la Op Administrar personas es cuando se comienza a buscar, es decir al comenzar a tipear algo ya salta ese mensaje (no nos devuelve ningun valor)

Hola Vanesa,

En la operación Administrar Personas solapa Acceso al sistema vas a ver el campo Usuario Araí, allí tenes que vincular las Autoridades Firmantes con los usuarios de Araí.

Les recomendamos que revisen los pasos de esta documentación: https://expedientes.siu.edu.ar/docs/guarani/

Es posible que Guaraní no se esta conectando con la API de Araí usuarios o documentos. Si es posible envianos los logs al momento del error.

saludos.
2

Hola Leonel:
la configuración esta bien
Ya logre solucionar el error remplazando unas lineas de código en la función get_appUniquesId que por alguna misteriosa razón no funciona en nuestro entorno.

+++ b/guarani_instalacion_conf.php
@@ -194,14 +194,15 @@
         
     static function get_appUniquesId()
     {
-        $archivo_instalacion_ini = toba::instalacion()->get_path_carpeta_instalacion().'/instalacion.ini';
-        $parse = parse_ini_file($archivo_instalacion_ini);
-        if (!isset($parse['appUniqueIdGestion']) || !isset($parse['appUniqueId3w'])) {
-            throw guarani::error('Debe definir las appUniqueId de Gestion y de 3w');
-        }
+//        $archivo_instalacion_ini = toba::instalacion()->get_path_carpeta_instalacion().'/instalacion.ini';
+//        $parse = parse_ini_file($archivo_instalacion_ini);
+//        if (!isset($parse['appUniqueIdGestion']) || !isset($parse['appUniqueId3w'])) {
+//            throw guarani::error('Debe definir las appUniqueId de Gestion y de 3w');
+//        }
         $valores = [];
-        $valores['appUniqueIdGestion'] = $parse['appUniqueIdGestion'];
-        $valores['appUniqueId3w'] = $parse['appUniqueId3w'];
\ No newline at end of file
+        $valores['appUniqueIdGestion'] = self::get_parametro_instalacion('appUniqueIdGestion', true); //$parse['appUniqueIdGestion'];
+        $valores['appUniqueId3w'] = self::get_parametro_instalacion('appUniqueId3w', true); //$parse['appUniqueId3w'];
+        toba::logger()->debug(['CFPACE: ', $valores]);
\ No newline at end of file
         return $valores;
     }    

voy a seguir revisando porque parse_ini_file no logra parsear nuestro ini que lo único raro que tendría es que utiliza algunas variables de entorno.

Hola Carlos,

¿que versión de Guaraní tienen instalada?

¿existe el archivo instalacion/instalacion.ini con las directivas appUniqueIdGestion y appUniqueId3w configuradas?

saludos.
2

la versión es 3.20.0
si el archivo existe su contenido es

# cat instalacion/instalacion.ini 
nombre = "guarani"
id_grupo_desarrollo = "0"
clave_querystring = "xxxxx"
clave_db = "xxxxx"
editor_php = ""
url = $env(TOBA_ALIAS_NUCLEO)$
es_produccion = "1"
salt = "xxxxxx"
session_name = $env(TOBA_SESSION_NAME)$
smtp=$env(SMTP_ENTRADA)$
url3w=$env(fqdm)$/$env(ALIAS_3w)$
autenticacion = "saml_onelogin"
vincula_arai_usuarios = "1"
appUniqueIdGestion = $env(appUniqueIdGestion)$
appUniqueId3w = $env(appUniqueId3w)$
[xslfo]
fop = "/usr/local/app/php/3ros/fop/fop"

appUniqueIdGestion y appUniqueId3w estan definidas como variables de entorno en el contenedor y son resolubles por la aplicación, esto funciona puesto que los comandos de consola para exportar los usuarios y en general el resto sistema toma correctamente los valores.

cambiando solamente el código del msg anterior empezó a funcionar, no se porque la función parse_ini_file no es capas de parsear este ini. La función devuelve 1 en lugar del array con los valores.

Hola Carlos,

Es extraño que la función parse_ini_file devuelva 1, solo devuelve un array asociativo con los valores del archivo .ini o false en caso de error.

$valores['appUniqueIdGestion'] = self::get_parametro_instalacion('appUniqueIdGestion', true); //$parse['appUniqueIdGestion']; $valores['appUniqueId3w'] = self::get_parametro_instalacion('appUniqueId3w', true); //$parse['appUniqueId3w'];

Ojo que la función get_parametro_instalacion te va a devolver true en caso de no encontrar el valor de ‘appUniqueIdGestion’, ese true es el valor por defecto en caso de no encontrar el valor.

Para mi el problema viene por el lado de las variables de entorno en instalacion/instalacion.ini, veo que en la función parse_file_content de vendor/siu-toba/framework/php/lib/toba_config.php dice el siguiente comentario: “Lee el archivo especificado y convierte todas las referencias a variables de entorno por sus valores”. Quizás parse_ini_file no convierte las variables de entorno.

Vamos a probarlo y verlo de mejorar en una futura versión.

saludos.
2