FoxPro/Visual FoxPro - Lean la pregunta, por favor.....

 
Vista:

Lean la pregunta, por favor.....

Publicado por Keno (42 intervenciones) el 24/05/2004 14:39:11
Tengo un sistema que trabaja en red, y un modulo de ventas lleba un consecutivo, es decir la venta 1, la venta 2, etc
Cuando un usaurio abre el modulo el sistema le asigna el siguiente numero de venta disponible y lo marca como ocupado para que no se lo de a otro usuario de la red al abrir el mismo modulo.

Pero ese es el problema si dos usuarios abren los modulos relativamente al mismo tiempo, les da el mismo numero, es decir la tabla no se actualiza inmediatamente.

Que puedo hacer, que me recomiendan???

Gracias de antemano.

Keno
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:Lean la pregunta, por favor.....

Publicado por Roman Suazo (2723 intervenciones) el 24/05/2004 17:23:42
El numero asignado a cada venta debe irse guardando primero en una tabla especial
(que no use buffers), cada vez que se genere el nuevo numero este se almacena
en un registro (especial para la tabla en uso) el cual se bloquea manualmente (RLOCK) asi evitando la duplicidad. Todo esto iria en un prg el cual devolveria el numero generado asi pudiendo crear un numero unico para cada registro.

Estos serian los pasos ue irian en el prg:

-buscar registro donde se guardan los valores para la tabla venta
- una vez encontrado, se bloquea el registro
-se aumenta el valor de venta en 1
-se desbloquea el registro
-con return se devuelve el resultado al modulo

En este foro se ha presentado varias veces la solucion para este tipo de problemas
valdria la pena buscar las preguntas...
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:Lean la pregunta, por favor.....

Publicado por CesarZ (84 intervenciones) el 26/05/2004 00:49:13
Hola

SImplemente debes de verificar antes de guardar que no exista en numero asignado al documento. de existir le incrementas en mas 1 tu correlativo y verificas nuevamente hasta que no exista.

suerte
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