Hola amigos:
Cuando editamos datos en un dialogo, tenemos valids en varios GETs, es habitual entonces cuando entras en uno de ellos
no funciona la salida del dialogo, el boton de cancelar.
¿Como se pueden saltar los VALIDs de los GETs y conseguir salir al pulsar el boton de cancelar.?
Gracias por vuestra inestimable ayuda.
Saludos
Jose
Saltar VALIDs en Dialogo
Saltar VALIDs en Dialogo
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
Re: Saltar VALIDs en Dialogo
Code: Select all
FUNCTION PRODUTOS()
REDEFINE GET aGet[4] VAR nProduto PICTURE "@K" ID 23 OF oDlg ;
UPDATE COLORS CLR_BLACK, CLR_WHITE FONT oFont BITMAP "BUSCAR" ;
VALID( PEGA_PRODUTOS_NFE( oLbx, aGet, nProduto, DeOndePartiu := "BUSCAPORCODIGO" ) )
ACTION...
aGet[4]:cToolTip := OemToAnsi( "<F7> - Mostra os Produtos(Estoque) Cadastrados" )
aGet[4]:lBtnTransparent := .T. // transparent button
aGet[4]:bKeyDown := { |nKey| IF( nKey == VK_F7, Eval( aGet[4]:bAction ), Nil ) }
...// AQUI:
REDEFINE BUTTON oSaida ID 303 OF oDlg ;
ACTION ( oDlg:End() ) CANCEL
...
RETURN NIL
FUNCTION PEGA_PRODUTOS_NFE( oLbx, aGet, CodProduto, DeOndePartiu )
LOCAL nNProduto, cCNomeProd, nVrProduto
IF GETASYNCKEY( VK_UP )
RETURN( .T. )
ENDIF
IF GETASYNCKEY( VK_DOWN )
RETURN( .T. )
ENDIF
IF EMPTY( CodProduto )
RETURN( .T. )
ENDIF
...
RETURN NIL
João Santos - São Paulo - Brasil
Re: Saltar VALIDs en Dialogo
Gracias Joao.
El caso es que la aplicacion que estoy migrando desde la version 2.1 a 19.03 tenia esa clausula y creia que era redundante, no me
acordaba que era para eso y lo habia borrado.
Por cierto voy creo por un 80% completado, practicamente esta operativa para mi, no para un usuario que no conozca la aplicacion.
El caso es que se salta los VALIDs uno a uno , si tienes varios,
¿No habra alguna manera de saltarlos todos y salir sin mas?
Saludos.
Jose.
El caso es que la aplicacion que estoy migrando desde la version 2.1 a 19.03 tenia esa clausula y creia que era redundante, no me
acordaba que era para eso y lo habia borrado.
Por cierto voy creo por un 80% completado, practicamente esta operativa para mi, no para un usuario que no conozca la aplicacion.
El caso es que se salta los VALIDs uno a uno , si tienes varios,
¿No habra alguna manera de saltarlos todos y salir sin mas?
Saludos.
Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
Re: Saltar VALIDs en Dialogo
Disculpa, no comprendo. Puede muestra el código fuente?
Gracias.
Saludos.
Gracias.
Saludos.
João Santos - São Paulo - Brasil
Re: Saltar VALIDs en Dialogo
[quote="karinha"]Disculpa, no comprendo. Puede muestra el código fuente?
Si, claro.
Tengo varios VALIDs en el dialogo.
por ejemplo:
Entonces para salir del dialogo si estoy en el primer GET oObra, al pulsar el boton de CANCEL me lleva al segundo
VALID oArt. No sale directamente.
Saludos.
Jose.
Si, claro.
Tengo varios VALIDs en el dialogo.
por ejemplo:
Code: Select all
REDEFINE GET oObra VAR cObra ID 102 OF oDlg ;
PICTURE "9999";
VALID ( (Rellena(oObra)) .AND.;
(IF( ApuaObr->(DbSeek(cObra)),.T.,(cObra:=Busqueda("Obr"),ApuaObr->(DbSeek(cObra)),.T.) ) ) .AND.;
(IF(!ApuaObr->Cerrada,(oDlg:UPDATE(),oArt:SetFocus(),.T.),(Stop("¡Obra Cerrada!"),oObra:bGotFocus:={ || cObra:="",oObra:SelectAll(),oDlg:Refresh()},.F.))) ) UPDATE
oObra:bKeyDown:={|nKey| IIF(nKey=VK_ADD,(cObra:=Busqueda("Obr"),oArt:SetFocus(),oDlg:Update()), ) }
REDEFINE GET oArt VAR cArt ID 103 OF oDlg ;
PICTURE "9999";
VALID (Rellena(oArt)) .AND.;
( IF( ApuaArt->(DbSeek(cArt)),(oDlg:UPDATE(),oCantidad:SetFocus(),.T.),;
(cArt:=Busqueda("Art"),ApuaArt->(DbSeek(cArt)),oDlg:Update(),oCantidad:SetFocus(),.T.) ) ) UPDATE
// Luego al final tengo los 2 botones.
REDEFINE BTNBMP ID 750 RESOURCE "ACCEPT" OF oDlg ACTION IF(lSalida,(lSave:= .T. , oDlg:End()),STOP("Introduzca todos _"))
REDEFINE BTNBMP ID 751 RESOURCE "CANCEL" OF oDlg ACTION oDlg:End() CANCEL
VALID oArt. No sale directamente.
Saludos.
Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit
Re: Saltar VALIDs en Dialogo
con BTNBMP ,
Saludos.
Code: Select all
REDEFINE BTNBMP oBtn1 ID 750 RESOURCE "ACCEPT" OF oDlg ACTION IF(lSalida,(lSave:= .T. , oDlg:End()),STOP("Introduzca todos _"))
oBtn1:lCancel := .T.
REDEFINE BTNBMP oBtn2 ID 751 RESOURCE "CANCEL" OF oDlg ACTION oDlg:End()
oBtn2:lCancel := .T.
João Santos - São Paulo - Brasil
Re: Saltar VALIDs en Dialogo
Eso Joao.
Muchas gracias por ayudar siempre, en serio es un placer contar con usuarios como tu.
Yo he vuelto a Fivewin por los usuarios del foro y Antonio.
Saludos.
Jose.
Muchas gracias por ayudar siempre, en serio es un placer contar con usuarios como tu.
Yo he vuelto a Fivewin por los usuarios del foro y Antonio.

Saludos.
Jose.
Fwh 19.06 32 bits + Harbour 3.2dev(r2011030937)+ Borland 7.4 + FivEdit