Habilitar Encuesta

Buenas noches,
Antes que nada les comento que tengo las versiones de sistemas Guarani v. 3.10.1 y Kolla 3.5.2.

Después de realizar nuevamente (luego de la actualización de kolla 3.5.0) la vinculación entre los 2 sistemas vincule una encuesta kolla con una Guarani.
Luego genere una encuesta nueva, le di el alcance y las configuraciones necesarias. La encuesta se genero y guardo correctamente.
Al momento de habilitar la encuesta me tiro el siguiente error. (Imagen Adjunta). "Se actualizaron parcialmente (0 de 6) los recursos del formulario -No se puede continuar "
Modificando la siguiente función pudimos solucionarlo “teóricamente”.

Archivo : guarani\php\nucleo\encuestas\definir_encuestas\cn_man_habilitaciones.php



protected function sincronizar_masivo($datos, $endpoint,  $habilitacion = null)
                {
        $col_id = substr($endpoint, 0, strlen($endpoint) - 1);
        $ids_a_sincronizar = array();
        $total = 0;

        if (!is_null($habilitacion)) {
            $url = 'habilitaciones/' . $habilitacion . '/' . $endpoint;
        }else {
            $url = $endpoint;
        }

        //le saco la 's'. 'conceptos' tiene un campo id 'concepto'
        toba::logger()->debug('Iniciando pedido a ' . $endpoint);
        toba::logger()->var_dump($datos);


        foreach ($datos as $id => $dato) {
            $ids_a_sincronizar[] = $datos[$id][$col_id];
            $total++;
                                               // modificado
                               //            var_dump($datos[$id][$col_id]);die();
                                               $errores = encuesta::actualizar_masivo($datos[$id][$col_id], $url);
                               }
                               //$errores = encuesta::actualizar_masivo($datos, $url);
                                               // fin modificado
        if (!empty($errores)) {
            foreach ($errores as $error) {
                unset($ids_a_sincronizar[(int) $error['indice']]); //tuvo error
            }
        }

        $metodo_actualizar = 'actualizar_' . $endpoint;
        //  ej: encuesta::actualizar_elementos($params);
        $cant = call_user_func(array(guarani::act('act_encuestas'), $metodo_actualizar), $ids_a_sincronizar);

        if ($cant != $total) {
            throw guarani::error("Se actualizaron parcialmente (". (int)$cant ." de $total) los recursos de $endpoint - No se puede continuar");
        }
        toba::logger()->debug($cant . " $endpoint actualizados");
                }




No tiro mas el error.
Ahora cuando voy al 3w e ingreso en la encuesta arroja el siguiente error…
"Se ha detectado un nombre de parámetro, atributo o columna no definidos. "

y esto me tira un error en el log de kolla ,


-o-o-o-o-o-
Fecha: 27-07-2015 16:25:33
Operacion: Responder Encuestas Externas
Usuario: no_autentificado
Version-PHP: 5.3.28
Servidor: 10.1.0.38
URI: /siu/kolla/?ai=kolla||40000112&tm=1&h=32&t=fcWWGOjVsUONgDaRk0DtZAcKPgnSL6tUhupjbcTAsjq4vS8yOk4zlFQASALsI89paMfcq%2BFMO6bObzmLygxRlQ%3D%3D
Referrer: http://10.1.0.38/3W_3101/encuestas_kolla/165a9b0e418f16611041eaef8a89061b16e132a7
Host: 10.1.1.86
==========
[INFO][toba] Se detecto acceso desde el menu. Se limpia la memoria de la operacion
[ERROR][kolla] SQLSTATE[42703]: Undefined column: 7 ERROR:  column sfh.formulario_habilitado_externo does not exist
LINE 6:     WHERE sfh.habilitacion = '32' and sfh.formulario_habilit...
                                              ^
[ERROR][kolla] #0 /usr/local/siu/kolla/aplicacion/php/nucleo/lib/kolla_db.php(14): toba_db->consultar_fila('SELECT habilita...', 2)
#1 /usr/local/siu/kolla/aplicacion/php/nucleo/formulario/accesos/ext_completar.php(168): kolla_db::consultar_fila('SELECT habilita...')
#2 /usr/local/siu/kolla/aplicacion/php/nucleo/formulario/accesos/ext_completar.php(143): acceso_externo->es_legacy('32')
#3 /usr/local/siu/kolla/aplicacion/php/nucleo/formulario/accesos/ext_completar.php(93): acceso_externo->cargar_formulario_habilitado('32', '1768')
#4 /usr/local/siu/kolla/aplicacion/php/nucleo/formulario/accesos/ext_completar.php(4): acceso_externo->procesar()
#5 /usr/local/siu/kolla/toba/php/nucleo/toba_solicitud_accion.php(22): include('/usr/local/siu/...')
#6 /usr/local/siu/kolla/toba/php/nucleo/toba_nucleo.php(79): toba_solicitud_accion->procesar()
#7 /usr/local/siu/kolla/aplicacion/www/aplicacion.php(23): toba_nucleo->acceso_web()
#8 {main}


Podrán ayudarme con esto??

Espero haber sido claro.
Desde ya muchas gracias.

Diego P


G1.png

G1.png

En la base de Kolla pareciera que falta la columna formulario_habilitado_externo de la tabla sge_formulario_habilitado

Mira esta respuesta por el mismo problema: http://foro.comunidad.siu.edu.ar/index.php?topic=8511.msg36922
En todo caso consultalo en el foro de Kolla.

Saludos.

Hola Diego, este es un bug en Kolla que solucionamos hace un tiempo re publicando el instalador/migrador de la versión 3.5.2. Probablemente han utilizado un instalador anterior a la fecha de re publicación. Aún así, pueden solucionar este problema ejecutando lo siguiente en la base de Kolla.

ALTER TABLE kolla.sge_formulario_habilitado ADD COLUMN formulario_habilitado_externo character varying(100);

Muchas gracias a los 2.
corrí la sentencia y funciono.

Igualmente les comento que el instalador fue descargado el día 17-07-2015 me asegure de bajarlo 2 veces porque vi el aviso en el repositorio.

Nuevamente muchas gracias.

Saludos.
Diego

Diego, consulta, desde que versión de Kolla realizaste la migración a 3.5.2?.

Buen día rodrigo, desde la 3.5.0 .

Saludos.

Diego.