Problemas al agregar alumno en acta de cursada

Estimados, les paso a contar sobre lo que esta sucediendo.
Versión de Guarani: 3.21.2

Se esta desarrollando una personalización para poder cargar de forma manual la asistencia de los alumnos en las notas de cursadas. El proceso se hace perfecto, la personalización funciona pero cuando queremos crear un acta nueva para probar mas, decidimos usar la opción de agregar Otros Alumnos, todo funciona bien hasta que presionamos el boton Generar Acta. Es ahí cuando aparece un error:

image

Cuando se hace el proceso de inscripción a cursada y se genera el acta sin usar esta opción de Otros Alumnos funciona bien.

En el Log aparece lo siguiente:

[DEBUG][toba] AP_TABLA: [sga_eval_detalle_cursadas]
registro: 0 - INSERT INTO negocio.sga_eval_detalle_cursadas ( evaluacion, alumno, inscripto, instancia_cursada, cond_regularidad, fecha_regular, escala_nota_cursada, nota_cu
rsada, resultado_cursada, observacion_cursada, id_acta_cursada, acta_cursada_cerrada, instancia_promocion, fecha_promocion, escala_nota_promocion, nota_promocion, resultado_
promocion, id_acta_promocion, acta_promocion_cerrada, observacion_promocion, ultimo_cambio, plan_version ) 
 VALUES ('4858', '9881', 'N', '1', DEFAULT, DEFAULT, '1', DEFAULT, DEFAULT, DEFAULT, '20604', DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT, DEFAULT
, DEFAULT, '14');
[ERROR][guarani] TOBA AP MT: No existe la columna agregado
[DEBUG][toba] toba_error: TOBA AP MT: No existe la columna solicitada 
[TRAZA]
        
        toba_ap_tabla_db_mt->get_tabla 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db_mt.php, lInea 309 
        
        toba_ap_tabla_db_mt->hay_cambios_ext 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db_mt.php, lInea 194 
        
        toba_ap_tabla_db_mt->ejecutar_sql_insert 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php, lInea 551 
        
        toba_ap_tabla_db->insertar_registro_db 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php, lInea 503 
        
        toba_ap_tabla_db->sincronizar_insertados 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_relacion_db.php, lInea 267 
        
        toba_ap_relacion_db->proceso_sincronizacion 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_relacion_db.php, lInea 189 
        
        toba_ap_relacion_db->sincronizar 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_datos_relacion.php, lInea 566 
      
        toba_datos_relacion->sincronizar 
Archivo: /var/www/html/guarani/php/nucleo/cursadas/actas/cn_ent_acta_cursada.php, lInea 32 
        
        cn_ent_acta_cursada->sincronizar 
Archivo: /var/www/html/guarani/php/nucleo/cursadas/actas/cn_ent_acta_cursada.php, lInea 479 
        
        cn_ent_acta_cursada->asociar_detalles_acta 
Archivo: /var/www/html/guarani/php/nucleo/cursadas/actas/cn_ent_acta_cursada.php, lInea 413 
        
        cn_ent_acta_cursada->generar_acta 
Archivo: /var/www/html/guarani/php/operaciones/cursadas/actas/generacion_regulares/ci_nav_generacion_acta_regulares.php, lInea 258 
        
        ci_nav_generacion_acta_regulares->evt__guardar 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 282 
        
        toba_ci->disparar_evento_propio 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 204 
        
        toba_ci->disparar_eventos 
Archivo: /var/www/html/guarani/php/extension_toba/componentes/interface/guarani_ci.php, lInea 28 
        
        guarani_ci->disparar_eventos 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 136 
        
        toba_solicitud_web->procesar_eventos 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 55

       toba_solicitud_web->procesar 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 96 
        
        toba_nucleo->acceso_web 
Archivo: /var/www/html/guarani/www/aplicacion.php, lInea 33 
        
        

[DEBUG][toba] ************ ABORTAR transaccion (guarani_filo@172.26.10.1) ****************
[ERROR][toba] toba_error: TOBA AP MT: No existe la columna solicitada 
[TRAZA]
        
        toba_ap_tabla_db_mt->get_tabla 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db_mt.php, lInea 309 
        
        toba_ap_tabla_db_mt->hay_cambios_ext 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db_mt.php, lInea 194 
        
        toba_ap_tabla_db_mt->ejecutar_sql_insert 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php, lInea 551 
        
        toba_ap_tabla_db->insertar_registro_db 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_tabla_db.php, lInea 503 
        
        toba_ap_tabla_db->sincronizar_insertados 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_relacion_db.php, lInea 267 
        
        toba_ap_relacion_db->proceso_sincronizacion 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_ap_relacion_db.php, lInea 189 
        
        toba_ap_relacion_db->sincronizar 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/persistencia/toba_datos_relacion.php, lInea 566 
        
        toba_datos_relacion->sincronizar 
