Estan funcionando 3 cajas a la vez emitiendo entradas, pero en algun momento dos cojen el numero de ticket 171 por que algun terminal no lo alcanza a grabar y se me pierde uno.
Parte de la rutina es la siguiente :
Código Delphi
[-]
Movtos.Last;
Numero:=Movtos.FieldByName('Ticket').Value+1;
Movtos.Append;
Movtos.FieldByNAme('Ticket').AsFloat:=Numero;
Movtos.Post;
dbiSaveChanges(Movtos.Handle);
Application.ProcessMessages;
Movtos.SetKey;
Movtos.FieldByName('Ticket').Value:=Numero;
Movtos.GotoKey;
Movtos.Edit;
Movtos.FieldByName('TPV').AsString:=GetEnvironmentVariable('NOMPC');
Movtos.FieldByName('Usuario').AsString:=Inicio.NomUser;
Movtos.FieldByName('Cantidad').AsString:='1';
y el resto hasta el post.
Alguna solucion mejor para asegurarme que siempre tome el ultimo registro y lo tome para si ?....
no se si se entiende, pero en la operatoria sucede que si el ultimo registro guardado tiene como numero de ticket 170, y dos terminales venden simultaneamente 5 entradas por ejemplo, pero sucede que por alguna razon dos terminales toman el 170 y le suman 1 pero solo uno despues queda grabado...el otro se pierde.
La verdad esto me quedo cuadrado, no se que hacer ya.
Uso delphi 6 enterprise.
Gracias por la ayuda.