Error conexión SQ y G3

Buenas tardes,

Estamos intentando realizar la integración entre G3 y SQ, y tenemos inconvenientes para poner como cobrable una actividad de Curso de Extensión. Cuando le cambiamos el estado a cobrable desde el plan en G3, nos tira el siguiente error.

URL que intenta hacer GET: https://sqpre.unla.edu.ar/sq_academico/rest/v1/servicios?sistema_externo=f078e5aa-de68-43c4-87e7-7455f526a508&id_externo=119|7889

{
“error”: 404,
“mensaje”: “404 Not Found”,
“descripcion”: “No existe el servicio solicitado”
}

Seguimos el instructivo: https://documentacion.siu.edu.ar/wiki/SIU-Guarani/version3.22.0/interfaces/sanaviron

Falta la parte de RestHooks, pero estamos intentando con Cursos de Extension.
Que podra ser?

View Issue

Hola Romina, tener resthooks es fundamental para la comunicación entre los módulos.

Aprovecho para consultarte en orden los pasos funcionales que realizaron.
Crearon la propuesta formativa, actividad (cobrable), plan de estudio asociando la actividad, activación del plan y al menos una comisión?

Hola,

Creamos la propuesta de tipo cursos, activamos el plan de estudio con las actividades y al momento de poner una actividad como cobrable es que tenemos este inconveniente.

Es necesario crear la comisión antes de poner como cobrable la actividad?

Estamos en proceso de configurar los RestHook de redis para las Propuestas, pero antes (con unas bases de datos distintas) podiamos conectarnos desde la parte de Cursos de Extension.

Hola @rmansilla , agrego a lo de @mramunni

  1. ¿que versión de Guaraní tienen instalada?

  2. Revisa Interfaz SIU-Guaraní - SIU-Sanaviron/Quilmes

  3. Para que se cree la actividad cobrable en SQ se tienen que dar las siguientes condiciones:

3.1) El parámetro sq_usa_sanaviron debe estar en Se utiliza Sanaviron-Quilmes como módulo de cobros, ojo que se puede configurar a nivel Algunas Responsables Académicas. Arriba a la derecha de Guaraní Gestión esta el link que dice Ver parámetros donde podes ver como esta llegando.

3.2) El plan de estudios debe ser Tipo de Plan = Estructurado y Plan creado para administrar cursos marcado.

3.3) La actividad dentro de la Estructura del plan debe ser Cobrable = Sí. Luego al Guardar en la operación Administrar Planes de Estudio debería crear el servicio en SQ.

Te dejo unos tutoriales de Youtube:

Circuito Académico - SIU-Sanavirón Quilmes

SIU-SanavirónQuilmes

Saludos.

Es necesario crear la comisión antes de poner como cobrable la actividad?

