Autor Tema: Evitar que se guarde en una fecha anterior  (Leído 15225 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Evitar que se guarde en una fecha anterior
« en: Octubre 18, 2011, 03:58:40 pm »
Como hacen ustedes para que sus sistemas no guarde en fechas antiguas o fechas muy adelantados. Lo que pasa es que tengo unos clientes que tiene 3 cajeros "VICHOS" los tipos lo que hacen es atrasar la fecha o adelantar y venden en esa fecha.

Yo conozco una forma que desde el windows se puede bloquear para que no se cambie la fecha. Pero los muy vichos entran desde el Setup de la placa, también le puse contraseña al bios, pero como entienden de pc le sacan la pila y se borra toda la config del bios.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Evitar que se guarde en una fecha anterior
« Respuesta #1 en: Octubre 18, 2011, 04:19:38 pm »
Yo me cure de espantos con algunos clientes sobre este tema.
1.- Se prende el server y se registra la fecha del día en 1 tabla que controla fechas.
2.- Las otras PCs cuando se ejecuta el programa busca la fecha y usa esa fecha en toda la aplicación.

Por supuesto hay varias condicionales.
1.- Solo puede registrar la fecha el usuario designado (siempre debe existir un responsable)
2.- Si la fecha no existe y el usuario tiene los permisos este cambiara la fecha, sino tiene los permisos el programa asume la fecha ultima como la fecha vigente.
3.- Al empezar de cada el sistema siempre pedirá que se registre la fecha del dia para que toda la red use esa fecha.
4.- Al arrancar la aplicación, lo primero que hace (entre otras cosas) es comparar su fecha de windows con la de sistema.
5.- Otras situaciones mas que no recuerdo.

Ventaja:
No importa cuantas veces el usuario cambie con intención o sin intención la fecha, esta permanecerá inalterable hasta que el usuario designado la cambie. De esta forma nunca se realizan transacciones fuera de fecha.

Saludos
« última modificación: Octubre 18, 2011, 04:21:09 pm por YAcosta »
Me encuentras en YAcosta.com

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Evitar que se guarde en una fecha anterior
« Respuesta #2 en: Octubre 18, 2011, 04:32:50 pm »
Entiendo...

El tema con mi caso que los 3 cajeros solo usan una PC sin server y nunca se apaga el programa ni la pc, a no ser para su fechoría. 3 turno hay mañana, tarde, noche por que es un estación de servicios de combustible y ahí tiene tu shoop 24 horas.

Una idea que tengo también puede ser ponerle un estado="controlado" cuando venga el dueño que aga su reporte de todos los estados = "no controlados".
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Evitar que se guarde en una fecha anterior
« Respuesta #3 en: Octubre 18, 2011, 04:55:55 pm »
Podría ser, lo otro quizá seria que manejes tu reloj interno dentro del sistema, si dices que nunca se apaga entonces podrías valerte de un Time propio, como fuere, lo tuyo es un caso especial y debe tratarse como tal.

A veces no todo tiene que resolver con el software, a veces las cosas se resuelven mas fácilmente por fuera, salvo que lo halla ofrecido entonces caballero no mas.
Cuando el usuario es inepto o mal intencionado simplemente se le despide y se busca otro que no haga pendejadas, pasa que a veces esto no se aplica por otro factores, como que los empleados son familiares, el dueño paga una miseria, el negocio tiene algo de ilícito, el dueño no tiene don de mando ni tiene establecida las penalidades, etc.

Nos cuentas, saludos.
Me encuentras en YAcosta.com

Bazooka

  • Terabyte
  • *****
  • Mensajes: 951
  • Reputación: +31/-20
  • El pibe Bazooka
    • Ver Perfil
    • Desof sistemas
Re:Evitar que se guarde en una fecha anterior
« Respuesta #4 en: Octubre 18, 2011, 09:52:12 pm »
Hola Ariel, ya está todo inventado casi! yo me canse de renegar con eso y opte por vender mis sistemas con protección electronica una llave como un pendrive que lee tu software y que incluso trae un reloj interno! asi que podes vender una aplicación que se pague de forma mensual y si llegada una fecha no te pagaron se les cae y no funciona más y si te paga le vas pasando un ejecutable que parchea la llave.
No son muy caras y te aseguran una cierta tranquilidad..

saludos
Todos somos muy ignorantes. Lo que ocurre es que no todos ignoramos las mismas cosas.

YAcosta

  • Moderador Global
  • Exabyte
  • *****
  • Mensajes: 2853
  • Reputación: +160/-38
  • Daddy de Qüentas y QüeryFull
    • Ver Perfil
    • Personal
Re:Evitar que se guarde en una fecha anterior
« Respuesta #5 en: Octubre 18, 2011, 10:27:55 pm »
Pero creo que el no quiere para controlar licencia, sino para que los usuarios no jodan las transacciones cambiando la fecha de Windows.
Me encuentras en YAcosta.com

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Evitar que se guarde en una fecha anterior
« Respuesta #6 en: Octubre 19, 2011, 12:54:14 am »
y porque no haces que tu sistema maneje una fecha independiente la fecha del sistema ?  asi hacena lgunos sistemas, tienen su propia fecha y por ams que le cambies al windows la fecha, el sistema sigue con su fecha, esto obliga al usuario a "cerrar el dia" y asi pasar al siguiente dia para vender.

saludos.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Evitar que se guarde en una fecha anterior
« Respuesta #7 en: Octubre 19, 2011, 09:59:09 am »
Hola Ariel, ya está todo inventado casi! yo me canse de renegar con eso y opte por vender mis sistemas con protección electronica una llave como un pendrive que lee tu software y que incluso trae un reloj interno! asi que podes vender una aplicación que se pague de forma mensual y si llegada una fecha no te pagaron se les cae y no funciona más y si te paga le vas pasando un ejecutable que parchea la llave.
No son muy caras y te aseguran una cierta tranquilidad..

saludos

No no amigo entendiste mal mi post. No es tema de que copie mi sistema y use otra gente.

y porque no haces que tu sistema maneje una fecha independiente la fecha del sistema ?  asi hacena lgunos sistemas, tienen su propia fecha y por ams que le cambies al windows la fecha, el sistema sigue con su fecha, esto obliga al usuario a "cerrar el dia" y asi pasar al siguiente dia para vender.

saludos.

Seba123neo. Esto ya lo había escuchado no tenes algún ejemplo, o donde puedo ver un ejemplo.


Saludos !!
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

raul338

  • Terabyte
  • *****
  • Mensajes: 894
  • Reputación: +62/-8
  • xD fan!!!!! xD
    • Ver Perfil
    • Raul's Weblog
Re:Evitar que se guarde en una fecha anterior
« Respuesta #8 en: Octubre 19, 2011, 06:48:42 pm »
Es solamente fecha no? Podes hacer una aplicación "Auxiliar" que nunca se cierre y permanezca oculta, que haga lo siguiente
  • Se encienda con windows, y tome la fecha actual
  • Ponga a la escucha una instancia de la clase DDE de Leandro
  • Tu programa se conecta por DDE a esa aplicacion auxliar y le pide la fecha
  • El programa auxiliar calcula la fecha en base a la fecha en la que se inicio el sistema + GetTickCount y un par de operaciones matematicas para saber cuantas horas/dias pasaron desde que se encendio la PC
  • Por mas que cambien la fecha, no hay archivos ni nada, solo una aplicacion que se ejecute al inicio y que nunca se pueda terminar (hay ciertas tecnicas para eso x'D)
  • Pon contraseña al bios, asi no pueden cambiar la fecha desde el bios

PD: En caso de que no quieras que apaguen la PC, puedes ver esto pero seria un poquito macabro x'D

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Evitar que se guarde en una fecha anterior
« Respuesta #9 en: Octubre 19, 2011, 07:00:02 pm »
Hola Ariel, ya está todo inventado casi! yo me canse de renegar con eso y opte por vender mis sistemas con protección electronica una llave como un pendrive que lee tu software y que incluso trae un reloj interno! asi que podes vender una aplicación que se pague de forma mensual y si llegada una fecha no te pagaron se les cae y no funciona más y si te paga le vas pasando un ejecutable que parchea la llave.
No son muy caras y te aseguran una cierta tranquilidad..

saludos

No no amigo entendiste mal mi post. No es tema de que copie mi sistema y use otra gente.

y porque no haces que tu sistema maneje una fecha independiente la fecha del sistema ?  asi hacena lgunos sistemas, tienen su propia fecha y por ams que le cambies al windows la fecha, el sistema sigue con su fecha, esto obliga al usuario a "cerrar el dia" y asi pasar al siguiente dia para vender.

saludos.

Seba123neo. Esto ya lo había escuchado no tenes algún ejemplo, o donde puedo ver un ejemplo.


Saludos !!


guardas la fecha en la base de datos, y no le das pelota a la fecha de windows, y cuando "cerras la venta del dia", le sumas un dia a la fecha y asi sucesivamente...asi hacen algunos sistemas grandes para evitar el "hackeo" con la fecha del windows.

softmania

  • Bytes
  • *
  • Mensajes: 35
  • Reputación: +4/-0
    • Ver Perfil
Re:Evitar que se guarde en una fecha anterior
« Respuesta #10 en: Octubre 19, 2011, 10:08:35 pm »
:) SQL = "SELECT NOW() AS FECHA_HORA;" ... esto permite obtener la fecha actual del sever y poder usarla desde el programa cliente de los terminales que conectan. Varía su estructura en función de la base de datos que usas ;D

Saludos ...

Solo se que no se nada!!! ;) By Sócrates

