FoxPro/Visual FoxPro - Control de la fecha

   
Vista:

Control de la fecha

Publicado por victor perez (278 intervenciones) el 30/05/2011 17:21:04
Hola amigos,

En mi programa de facturaciòn los niveles de usuarios que no son administrativo al hacer una factura nueva no pueden cambiar la fecha. La misma se toma de la PC donde corre el programa.

No quiero que cambien la fecha por cuestiones de seguridad pues las comisiones medicas se pagan de acuerdo a la facturacion. Si las cambian, por ejemplo, las del lunes pasados, pueden ocurrir problemas al momento de calcular al final del Clinica le debe o no al medico.

No quiero bloquear la posiblidad de cambio de fecha en windows para los usuarios que no son administrativos en Windows. (se como hacerlo, pero no quisiera hacerlo ).

Existe algun modo de controlar esto? Para las fechas en todos mis modulos utilizo Thisform.fecha.value=date()


Saludos,


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

Control de la fecha

Publicado por Mauricio (1368 intervenciones) el 30/05/2011 20:30:09
supongo que al administrativo o no administrativo de alguna manera lo tienes controlado, entonces en el VALID de fechas, puedes poner esto:


Existe algun modo de controlar esto? Para las fechas en todos mis modulos utilizo Thisform.fecha.value=date()
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

Control de la fecha

Publicado por xx (378 intervenciones) el 30/05/2011 22:48:20
Esta algo complicado el controlar las fechas sin bloquear el cambio del mismo, suponiendo que sabes que:

* Para impedir el cambio de fecha del PC los usuarios deben ser del tipo de cuenta standard.
* Para que otros usuarios puedan cambiar la fecha del mismo deben ser del tipo administrador.
* Debes poner contraseñas en la BIOS para que alguien sin autorizacion no la cambie desde alli.

Lo unico que te resta por hacer es incluir un registro interno de fechas en la que cada cambio de dia o cierre de caja este se incremente e impida meter cualquier tipo de comprobante con fecha anterior a dicha fecha.

Es decir grabar una fecha en algun fichero DBF o con funciones de bajo nivel FOPEN() etc y preparar un formulario de cierre de caja en la que se autoincremente la fecha y que al imprimir el reporte conste que este cerrado de modo a no validar ningun reporte de caja sin que este cerrado.

Ojala se entienda

Saludos
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

Control de la fecha

Publicado por victor perez (278 intervenciones) el 31/05/2011 02:42:22
Gracias,

Creo que lo mejor es controlar el acceso a modificar la fecha desde windows y bloquear el Bios.

Victor
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

Control de la fecha

Publicado por Juan Manuel Cruz juanmcruz@hotmail.com (508 intervenciones) el 31/05/2011 10:21:20
Pregunta: ¿usas DBFs, o SQL?
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

Control de la fecha

Publicado por Mauricio (1368 intervenciones) el 30/05/2011 20:33:29
IF NOT Admistrativo
Thisform.fecha.value=date()
RETURN .T.
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

Control de la fecha

Publicado por checote27 (1 intervención) el 13/03/2012 20:43:07
Algo tarde pero ahora es que veo el foro...
Yo tuve un problema parecido y lo que hize fue guardar un variable de tipo datetime() en una de las tablas del proyecto y la publique al inicio del formulario principal y la actualizaba cada vez que se realizaba una transaccion...


public ultimatransaccion
SELECT tutabla
REPLACE ultimatransaccion WITH DATETIME()
ultimatransaccion=DATETIME()

creas un timer donde el evento timer se pone

IF DATETIME()< ultimatransaccion
MESSAGEBOX("Verifique que la Hora y Fecha sean correctas",0+16,"Fecha y/o Hora incorrecta")
ENDIF
de este modo el programa se quedara clavado hasta que la hora sea mayor a la ultima registrada
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