Power Builder - Validar CUIT en datawindow

 
Vista:

Validar CUIT en datawindow

Publicado por TuxMerlin (9 intervenciones) el 23/01/2009 03:37:28
Como ya me estoy volviendo loco recurro a algún cumpa que me tire un dato...
Estoy programando (novatísimo) en PowerBuilder 11.5.
Tengo una ventana "Fichas de Cliente" con un datawindows que tiene los datos principales del cliente: Razón Social, CUIT, Domicilio, etc....
En el evento open de la ventana seteo todos los campos a 0(cero) utilizando una función y a traves del comando settaborder.
A el datawindow lo tengo también solo con la propiedad visible activada.

En la ventana tengo un botón modificar con el cual habilito el datawindow y seteo (settaborder) de 10 en 10 para que me permita modificar los campos.
Hasta ahí todo bien.... funciona de maravillas.

Cuando voy modificando los campos valido el CUIT con una función externa que cree.
Para realizar esta validación coloqué este código en el evento "itemchanged":

integer validar_cuit

if getcolumnname() = 'cuip' then
validar_cuit = f_validar_cuit(data)
if validar_cuit = 0 then
Messagebox("Error!!!","El número de CUIT es inválido")
return 1
else
Messagebox("Aviso!!!","CUIT válido")
end if
end if

La validación la realiza correctamente, el problema es que además de la ventana de error, el return 1 me tira la ventana "Datawindow error" - "Item xxxxxxxxxxxx does not pass de validation test". Sino le pongo el "return 1" el cursor se posiciona el el campo siguiente.

No quiero que salga esta ventana "Datawindow error" "item... etc."..
qué puedo hacer?

Desde ya muchas gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Validar CUIT en datawindow

Publicado por sthif (63 intervenciones) el 23/01/2009 18:29:19
No utilices el messagebox, en su lugar personaliza el mensaje del error.

if getcolumnname() = 'cuip' then
validar_cuit = f_validar_cuit(data)
if validar_cuit = 0 then
//Messagebox("Error!!!","El número de CUIT es inválido")
Modify("<Columnname>.ValidationMsg='El número de CUIT es inválido'")

return 1
else
Messagebox("Aviso!!!","CUIT válido")

end if
end if
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar CUIT en datawindow

Publicado por TuxMerlin (9 intervenciones) el 27/01/2009 00:44:20
Bueno, lo que me enviaste anduvo de maravillas pero si bien cambié el mensaje sigue saliendo el título de la ventana "Datawindow error" lo cual deja poco personalizado el sistema. La solución la encontré por ahi, en inglés, la traduje y la subí a mi blog; http://tuxmerlin.blogspot.com
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar CUIT en datawindow

Publicado por Manuel Mora (1 intervención) el 16/10/2009 17:38:46
Pon en el evento ItemError

Return 1

De esta manera no sale el mensaje de Datawindow error y solo queda el tuyo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar CUIT en datawindow

Publicado por Aristides (1 intervención) el 11/12/2015 21:01:59
Hola

Se agradece muy buena solución, para hacer más precisos e instantáneos los mensajes de control del datawindos

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Validar CUIT en datawindow

Publicado por alex (1 intervención) el 24/11/2009 18:35:26
solo ponerle en su evento itemerror del datawindows ponerle return 1
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar