FoxPro/Visual FoxPro - Rango de Fecha y Hora

   
Vista:

Rango de Fecha y Hora

Publicado por Lolly (103 intervenciones) el 09/10/2009 21:26:14
Estoy tratando de poner Politicas de descuento en mi TPV
se trata de lo siguiente... cuento con una tabla de ofertas en la que doy de alta de acuerdo a un rango de fechas y horas....

* ** en la tabla dice**
clave vigedesde vigehasta horadesde horahasta dimporte
001 04/10/2009 05/10/2009 14:00:00 15:00:00 20.00

FUNCION DESCUENTO
sele Pofertas.dbf
set order to codigo
IF SEEK(ALLTRIM(nCodigo))
IF vigeDesde>=DATE() .or. vigeHasta<=DATE()
IF time(horadesde)>=TIME() .and. time(horaHasta)<=TIME()
nPrecio=dImporte && toma el precio con descuento
WAIT WINDOW TIMEOUT 1 'Articulo en Oferta...'
ENDIF
ENDIF
ENDIF
ENDFUN

asi tengo la condicion... pero le pongo cualquier fecha y TRABAJA la funcion... lo hace ademas con la hora fuera del rango establecido... en la tabla...
asi pueden ser las 20:00: horas.... y realiza el descuento que debo hacer....??

Gracias amigos...
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:Rango de Fecha y Hora

Publicado por andy (221 intervenciones) el 10/10/2009 02:09:27
Esta parte no es correcta:

IF time(horadesde)>=TIME() .and. time(horaHasta)<=TIME()

Prueba este codigo:

HoraDesde='16:00'
HoraHasta='22:00'
IF TIME()>=HoraDesde .and.TIME()<=HoraHasta
wait windo 'Corresponde Descuento'
else
wait windo 'No corresponde'
endif
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

RE:Rango de Fecha y Hora

Publicado por Miguel (115 intervenciones) el 10/10/2009 03:55:03
ese IF tambien lo puedes reemplazar con

IF BETWEEN(time(),HoraDesde,HoraHasta)
.....Procedimiento.
ENDIF

Slds.
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
Imágen de perfil de Mauricio

Rango de Fecha y Hora

Publicado por Mauricio (1367 intervenciones) el 10/10/2009 03:56:21
si DEBERIA de funcionar toda vez que la hora la tenga definida a 24 horas, ademas para los rangos es mejor usar el BETWEEN
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