Validar ingreso en el datawindow

Tengo que validar el ingreso de información en cada edit y dropdown en el datawindow.
Yo quisiera comparar que el usuario ingreso información y cuando no ingreso información para enviar a guardar.

1 respuesta

Respuesta
1
La forma de evaluar los ingresos en un datawindow es por medio del evento itemchanged()
Este evento envía 3 datos,
Data = el nuevo valor o valor que ingreso el usuario, en format string.
dwo = el objeto de edición o el que posee el foco
row = la fila que tiene el foco de edicion.
Con esto ya puedes componer un sistema de validación.
Digamos que tienes un campo del tipo numérico, el cual llamare numero, y este campo
no deberá permitir ingresar negativos.
El script puede quedar más o menos así
INTEGER li_return = 0
INTEGER li_numero
CHOOSE CASE LOWER(dwo.name)
CASE 'numero'
li_numero = INTEGER(data)
IF (li_numero < 0) THEN
li_return = 1
MESSAGEBOX('ERROR', 'no puede ingresar un valor negativo')
END IF
END CHOOSE
RETURN(li_return)
Como veras estoy utilizado un valor por medio de la variable li_return
Esta valor lo recibe el evento y lo evalúa luego después de ser ejecutado
los resultados que puedes devolver son
0 = todo va bien
1 = dato rechazado y no permite cambiar el foco de edición
2 = dato rechazado y si permite cambar el foco de edición
De la misma forma que devuelves un valor en el evento itemchanged, tendrás que hacerlo en el evento itemerror, en donde simplemente retornas 1
O bien
RETURN(1)
Para más información simplemente buscala en el F1 del lenguaje.
Con todo esto, ademas tentras que utilizar la función ACCEPTTEXT()
La cual devuelve dos valores
1 = todo va bien
-1 = ocurrio un error
Esta función ejecuta la evaluación del itemchanged(), y según el resultado de este evento es el que devuelve,
Te sirve para el caso en que el usuario escribe el dato en la columna y con el ratón va y hace click en un botón, y nunca presiono RETURN.
El ACCEPTTEXT() forzá a hacer la asignación del ultimo dato editado.
Por lo que igualmente ejecuta el evento itemchanged y el resto ya lo imaginas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas