Error al visualizar Operación en Guarani 3

Buenas tardes, quisiera saber porque al querer visualizar una operación de guaraní 3 desde el toba editor me da un error, ya cambie el usuario de apache como lo indica la advertencia al abrir por primera vez el toba editor, y también configure los parámetros para la previsualización desde el toba editor…Que podría ser?? (Adjunto el error que me da). Muchas Gracias.
El error es el siguiente "Un valor de inserción o actualización es nulo, pero la columna no puede contener valores nulos. "


error_previsualizacion_op.png

error_previsualizacion_op.png

Hola Walter,
para saber que esta generando ese problema, tenemos que encontrar la SQL que esta fallando.

Fijate via toba_editor en el log de toba, para el ultimo pedido de pagina si aparece dicha SQL. Debería estar acompañada de un backtrace que muestra toda la cadena de llamadas, busca el texto [TRAZA] para ir mas rapido.

Si no llega a estar, vas a tener que mirar en el log de errores de apache, ahi sale seguro. Subime las lineas que marcan el error y si aparece la SQL en cuestion tambien por favor.

Saludos

Disculpe soy nuevo en esto, me podría indicar en que parte del toba editor encuentro los logs de toba??
y en donde los logs de Apache ??
Gracias…

En el archivo sistema.log que se encuentra en “…/lib/toba/instalacion/i__desarrollo/p__guarani/logs/”

y el error que me tira es el siguiente

[TRAZA]exception ‘toba_error_db’ with message ‘Un valor de inserción o actualización es nulo, pero la columna no puede contener valores nulos.’ in /usr/local/proyectos/guarani/3.13.1.4/lib/toba/php/lib/db/toba_db.php:355
Stack trace:
#0 /usr/local/proyectos/guarani/3.13.1.4/lib/toba/php/nucleo/lib/toba_instancia.php(668): toba_db->sentencia(‘INSERT INTO des…’, Array)
#1 /usr/local/proyectos/guarani/3.13.1.4/lib/toba/php/nucleo/lib/toba_manejador_sesiones.php(653): toba_instancia->abrir_sesion(‘4192’, NULL, ‘guarani’)
#2 /usr/local/proyectos/guarani/3.13.1.4/lib/toba/php/nucleo/lib/toba_manejador_sesiones.php(591): toba_manejador_sesiones->abrir_sesion(NULL)
#3 /usr/local/proyectos/guarani/3.13.1.4/lib/toba/php/nucleo/lib/toba_manejador_sesiones.php(519): toba_manejador_sesiones->procesar_acceso_proyecto()
#4 /usr/local/proyectos/guarani/3.13.1.4/lib/toba/php/nucleo/toba_nucleo.php(303): toba_manejador_sesiones->iniciar()
#5 /usr/local/proyectos/guarani/3.13.1.4/lib/toba/php/nucleo/toba_nucleo.php(74): toba_nucleo->iniciar_contexto_ejecucion()
#6 /usr/local/proyectos/guarani/3.13.1.4/www/aplicacion.php(35): toba_nucleo->acceso_web()
#7 {main}

Hola Walter,
fijate que por encima de esas lineas debe estar la SQL que genera el problema, copiamela si la tenes a mano.
Por lo que veo es una de las tablas de logs la que esta fallando, solamente hay 3 columnas que podrian generar el problema.
Segun parece, no le esta llegando el usuario logueado al metodo, que es lo que estaria generando el problema.

Me parece que se por donde viene la mano, el usuario que estas usando para acceder al editor de toba… .no esta en la tabla mdp_personas y eso esta haciendo que no se abra la session correctamente en G3, entonces al intentar previsualizarlo se rompe la tabla de logs, porque no devuelve un ID de usuario valido.

Voy a investigarlo un poco mas para ver como dejar un mensaje mas acorde al menos.

Saludos

Hola Ricardo,
Muchas gracias por responder, si ahí esta la consulta en “DETAIL” , le paso todo lo que me sale, por las dudas le sirva…Muchas gracias!