seba123neo

  • Terabyte
  • *****
  • Mensajes: 763
  • Reputación: +88/-5
    • Ver Perfil
Re:Evitar que se guarde en una fecha anterior
« Respuesta #11 en: Octubre 20, 2011, 09:39:26 am »
:) SQL = "SELECT NOW() AS FECHA_HORA;" ... esto permite obtener la fecha actual del sever y poder usarla desde el programa cliente de los terminales que conectan. Varía su estructura en función de la base de datos que usas ;D

Saludos ...

pero eso sigue dependiendo de la hora de windows.

E N T E R

  • Petabyte
  • ******
  • Mensajes: 1062
  • Reputación: +57/-13
  • www.enterpy.com
    • Ver Perfil
    • www.enterpy.com
Re:Evitar que se guarde en una fecha anterior
« Respuesta #12 en: Octubre 20, 2011, 10:18:40 am »
Asi mismo seba, la idea es que no dependa de Windows.
CIBER GOOGLE - CONCEPCIÓN PARAGUAY
www.enterpy.com
Primera regla de la programacion, para que vas a hacerlo complicado si lo puedes hacer sencillo

79137913

  • Megabyte
  • ***
  • Mensajes: 185
  • Reputación: +21/-4
  • 4 Esquinas
    • Ver Perfil
    • Eco.Resumen Resumenes Cs. Economicas
