Cómo guardar un historial en el Servidor sobre las entradas de los usuarrios

95 views
Skip to first unread message

Hitiel Hernández

unread,
Nov 16, 2017, 10:42:18 AM11/16/17
to publice...@googlegroups.com
Buenas tardes amigos!.

Nuevamente apelo a sus conocimientos.
El cliente requiere llevar un historial por cada entrada al sistema y que ésta quede guardada en el servidor. En el login el sistema despliega un combo con todos los nombres de usuarios disponibles, se requiere que aparezcan en orden de acuerdo al usuario que más veces ingrese en determinada terminal.

Gracias por sus comentarios, estaré al pendiente.
Saludos!

--
Sabiduría ante todo; adquiere sabiduría

Carlos Miguel FARIAS

unread,
Nov 16, 2017, 12:10:49 PM11/16/17
to Grupo Fox
Hay infinidad de formas de resolverlo, como piensas instrumentarlo?
Saludos: Miguel

Hitiel Hernández

unread,
Nov 16, 2017, 12:12:43 PM11/16/17
to publice...@googlegroups.com
talvez creando una tabla nueva donde se guarden las entradas (como nuevo registro) del usuario, con un incremental , incluyendo fecha y hora.

No se si tú tengas una mejor idea

ivanmvh

unread,
Nov 16, 2017, 12:46:02 PM11/16/17
to Comunidad de Visual Foxpro en Español
Añado a la respuesta:
talvez creando una tabla nueva donde se guarden las entradas (como nuevo registro) del usuario, con un incremental , incluyendo fecha y hora.
Añado:y la identificación del terminal.
Un le John entre la tabla de usuarios y esta nueva tabla creada para que incluya también a los que nunca han entrado a ese terminal.
Ivan Martinez von Halle
Enviado desde Samsung Mobile


-------- Mensaje original --------
De: Hitiel Hernández
Fecha:2017/11/16 12:12 PM (GMT-05:00)
Asunto: Re: [vfp] Cómo guardar un historial en el Servidor sobre las entradas de los usuarrios

Carlos Miguel FARIAS

unread,
Nov 16, 2017, 12:48:30 PM11/16/17
to Grupo Fox
En mi caso particular, guardo en cada registro que se crea y modifica la terminal, el usuario y la hora hasta milisegundos (esto ya lo había pasado antes al foro).
Para eso utilizo la siguiente formula:

NTOM(VAL(STRTRAN(SYS(2007,SYS(0))+STR(VAL(SYS(1))- 2450000,5,0)+STR(SECONDS(),9,4)," ","0")))

Esto se almacena en un campo monetario., los 19 dígitos están conformados por:
  • Los cinco primero son un hash de sys(0) que en fox te da combinado nombre estación y usuario.
  • Los cinco siguientes te da el día juliano (le tienes que sumar 2450000)
  • Los cinco siguientes son segundos desde la medianoche (0..86399) 
  • Los decimales son mili-segundos de la cifra anterior.
En una tabla guardas todas las combinaciones de SYS(2007, SYS(0)) que es el hash de terminal + usuario
Creas entonces una tabla con 

PCyUsr = {cHash, cEstacion, cUsuario}

Luego en cada tabla de interés, colocas un campo monetario donde guardas el resultado de la formula que pase cada vez que se modifica el registro
para recuperar los valores, tomas los cinco primeros dígitos del campo y lo enganchas con PCyUsr
El resto te permite saber dia y hora.

Esa formula también la uso como clave calculada en lugar de autoincrementales, me sirve como pista de auditoria, y no tengo problemas en juntar tablas de diferentes orígenes.

Saludos: Miguel, La Pampa (RA)
Larga Vida y Prosperidad
Que la Fuerza los acompañe

Hitiel Hernández

unread,
Nov 16, 2017, 1:15:27 PM11/16/17
to publice...@googlegroups.com
Gracias Carlos Miguel Farias.
Lo implementaré y comentaré cómo me fué

Víctor Hugo Espínola Domínguez

unread,
Nov 16, 2017, 5:04:16 PM11/16/17
to publice...@googlegroups.com
En el futuro tendrás un problemita, Postgresql anunció que ese tipo de dato será descontinuado y recomienda no usarlo, yo lo estoy convirtiendo a base 196 y genera una cadena de 9 caracteres.

Saludos,
Víctor.
Lambaré - Paraguay.

Jean Pierre Adonis De La Cruz Garcia

unread,
Nov 16, 2017, 5:50:49 PM11/16/17
to Comunidad de Visual Foxpro en Español
A ese proceso, yo lo manejo con un LOG, que guarda el historial al momento que ingresan, modifican o eliminan un registro, me lo guarda en el log, de manera que puedo saber de que pc lo hicieron, y que movimiento hicieron en que tabla y que registro, con fecha y todo, la cosa esta como armas tus ingresos de reegiostros de tu tabla en el servidor.

Carlos Miguel FARIAS

unread,
Nov 17, 2017, 5:54:36 AM11/17/17
to Grupo Fox
Victor: Que tipo de dato va a ser discontinuado en postgresql?
Jean: También utilizo bitácoras para guardar registro de los datos modificados donde se registran las 5W de auditoria (What, Where, Who, When, How), pero pedía una solución fácil
Saludos: Miguel, La Pampa (RA)

Víctor Hugo Espínola Domínguez

unread,
Nov 17, 2017, 9:32:35 AM11/17/17
to publice...@googlegroups.com
Pero investigando mejor encontré info contradictoria, aparentemente abandonaron la idea, sinceramente ya no entiendo si será o no descartado ese tipo de dato.

Saludos,
Víctor.
Lambaré - Paraguay.


El 17 de noviembre de 2017, 07:54, Carlos Miguel FARIAS<carlosmig...@gmail.com> escribió:
Victor: Que tipo de dato va a ser discontinuado en postgresql?
Jean: También utilizo bitácoras para guardar registro de los datos modificados donde se registran las 5W de auditoria (What, Where, Who, When, How), pero pedía una solución fácil
Saludos: Miguel, La Pampa (RA)

Carlos Miguel FARIAS

unread,
Nov 17, 2017, 7:09:59 PM11/17/17
to Grupo Fox
Te estás basando en una versión que creo ya no tiene soporte. En la versión 10 (que esta en test figura como vigente), el Money en Postgresql ocupa 8 bytes como en fox pero maneja 2 decimales y no 4.
Saludos: Miguel, La Pampa (RA)
El 17 de noviembre de 2017, 11:32, Víctor Hugo Espínola Domínguez <vich...@gmail.com> escribió:
Pero investigando mejor encontré info contradictoria, aparentemente abandonaron la idea, sinceramente ya no entiendo si será o no descartado ese tipo de dato.

Saludos,
Víctor.
Lambaré - Paraguay.


Víctor Hugo Espínola Domínguez

unread,
Nov 17, 2017, 7:14:35 PM11/17/17
to publice...@googlegroups.com
Exacto, en la documentación de la versión 8.3 ya no figura esa advertencia!

Saludos,
Víctor.
Lambaré - Paraguay.


Reply all
Reply to author
Forward
0 new messages