[INFO][toba] Se detecto acceso desde el menu. Se limpia la memoria de la operacion
[DEBUG][toba] Cargando USUARIO ‘toba’ en el proyecto ‘guarani’
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/autentificacion/guarani_pers_usuario.php del punto de montaje personalizacion. El path del mismo es /usr/local/proyectos/guarani/3.13.1.4/personalizacion/php
[INFO][guarani] PUNTO MONTAJE: se cargó la clase extension_toba/guarani_fuente_datos.php del punto de montaje proyecto. El path del mismo es /usr/local/proyectos/guarani/3.13.1.4/php
[DEBUG][toba] Crear SESION ‘4239’ en el proyecto ‘guarani’
[ERROR][guarani] SQLSTATE[23502]: Not null violation: 7 ERROR: null value in column “usuario” violates not-null constraint
DETAIL: Failing row contains (4239, guarani, null, 2017-09-19 13:14:11, null, null, 4b135a8ca537cqm1il4jqq4uv5, 127.0.0.1, null).
[DEBUG][toba] BORRAR segmento memoria PROYECTO: guarani
[CRITICAL][toba] toba_error_db:

SQLSTATE: db_23502

CODIGO: 7

MENSAJE: ERROR: null value in column “usuario” violates not-null constraint
DETAIL: Failing row contains (4239, guarani, null, 2017-09-19 13:14:11, null, null, 4b135a8ca537cqm1il4jqq4uv5, 127.0.0.1, null).

SQL: INSERT INTO desarrollo_logs.apex_sesion_browser(sesion_browser, usuario, ip, proyecto, php_id)
VALUES (:sesion_browser, :usuario, :ip, :proyecto, :php_id);

Hola, también tenemos el mismo problema, nos podrían ayudar por favor.

Hola Cristian,

es un problema puntual con G3 que usa sus tablas internas para autenticar a los usuarios, si el usuario que estas intentando usar para el editor no esta en la tabla mdp_personas, no se termina de abrir correctamente la sesion y se produce ese error. Creo que hay un posible fix… pero como es central a todo el nucleo de Toba necesito probarlo bien para no romper todo el resto de los proyectos.

Saludos

Perdón por revivir algo así de viejo… pero puede ser que a fecha de hoy esto siga pasando? con autenticación LDAP y con usuarios que necesariamente no hay motivo para que estén presentes en mdp_personas (no son personas con actividad académica sino usuarios del sistema).
Lo raro es que no pasa continuamente, parece un error al azar, unas veces se loguea sin problema y otras informa el error “Un valor de inserción o actualización es nulo, pero la columna no puede contener valores nulos”. (v3.13.0)

Hola Diego,

que utilices LDAP como mecanismo de autenticacion (o cualquier otro mecanismo centralizado) no evita que el usuario deba tener una cuenta en la instancia de Toba, va mas alla de G3 puntualmente. Si diste de alta un usr en LDAP y no creaste la cuenta correspondiente via toba_usuarios para asignarle los perfiles y permisos, vas a tener este problema, estes en G3 o cualquier otro proyecto hecho en Toba.

Lo raro es que no pasa continuamente, parece un error al azar, unas veces se loguea sin problema y otras informa el error "Un valor de inserción o actualización es nulo, pero la columna no puede contener valores nulos". (v3.13.0)
Pasa con distintos usuarios o siempre con el mismo?.. me juego a que esta relacionado con lo que te decia antes.

Saludos

En principio si definís el usuario en toba usuarios y le asignás perfil pero en mdp_personas.usuario no está el mismo usuario que se dió de alta en toba da el error mencionado.

Hola,

En Guaraní tuvimos un caso similar en el GDS 65029, se puede ver la solución en el mismo:


[DEBUG][toba] Crear SESION '89000820' en el proyecto 'guarani'
[ERROR][guarani] SQLSTATE[23502]: Not null violation: 7 ERROR:  null value in column "usuario" violates not-null constraint
DETAIL:  Failing row contains (89000820, guarani, null, 2023-07-21 10:03:57, null, null, frjeoag2kfb5k2v29o66dmd0ad, 172.18.0.21, null).
[DEBUG][toba] BORRAR segmento memoria PROYECTO: guarani
[CRITICAL][toba] toba_error_db: <p><b>SQLSTATE:</b> db_23502</p><p><b>CODIGO:</b> 7</p><p><b>MENSAJE:</b> ERROR:  null value in column "usuario" violates not-null constraint
DETAIL:  Failing row contains (89000820, guarani, null, 2023-07-21 10:03:57, null, null, frjeoag2kfb5k2v29o66dmd0ad, 172.18.0.21, null).</p><p><b>SQL:</b> INSERT INTO desarrollo_logs.apex_sesion_browser(sesion_browser, usuario, ip, proyecto, php_id)
				VALUES (:sesion_browser, :usuario, :ip, :proyecto, :php_id);</p>

saludos.
2