Re:Evitar que se guarde en una fecha anterior
« Respuesta #13 en: Octubre 20, 2011, 10:22:42 am »
HOLA!!!

pero eso sigue dependiendo de la hora de windows.

El piensa que el servidor es impune y que nadie tiene acceso o mete mano.  :P

I N T R O:
Saca la fecha de esta web:
http://wwp.greenwichmeantime.com/time/scripts/clock-8/runner.php

GRACIAS POR LEER!!!
"Como no se puede igualar a Dios, ya he decidido que hacer, ¡SUPERARLO!"
"La peor de las ignorancias es no saber corregirlas"

 79137913                          *Shadow Scouts Team*                                                          Resumenes Cs.Economicas

softmania

  • Bytes
  • *
  • Mensajes: 35
  • Reputación: +4/-0
    • Ver Perfil
Re:Evitar que se guarde en una fecha anterior
« Respuesta #14 en: Octubre 20, 2011, 10:43:05 am »
Hola seba123neo mis saludos ...

El time sea por sincronización o por lo que sea siempre dependerá de un dipositivo (en este caso una PC) y de un programa (En este caso windows)... lo traigas remotamente o lo hagas como lo hagas ...

El tema de la solución que planteo es muy simple ... solo que deje el comentario abierto al ingenio ...

Entoces ... si tu obtienes la fecha y hora de forma remota, desde un servidor que debe cumplir ciertas especificaciones técnicas, el cual no esta tan expuesto como un terminal (No se la infraestructura del lugar), estos datos se tornan fiables ... y ademas imposibles de alterar desde el terminal ... por lo que pasaría a tercer plano si cambian las fecha y hora del terminal ...

Esto se usa en sistemas de control de acceso, sistemas auditores, sistemas de gestión de datos con registro de hora etc ...

Tampoco quise plantear un solución para depender de terceros, por medio de la sincronización del timer de windows y mucho menos ponerme a hacer un planteamiento e indicar como configurar un server DTS (bajo windows o linux) ... me parece matar un mosquito con un cañon .... salu2

y porque no haces que tu sistema maneje una fecha independiente la fecha del sistema ?  asi hacena lgunos sistemas, tienen su propia fecha y por ams que le cambies al windows la fecha, el sistema sigue con su fecha, esto obliga al usuario a "cerrar el dia" y asi pasar al siguiente dia para vender.

Si lees tu propia cita verás que estoy en lo cierto ... cual es tu punto de partida ...como sincronizas ese timer que quieres independizar del sistema ... salu2 ...

HOLA!!!

pero eso sigue dependiendo de la hora de windows.

El piensa que el servidor es impune y que nadie tiene acceso o mete mano.  :P



I N T R O:
Saca la fecha de esta web:
http://wwp.greenwichmeantime.com/time/scripts/clock-8/runner.php

GRACIAS POR LEER!!!

Correcto Enter ... el server si es realmente un server nadie debe meter mano. Tu respuesta es buena, pero te hace dependiente de internet y ademas sigue dependiendo de un SO remoto que manejan terceros ... (a eso me refería que simpre estaremos atado a un programa y dipositivo por medio)
« última modificación: Octubre 20, 2011, 10:45:11 am por softmania »
Solo se que no se nada!!! ;) By Sócrates