FoxPro/Visual FoxPro - Problemas en Red

   
Vista:

Problemas en Red

Publicado por Amado Garcia Lara (66 intervenciones) el 01/10/2008 02:43:27
Hola... buenas tardes..
Saben que tengo algunos problemas con sistema en la red...

tengo 1 servidor llamado SERVER en el que esta instalado el sistema en C:CCAMBIO, y ejecutada desde una Conexion a Red: X:

2 terminales 1 y 2 se conectan a SERVER por conexcion a red asi:
ccambio (\server) X:

En Terminal 1 y 2 se hace lo siguiente: "CON 3 segundos de diferencia de una y otra"
Al Iniciar el FORM Compras de Divisas estoy usando un folio que es el No. de Ticket., almacenado en una Variable llamada nFolio y lo saco asi... con un boton llamado Nuevo

Sele movim
set order to folio && Ordena Por Folio
go bottom & Va al Final de la Tabla
nfolio=Ticket+1 &Toma el ultimo + 1
Thisform.Refresh &Refresca y continua otros campos a capturar

se le proporcionan los datos como lo son cantidad de dolares, tipo de cambio, recibido, sucambio, al terminar remplaza las variables asi..

RLOCK() &Bloqea El Registro
APPEND BLANK
replace talon WITH nfolio && ejemplo folio 15
replace spesos WITH nimporte
... otros campos... etc..
Unlock &Desbloquea el registro.

pero en ese instante... "3Seg de Dif" y antes de realizar el remplazo de los campos de Terminal1, terminal2 ya se metio y tomo el folio 15., remplaza terminal1 y al remplazar terminal2 queda duplicado num de folio con diferente valor....

¿Que debo hacer para que terminal1 proteja el Registro 15 y que en el tiempo de que se esta capturando otros datos.. terminal2 no agarre el folio 15 sino el siguiente??.

Saluidos Gracias a todos
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:Problemas en Red

Publicado por Ernesto (134 intervenciones) el 01/10/2008 06:45:43
yo lo hago asi:
Sele movim
set order to folio && Ordena Por Folio
go bottom & Va al Final de la Tabla
nfolio=Ticket+1 &Toma el ultimo + 1
Thisform.Refresh &Refresca y continua otros campos a capturar
cuando apenas voy a comenzar agregar los tipos de cambios y todas esas putadas, vuelvo a llamar otra ves ese codigo antes del insert y asi toma el ultimo, esto lo hace en millonesimas de segundos, no creo que entre una terminal y otra alguien le de al mismo tiempo, ademas yo hice varias pruebas tratando de guardarlo haber si me ponia el mismo folio y jamas se me repitio.

Otra solucion es ponerlo como autonumerico

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

RE:Problemas en Red

Publicado por kong (681 intervenciones) el 01/10/2008 08:19:42
di una ojeada la rutina, pero no se cual es el problema. Lo que si encontre un posible error es

Append blank
rlock()

no al reves
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:Problemas en Red

Publicado por jose camilo (688 intervenciones) el 01/10/2008 14:37:31
usa la logica de ernesto tengo sistema un muchas empresas y sigo esta logica y nunca se me duplica un registro
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:Problemas en Red

Publicado por Amado Garcia Lara (66 intervenciones) el 01/10/2008 15:42:08
OK... voy a hacer lo que dice Ernesto... creo que es la opcion mas viable...

Muchas gracias amigos...

Saludos desde Anahuac Nuevo Leon Mexico.....
Amado Garcia....
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:Problemas en Red

Publicado por Ernesto (134 intervenciones) el 01/10/2008 19:01:03
sale !!

saludos desde Mazatlan Sinaloa M.
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