Tengo un problema, en este codigo pido fecha inicial y final, para informes por periodo.
El problema es que el usuario, aun cuando esta la opcion de usar el calendario, le es mas comodo digitar ambas fechas, use lo que me recomendaron en el foro de como en la medida que vaya digitando el dia, mes y año, vaya automaticamente avanzando al siguiente, para este caso, en la fecha inicial, se cumple correctamente, pero al digitar fecha final, el dia no se puede, solo lo hacer correctamente al digitar el mes y luego digitar el dia.
Alguien sabe a que se debe esto?
Muchos Saludos.
Antonio
Dejo el codigo:
- Code: Select all Expand view
Function Pide_Fecha()
Local oDlg4,oSay1,oFecha1,oFon1,oFon2,oFon3,otitu1,oFecha2
Public Mensa:="", dFecha2:=Date(),dFecha1:=Date()
DEFINE FONT oFon1 NAME "TAHOMA" SIZE 0,-14 BOLD
DEFINE FONT oFon2 NAME 'TAHOMA' SIZE 0,-12 BOLD
DEFINE FONT oFon3 NAME 'TAHOMA' SIZE 0,24 BOLD
DEFINE DIALOG oDlg4 SIZE 460,250 PIXEL TRUEPIXEL FONT oFon1 STYLE nOr( WS_POPUP, WS_VISIBLE, WS_DLGFRAME )
@ 10,70 SAY otitu1 PROMPT " PERIODO DE INFORME " PIXEL OF oDlg4 COLORS RGB(0,100,0) FONT oFon3
@ 060,020 SAY "Ingrese Fecha Inicial" SIZE 160,20 PIXEL OF oDlg4 RIGHT FONT oFon1
@ 060,200 DTPICKER oFecha1 VAR dFecha1 OF oDlg4 SIZE 120,30 PIXEL PICTURE "@d" UPDATE
oFecha1:bChange = { || If( oFecha1:lClosed .and. oFecha1:lFocused, oFecha1:PostMsg( WM_KEYDOWN, VK_RIGHT ),) }
@ 125,020 SAY "Ingrese Fecha Final" SIZE 160,20 PIXEL OF oDlg4 RIGHT FONT oFon1
@ 125,200 DTPICKER oFecha2 VAR dFecha2 OF oDlg4 SIZE 120,30 PIXEL PICTURE "@d" UPDATE // <-- Aqui no permite digitar el dia Primero
oFecha2:bChange = { || If( oFecha2:lClosed .and. oFecha2:lFocused, oFecha2:PostMsg( WM_KEYDOWN, VK_RIGHT ),) }
@ 180,150 BTNBMP SIZE 70, 50 PROMPT "PROCESA" OF oDlg4 PIXEL 2007 Resource "#8002" FONT oFon2 ;
ToolTip "PROCESA DATOS";
ACTION IF(!ValidaFechas(dFecha1,dFecha2),(MsgInfo( Mensa,"ATENCION" ),.F.),(oFecha1:Refresh(),oFecha2:Refresh(),Eje_Pro:=.T.,oDlg4:End(), .T.) )
@ 180,300 BTNBMP SIZE 70, 50 PROMPT "VOLVER" OF oDlg4 PIXEL 2007 Resource "#8028" FONT oFon2 ;
ToolTip "VOLVER";
ACTION Eje_Pro:=.F.,oDlg4:End()
ACTIVATE DIALOG oDlg4 CENTERED
RELEASE FONT oFon1,oFon2,oFon3
Return