La Web del Programador: Comunidad de Programadores
 
    Pregunta:  5549 - PROBLEMAS DE CONCURRENCIA ENTRE VARIOS USUARIOS
Autor:  Juan Carlos Mosquera
Tengo una aplicacion de Facturacion hecha en Foxpro 2.6 Windows y me presenta problemas cuando 2 personas o mas hacen facturas, se mezclan los datos cuando guardar la factura dentro del sistema.
Les sabria agradecer muchisimo si me dan algun consejo que pueda utilizar...
Gracias....

  Respuesta:  GABRIEL SOSA
JUAN: AL NRO DE FACTURA ASIGNALO RECIEN EN EL MOMENTO QUE VAS A GUARDAR, Y NO ANTES, AHI NO VAS A TENER PROBLEMAS. SALUDOS!

  Respuesta:  Manuel Jesus Duran Chusan
Esto es facil, lo que tienes que hacer es crear una tabla con los numero consecutivos, y generar el numero defactura al momento que grabes, y tambien actualiza la tabla que generas los numero

suerte

  Respuesta:  Juan Carlos Mosquera
Hola Jair Alexander, gracias por interesarte en mi inquietud.

Primero que todo estoy utilizando Foxpro 2.6 para Windows en mi aplicacion, lo que hago es lo siguiente:

Tengo una base de datos que lleva los correlativos de las facturas, ejemplo:

IDKEY NAME
-------- ---------
FACTURAS 12345
RECIBOS 45214
PRESUPUESTOS 12547

Cuando cualquier usuario desea crear una nueva factura el sistema consulta esta base de datos, obtiene el numero correlativo actual y hago un Scatter Memvar Blank para los campos tales como: Id Cliente, Nombre del Cliente, Direccion, etc. y creo un Cursor o tabla temporal donde el usuario aƱade el detalle de la factura.

Una vez ingresados todos los datos de la factura el cliente debe GUARDAR la factura, en ese momento es que actualizo el correlativo sumandole 1 y verificando a traves de una busqueda en la tabla de facturas si existe ese correlativo, esto es para prevenir que 2 personas esten haciendo facturas y guarden el mismo numero.

Pues bien, esto no me funciona pues se han dado casos en que los numeros de facturas quedan con el mismo.

Si tienes alguna idea adicional te lo agradeceria amigo.

Muchas gracias por tu atencion.

  Respuesta:  Jair Alexander Forero Aldana
juan carlos me gustaria saber que tipo de codigo estas usando ya que si usas un apend blank y actualizas los registros de forma optimista cambialo.

manda los valores a variables y en el momento de guardar haces un append blank y luego un replace los campos de la tabla con la variables.

no puede fallar

Suerte!