Error al registrar encuestas contestadas desde G3

Hola Buen dia , estamos en la version 4.7.1 de Kolla y 3.20.0 de G3
Cuando el alumno contesta la encuesta dice que lo hizo correctamente pero que hubo error en la registracion.
el error que se registra en kolla es el siguiente
[ERROR][kolla] #0 /usr/local/app/php/nucleo/formulario/accesos/ext_completar.php(126): acceso_externo->throw_error()
Otra cosa que note es que en la tabla sge_repondido_encuestado el valor para el campo estado_sinc = PEND para todos
adjunto captura de pantalla del error en autogestion de guarani y el log de kolla.
Necesito si me pueden orientar por donde viene el error
muchas gracias


encuesta.png

encuesta.png

sistema.zip (47.5 KB)

Buen día Nicolás,
¿eso es en el momento exacto que el alumno termina de responder?
¿Las fechas de vigencia de esa encuesta cuáles son?

Saludos.
Clara

Nicolás, te sumo algunas preguntas. ¿Esa instalación de Guaraní estuvo vinculada con otro Kolla previamente?

¿Podrán averiguar el id de la habilitación en la que identificaron este problema para correr la siguiente query y mostrarnos el resultado?

SELECT COUNT(*) AS cant_habilitaciones FROM gde_habilitaciones WHERE kolla_id_habilitacion = <habilitacion>;

En los logs de autogestión probablemente encuentren ese id de habilitación.
2

Hola Clara como va?
si efectivamente la consulta me da > 1
Hay mas de una habilitacion con ese id
Son vinculaciones de G2 con otro Kolla
Por lo tando podria poner en null el campo kolla_id_habilitacion para habilitaciones anteriores a la instalacion del kolla nuevo no?
gracias

Hola Nicolás.
Si cambiaron la instalación de Kolla entonces habrá un conjunto de encuestas viejas que ya no pueden relacionarse con la instalación actualmente vinculada y no tiene sentido que sigan estando activas. Lo estuvimos analizando con el equipo Guaraní y pueden hacer lo que explicamos más adelante.
Por favor realicen backups de ambas bases de datos antes de empezar con esta tarea.

  1. Agregar un campo en la tabla para copiar el id de habilitacion de kolla por si lo van a necesitar en algún momento.
ALTER TABLE gde_habilitaciones ADD COLUMN kolla_id_habilitacion_original integer;
UPDATE gde_habilitaciones SET kolla_id_habilitacion_original = kolla_id_habilitacion;

  1. Recuperar el listado de habilitaciones de G3 y compararlas con las que están creadas en la base de Kolla.
    En G3:
SELECT kolla_id_habilitacion, habilitacion, titulo, fecha_desde, fecha_hasta FROM gde_habilitaciones ORDER BY fecha_desde;

Realizar la misma consulta en la tabla de habilitaciones de la base de Kolla:

SELECT habilitacion, descripcion, fecha_desde, fecha_hasta FROM sge_habilitacion;

Ver cuáles son las que deben quedar activas y cuáles no para poder limpiar ese campo y cambiarles el campo “activo” como se explica en el siguiente punto.

  1. De las habilitaciones que no corresponden a la base actual de Kolla, limpiar el campo y cambiarle el estado
UPDATE gde_habilitaciones 
	SET kolla_id_habilitacion = NULL, 
			activo = 'N'
	WHERE habilitacion = .....; (acá usar los ids identificados en el punto anterior)
  1. Identificar hasta qué id de habilitación ya estaba utilizado previamente para ajustar el valor en Kolla y evitar que esto vuelva a ocurrir.
    En G3:
SELECT max(kolla_id_habilitacion) FROM gde_habilitaciones;

En Kolla actualizar de esta manera el valor:

SELECT setval('sge_habilitacion_seq', GREATEST(<valor obtenido en G3>::integer, (SELECT max(habilitacion) FROM sge_habilitacion)::integer));

Contanos cómo les fué con esto al terminar por favor.
Saludos.
4