GeneXus - Control Tecla Escape

 
Vista:

Control Tecla Escape

Publicado por Marcelo Madelon (10 intervenciones) el 25/07/2008 17:05:56
Hola foro....

Uso GN 8.0 con VFP.

Quiero controlar que salga o no del WorkPanel cuando usan la tecla Escape.
En mi caso quiero verificar que el asiento balancee.
En el Evento el boton CONFIRM funciona OK, pero si el operador pulsa
ESCAPE muestra el mensaje pero no regresa al campo indicado.
Estoy haciendo esto:

Event Exit
IF &TotalDebe <> &TotalHaber
Msg ('Los Importes No Balancean en Exit ')
&AstObs.setfocus() // lo mando a un campo del WP
EndIf
EndEvent

Entiendo que en el Evento Exit ya se salió del WorkPanel y es por eso
que el SetFocus no funciona.
Un colega me recomendó que en el botón Cancela cree un evento nuevo y
lo maneje desde ese evento....... Funcionó perfecto.
Pero.... cuando usan la tecla escape o la cruz del vértice superior
derecho, el problema continúa.

Para ser más claro... Quiero que cuando el usuario pulse ESC el
programa haga las validaciones y habilite la salida o lo haga regresar
a algún campo del WP.

¿Cómo se soluciona?

Desde ya muchas gracias. Desde Venado Tuerto un abrazo.

Marcelo Madelón
[email protected]
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:Control Tecla Escape

Publicado por Marcelo Madelon (10 intervenciones) el 29/07/2008 15:19:03
Hola Foro.

Pude solucionar este problema.
Antes que nada gracias a Patricio Ojeda V..

Me habian aconsejado que suprimiera la tecla Escape. Es solución no me gustó pues lo hace para todo el proyecto.

Lo que hice fue: en el WKP que lo llamaba coloqué lo que sigue

Event MenuBar.ID_ASIENTOS_MANUALES
do while &Ok <> 'S'
Call(WAstManual , &UserId , &Perfil , &AstNro_1 , &Ok)
endDo
EndEvent // MenuBar.ID_ASIENTOS_MANUALES

Donde &Ok trae 'S' si balancea

En el WKP AstManual hice:

Parm( &UserId , &Perfil , &AstNro_1 , InOut: &Ok);

Event Start
&TotalDebe = 0
&TotalHaber = 0
&AstNro = &AstNro_1
For each order AstNro, AstImput, CtaNro
where AstNro = &AstNro

&TotalDebe += AstDeb
&TotalHaber+= AstHab
&Diferencia = &TotalDebe - &TotalHaber
load
endfor
If &Diferencia = 0
&Ok = 'S'
else
&Ok = ''
Endif

Gracias nuevemante y saludos.

Marcelo Madelon
Computos Municipalidad de Venado Tuerto
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