Mensaje en Evento de Tabla


([N3] blanyi) #1

Buenos días.
Nuevamente por aquí con inquietudes, pero preguntando es una de las formas de aprender.
He querido hacer unas validaciones a nivel de eventos de tabla antes de un alta y antes de una modificación de una ficha.
Una de las validaciones que hago es que un campo NAME no vaya a quedar vacío, si está vacío se cancela el alta o la modificación.
El inconveniente que encuentro aquí es que la acción se cancela, pero el usuario final no sabe que pasa, el intenta guardar la ficha pero la aplicación no lo deja seguir, no hay un mensaje que le indique que está pasando porque como sabemos en los eventos de tabla no se pueden colocar mensaje o lanzar un objeto visual en el que el usuario haga una entrada.
Considero que debería poderse por lo menos lanzar un mensaje que indique al usuario final que el alta o modificación no puede hacer porque el campo X no cumple la condición indicada.
Alguien conoce alguna solución para esto?
Gracias de antemano.

Yimy Mora A


([N1] comercial) #2

Hola, no se si se puede lanzar desde un evento de tabla una función/proceso que pueda interactuar con el usuario, pero de momento lo que he visto es, que la gente mete ese tipo de lógica de negocio en el GUI, o sea en el propio formulario en el previo del botón aceptar.


([N1] ramon) #3

Desde un evento puedes lanzar una funcion como punto de partida.

La manera más sencilla la funcion recibe como parametro el texto del mensaje y lo visualizas con la instruccion mensaje.

La manera mas compleja, grabas en una tabla temporal todos los mensajes de la depuracion y lanzas posteriormente una rejilla de visualizacion de los mensajes.

Saludos


([N4] pcalaf) #4

de todas maneras es un error de concepto querer hacer salir un mensaje en un evento de tabla

Ejemplo_no_afectar_registros.pdf (273 KB)

Ejemplo_no_afectar_registros.pdf (273 KB)


([N3] blanyi) #5

Buenos días.

Hola pcalaf.human-ss, te pregunto, ¿ De que forma le haces entonces tu saber al usuario final en donde hay un error, como le haces saber que el registro lo se puede grabar porque hay un campo que no puede quedar vacío por ejemplo?
Y sucede que otros motores de bases de datos si lo tienen implementado, incluso puedes presentar un mensaje para cada campo que no cumpla la condición indicada.

Ejemplo_no_afectar_registros.pdf (273 KB)

Ejemplo_no_afectar_registros.pdf (273 KB)


([N3] blanyi) #6

Hola ramon.aranguiz probé lo que dices, pero definitivamente no funciona. El mensaje que se lanza en la función no se le muestra al usuario en la aplicación sino que aparece en la opción Mensajes del Sistema del vadmin.

Yimy Mora A


([N1] ramon) #7

Hola Blanyi :

Si aparece en el vAdmin es porque se ejecuta el proceso en tercer plano. Yo todos los mensajes que pongo en eventos o funciones me aparecen en pantalla.

Te comento como lo tengo montado yo.
1.- Tengo definida una tabla en memoria llamada Mensajes.
2.- Cuando en un formulario presiono el boton aceptar, lanzo la ejecucion de un evento,
3.- En el evento, lo primero que hago en borrar la tabla Mensajes.
4.- Voy haciendo las comprobaciones y en caso de existir un error, grabo un registro con el texto del error.
5.- Una vez finalizado el proceso de comprobacion visualizo un formulario en el que existe una rejilla visualizando todos los errores, en el caso de que existan, posicionando el cursor posteriormente en un campo.
6.- Si no existen errores se lanza la instruccion Interfaz Guardar ficha en alta o modificacion y ademas Interfaz Aceptar.

Espero que te sirva de ayuda.

Saludos