Archivo: /var/www/html/guarani/php/nucleo/cursadas/actas/cn_ent_acta_cursada.php, lInea 32 
        
        cn_ent_acta_cursada->sincronizar 
Archivo: /var/www/html/guarani/php/nucleo/cursadas/actas/cn_ent_acta_cursada.php, lInea 479 
        
        cn_ent_acta_cursada->asociar_detalles_acta 
Archivo: /var/www/html/guarani/php/nucleo/cursadas/actas/cn_ent_acta_cursada.php, lInea 413 

       cn_ent_acta_cursada->generar_acta 
Archivo: /var/www/html/guarani/php/operaciones/cursadas/actas/generacion_regulares/ci_nav_generacion_acta_regulares.php, lInea 258 
        
        ci_nav_generacion_acta_regulares->evt__guardar 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 282 
        
        toba_ci->disparar_evento_propio 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/componentes/interface/toba_ci.php, lInea 204 
        
        toba_ci->disparar_eventos 
Archivo: /var/www/html/guarani/php/extension_toba/componentes/interface/guarani_ci.php, lInea 28 
        
        guarani_ci->disparar_eventos 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 136 
        
        toba_solicitud_web->procesar_eventos 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/toba_solicitud_web.php, lInea 55 
        
        toba_solicitud_web->procesar 
Archivo: /var/www/html/guarani/vendor/siu-toba/framework/php/nucleo/toba_nucleo.php, lInea 96 
        
        toba_nucleo->acceso_web 
Archivo: /var/www/html/guarani/www/aplicacion.php, lInea 33 
        
        

[DEBUG][toba] Mensaje a usuario: TOBA AP MT: No existe la columna solicitada
[DEBUG][toba] [SECCION] Configurando dependencias para responder al servicio...
[DEBUG][toba] componente(41000194): Pantalla de servicio: ''
[DEBUG][toba] componente(41000194): [ callback ] 'conf__edicion'
[DEBUG][toba] componente(32000016): Pantalla de servicio: ''
[INFO][toba] componente(32000016): [ callback ] 'conf__pant_inicial' no fue atrapado
[DEBUG][toba] componente(32000016): [ callback ] 'conf__form_acta'

La verdad que la columna agregado no existe en la tabla, pero si existe en el toba dentro de la relación sga_eval_detalle_cursada. Estoy completamente perdido y quizá es una solución sencilla. Como dije, la personalización funciona perfecto, se guarda el dato de asistencia en la tabla personalizada y se guarda al final la asistencia en sga_actas_detalle cuando se cierra el acta.

Saludos cordiales!

Hola Ricardo,
El datos_tabla de ‘sga_eval_detalle_cursadas’ está personalizado también?
Tienen commiteada la personalización en colab? Si es así ,en qué rama?
Saludos, Florencia.

Hola Flor, si se llama negocio_filo.sga_eval_detalle_cursadas_filo es en la rama de filosofia de uba se llama uba-ffyl

Muchas gracias!

Ricardo,
Hay errores en la personalización. Me decís cuáles son las columnas de la tabla ‘sga_eval_detalle_cursadas_filo’ en el esquema ‘negocio_filo’ de la base de datos?
Saludos, Florencia.

Hola Flor, aquí te paso la definición de la tabla:

     Columna     |     Tipo     | Ordenamiento | Nulable  |                                Por omisión                                 
-----------------+--------------+--------------+----------+----------------------------------------------------------------------------
 id_evaluacion   | integer      |              | not null | nextval('negocio_filo.sga_eval_detalle_cursadas_filo_seq'::text::regclass)
 evaluacion_filo | integer      |              | not null | 
 alumno_filo     | integer      |              | not null | 
 pct_asistencia  | numeric(5,2) |              |          | 
Índices:
    "pk_ha_sga_eval_detalle_cursadas_filo" PRIMARY KEY, btree (id_evaluacion)
    "ifk_sga_eval_detalle_cursadas_alumno_filo" btree (alumno_filo)
    "ifk_sga_eval_detalle_cursadas_eval_filo" btree (evaluacion_filo, alumno_filo)
Restricciones de llave foránea:
    "fk_sga_eval_detalle_cursadas_alumnos_filo" FOREIGN KEY (alumno_filo) REFERENCES sga_alumnos(alumno) ON UPDATE RESTRICT ON DELETE RESTRICT
    "fk_sga_eval_detalle_cursadas_filo" FOREIGN KEY (evaluacion_filo, alumno_filo) REFERENCES sga_eval_detalle_cursadas(evaluacion, alumno) ON UPDATE RESTRICT ON DELETE RESTRICT

No sabría cual es el error. Pensé que estaba todo bien.

Saludos!

Ricardo,
El problema radicaba en que las columnas externas estaban desasociadas de la tabla y quedó corregido acá: https://colab.siu.edu.ar/trac/guarani3/changeset/80990. Para tener la solución disponible en una instalación de desarrollo actualicen y regeneren el proyecto.
Saludos, Florencia.