FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Concurrencia, mantener existencias en Red
Vamos a ver si me podeis aclarar la mejor forma de que varios clientes en red trabajen.
Supongamos que tengo 3 tablas: Articulos (ART) Facturas (FAC) Detalle de las Facturas (DETFAC). Cada una de los articulos de las facturas Utilizo FB 1.5, IBX y delphi 7 Controlo las existencias con un trigger que se dispara cada vez que se hace una modificación sobre la tabla de detalle(uno cada vez que borro, otro cada vez que actualizo...). Desde un solo puesto funciona de vicio, pero cuando varios clientes estan trabajando al mismo tiempo. SI alguien modifica un artiiculo de la factura, por ejemplo cambiando la cantidad vendida, se disparaq el trigger y hace la modificacion sobre la tabla de articulos. Es lo que quiero que haga, el problema es que ningun otro cliente podra utilizar el articulo hasta que el primero haga un commit (yo no hago un commit hasta que el usuario haga clic sobre el boton de candelar, haga rollback si presiona el boton de cancelar). Si Hago un commit cada vez que hagoi un Post en la tabla de detalle, bueno, se dispara el trigger y al hacer el commit, el articulo queda liberado rápidamente. Creo que este es el camino. Pero con IBX cada vez que hago un commit pierdo los datos, tengo que volver a abrir la consulta de nuevo (mayor trafico por la red) además pierdo la posicion dentro del articulo que estoy editando (bueno puedo volver a el utilizando algun invento como hacer un locate sobre los detalles o algo asi, me parece una chapuza pero funciona) Otra solución que se me ocurre es utilizar un control no enlazado a datos como un TStringGrid para editar los detalles de la factura, pero eso implica mucho mas trabajo de programación. Bueno pues despues de todo este rollo, se que hay alguna manera mas simple de hacer lo que quiero, ¿Cual es? Bueno Salu2 y gracias a todos |
|
|
|