No, en » Cursadas » Comisiones » Administrar Comisiones se puede crear después como Cobrable = Sí, al Guardar se le notifica a SQ, igual luego en SQ hay marcar dicha comisión en Inicio > Servicios > Administrar servicios instancias solapa Versiones ( #3 - Circuito académico - Valorización del Servicio Instancia y vinculación de la Versión).

Si no proba cambiando Cobrable = No luego Guardar, seguido Cobrable = Sí y Guardar nuevamente, con eso seguramente crea el Servicio Versiones en SQ.

  1. ¿que versión de Guaraní tienen instalada?

Tenemos la versión 3.22.2 de Guarani y la 2.9.3 de SQ

Revisamos todo lo que comentas y los valores son correctos.

Ya probamos también la combinación de poner que no y después que si y es el mismo error.

Lo que nos llama la atención es que el rest ejecuta un GET (y devuelve que no encuentra el id_externo), pero revisamos el código y lo que hace es buscar en una tabla que no tiene ningún servicio. Pero por lo que entendemos, el servicio se debería crear en ese momento.

Gracias por la información, parece ser que no se creo el servicio id_externo=119|7889 (119 es el código del plan y 7889 es el código del elemento/actividad). En SQ operación Servicios > Administrar servicios ¿te aparece? Ver #3 - Circuito académico - Valorización del Servicio Instancia y vinculación de la Versión

¿que te devuelven las siguientes queries?

SELECT cobrable FROM sga_elementos_atrib WHERE elemento = (SELECT elemento FROM sga_elementos WHERE codigo  = '7889');

SELECT cobrable, plan_version FROM sga_elementos_plan WHERE elemento_revision = (SELECT elemento_revision FROM sga_elementos_revision WHERE elemento = (SELECT elemento FROM sga_elementos WHERE codigo  = '7889'));

Revisa de seguir bien los pasos de la lista de reproducción Circuito Académico - SIU-Sanavirón Quilmes.

Falta la parte de RestHooks, pero estamos intentando con Cursos de Extension.
Que podra ser?

Lo de cursos de extensión no usa RestHooks, es decir, el problema no esta por ese lado, si lo usa Postgrado (planes cobrables).

Saludos.

Estoy notando que ninguno de los dos plan versión corresponden al de Cursos que estamos editando.

Cambie de las consultas que pediste codigo por elemento y ahora si corresponde con lo de el Plan de Cursos, te envio como quedaron y el resutado.

SELECT cobrable FROM sga_elementos_atrib WHERE elemento = (SELECT elemento FROM sga_elementos WHERE elemento = ‘7889’);

SELECT cobrable, plan_version, * FROM sga_elementos_plan
WHERE elemento_revision =
(SELECT elemento_revision FROM sga_elementos_revision WHERE elemento =
(SELECT elemento FROM sga_elementos WHERE elemento = ‘7889’));

Hola @rmansilla

En la tabla sga_elementos_atrib se almacena el Cobrable de » Propuestas Formativas » Actividades » Administrar Actividades. En la tabla sga_elementos_plan se almacena el Cobrable de » Propuestas Formativas » Planes de Estudio » Administrar Planes de Estudio de la solapa Estructura del plan. Ustedes tienen No Cobrable en las dos operaciones, por eso no se creó el servicio en SQ.

Luego la comisión también debe ser cobrable en » Cursadas » Comisiones » Administrar Comisiones para agregar el servicio instancia.

Saludos.

Pero como lo configuro cobrable si al querer modificar el campo a SI me surge el error?

¿en cual operación se rompe?
¿adjuntame los logs con el nuevo error por favor?

El error surge en » PROPUESTAS FORMATIVAS » PLANES DE ESTUDIO »ADMINISTRAR PLANES DE ESTUDIO, cuando desde la solapa de Estructura del plan selecciono una Actividad, cambio Cobrable a SI y hago click en Guardar

Te adjunto el log:

-o-o-o-o-o-
Fecha: 05-06-2025 15:54:19
Operacion: Administrar Planes de Estudio
Usuario: toba
Version-PHP: 7.4.33
Servidor: demo.siu.unla.edu.ar
URI: /guarani/3.21/aplicacion.php?ah=st6841e7d09c79d6.79042193&ai=guarani%7C%7C3535&tz=1
Referrer: Guarani - Autentificación de Usuarios
Host: 10.6.11.33

==========
[ERROR][guarani] Client error: GET https://sqpre.unla.edu.ar/sq_academico/rest/v1/servicios?sistema_externo=f078e5aa-de68-43c4-87e7-7455f526a508&id_externo=119%7C7889 resulted in a 410 Gone response:

<html>
<head><title>410 Gone</title></head>
<body bgcolor="white">
<center><h1>410 Gone</h1></center>
<hr><center>ng (truncated...)

[ERROR][guarani] Fall▒ la conexi▒n al servidor SQ
[ERROR][toba] guarani_error: Fall▒ la conexi▒n al servidor SQ
[TRAZA]

cobro_nucleo::obtener_actividad_cobrable
Archivo: /var/siu/proyectos/guarani/php/nucleo/cobro/cobro_nucleo.php, lInea 271

cn_ent_plan_elementos->marcar_actividades_plan_cobrables_sq
Archivo: /var/siu/proyectos/guarani/php/nucleo/propuestas/planes/cn_ent_plan.php, lInea 837

cn_ent_plan->sincronizar
Archivo: /var/siu/proyectos/guarani/php/nucleo/_lib/cn_manejador_entidad_nucleo.php, lInea 194

cn_manejador_entidad_nucleo->guardar
Archivo: /var/siu/proyectos/guarani/php/nucleo/propuestas/planes/cn_man_administrar_planes.php, lInea 165

cn_man_administrar_planes->guardar
Archivo: /var/siu/proyectos/guarani/php/operaciones/_lib/ci_navegacion.php, lInea 163

ci_navegacion->evt__guardar
Archivo: /var/siu/proyectos/guarani/php/operaciones/propuestas/planes/editor_elementos/ci_nav_planes.php, lInea 63

ci_nav_planes->evt__guardar
Archivo: /var/siu/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 282

toba_ci->disparar_evento_propio
Archivo: /var/siu/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 204

toba_ci->disparar_eventos
Archivo: /var/siu/proyectos/guarani/php/extension_toba/componentes/interface/guarani_ci.php, lInea 28

guarani_ci->disparar_eventos
Archivo: /var/siu/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 136

toba_solicitud_web->procesar_eventos
Archivo: /var/siu/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 55

toba_solicitud_web->procesar
Archivo: /var/siu/proyectos/guarani/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 96

toba_nucleo->acceso_web
Archivo: /var/siu/proyectos/guarani/www/aplicacion.php, lInea 33

Gracias por los logs!!!

Ya veo el problema, en la función marcar_actividades_plan_cobrables_sq de php/nucleo/propuestas/planes/admin_elementos/cn_ent_plan_elementos.php se llama a obtener_actividad_cobrable de php/nucleo/cobro/cobro_nucleo.php, la misma llama al ENDPOINT GET /servicios de SQ, si devuelve status code 200 es que existe y debe actualizar el servicio (PUT /servicios/{id}/sistema/{sistema}), si devuelve 404 no existe y debe crear dicho servicio (POST /servicios), pero te esta devolviendo 410 (GONE), ahora lo vemos bien con el equipo de SQ.

Saludos.