Antonio/Daniel,
Tengo el siguiente Get :
Y esta es la funcion que valida :
El detalle que tengo, es que cuando no se encuentra el ID o no aplica a X operacion, el Get ya no recibe el focus despues que la validacion regresa falso, y entra en un loop, que es lo hago mal o me falta poner.
Saludos
Tengo el siguiente Get :
redefine get oVtaXCst var aVtaDts[ 4] id 111 of oModPOSPgs:adialogs[1] ;
  valid VrfXCli2Vta() ;
  picture "999999" ;
  when lVtaDtsF ;
  action oFldrCptSrc:setoption( iif( oFldrCptSrc:nOption == 1, 3, 1 ) ) ;
  bitmap "opt2sel.bmp" ;
  update
oVtaXCst:bKeyDown := {|nKey| iif( nKey == VK_F2, oFldrCptSrc:setoption(2), ) }Y esta es la funcion que valida :
static function VrfXCli2Vta()
local lVal2Ret := .t., cQryStr, aDsctsGrntd
if aVtaDts[ 4] == 0
  if aVtaDts[1] == 2 //.or. aVtaDts[1] == 5
    ShwPosRBOptSld(1,4)
    return(.t.)
  else
    oFldrCptSrc:SetOption(3)
    lbCstsFrc:PostMsg( WM_LBUTTONDOWN )
    return(.t.)
  endif
endif
// Let's Get Customer's Record Data
GDtsXCstSld( 1, aVtaDts[ 4] )
if len( aCstSldDts ) == 0
  DckMBox( 1,"NUMERO DE CLIENTE NO EXISTE EN CATALOGO",,,, )
  aVtaDts[ 4] := oApp:DfltCstmrId                               <= Necesario para poder salir del loop
  oModPOSPgs:adialogs[1]:update()
  lVal2Ret := .f.
  return( lVal2Ret )
endif
if aVtaDts[1] == 5
  if aCstSldDts['pvta'] == 0
    DckMBox( 1, "CLIENTE SELECCIONADO NO APLICA A PREVENTAS.",,,, )
    aVtaDts[ 4] := 0                                         <= Necesario para poder salir del loop
    oModPOSPgs:adialogs[1]:update()
    return(.f.)
  endif
endif
..
..
return( lVal2Ret )El detalle que tengo, es que cuando no se encuentra el ID o no aplica a X operacion, el Get ya no recibe el focus despues que la validacion regresa falso, y entra en un loop, que es lo hago mal o me falta poner.
Saludos
FWH 10.6 + xHarbour + Borland 582