Bien, sigo con el mismo problema, después de pruebas y pruebas tengo lo siguiente:
- Code: Select all Expand view RUN
REDEFINE GET oGetArticulo VAR cArticulo ID 140 OF oDlg PICTURE '@!S12' UPDATE;
ACTION Bus_Art( oDlg, oGetArticulo );
BITMAP "basket.bmp";
VALID ( Clave_Ok( "Art", cArticulo, 1 ) )
oGetArticulo:bGotFocus := { || SetKey( VK_F2, { || Bus_Art( oDlg, oGetArticulo ) } ) }
oGetArticulo:bLostFocus := { || SetKey( VK_F2, nil ) }
El botón del GET y el SetKey (tecla F2), hacen lo mismo, abren un diálogo de búsqueda, para encontrar el dato que ha de contener el GET. Por tanto, una vez situados en ese campo, si pulsamos F2 se abre un nuevo diálogo donde hacemos la búsqueda y este devuelve el valor seleccionado sin problemas.
El problema está, que cuando pulsamos el botón del Get que ha de hacer lo mismo, se evalúa la cláusula del VALID y como no contiene un valor correcto, está en blanco, no permite que se abra el nuevo diálogo para realizr la búsqueda del dato que ha de contener.
La función Clave_Ok devuelve .T. ó .F. y simplemente hace una búsqueda del valor introducido en una base de datos.
Lo curioso del caso, es que SetKey se salta el VALID sin problemas, mientras que el botón de búsqueda no lo hace.
Sugerencias??
Gracias!
Saludos!