PDA

Ver la Versión Completa : Cliente V.S. Cliente


AGAG4
09-09-2004, 03:06:24
Estoy usando componentes IBX con FireBird 1.5.

Tengo un problema, lo que pasa es que estoy haciendo pruebas en un Maestro-Detalle(Factura), Cliente-Servidor, ahora, cuando acceso a la captura de Facturas en dos Terminales, capturó Folios distintos en las dos, en el evento OnEnter del dbGrid(Detalle) guardo la llave primaria del Maestro (Almacen+Serie+Folio), en un Cliente estoy capturando Productos en la Factura y en el otro, al entrar al dbGrid activo el evento OnEnter en el cual tengo el siguiente código:

Maestro.Edit;
Maestro.Almacen:=1;
Maestro.Serie:='FM';
Maestro.Folio:=edFolio.text;
Maestro.Post;
**Nota:
Llave primaria del detalle> Almacen+Serie+Folio+Indice

Hago esto porque en el dbgrid cada vez que voy agregando un nuevo registro, le asigno al detalle la Serie y el Folio del Maestro asignandole el consecutivo del campo "Indice" del Detalle, (en la Base de Datos tengo la llave foranea del detalle Almacen+Serie+Folio que hacen referencia al Maestro)

Al compilarlos por partes, y al pasar por la ultima instrucción<Maestro.Post;>
se me queda paralizada la aplicación, y vuelve a funcionar hasta que en el otro cliente acepto la transacción, en donde estoy mal???? espero haberme explicado bien .... si no me explique bien por favor diganmelo...Gracias.

Neftali [Germán.Estévez]
09-09-2004, 09:28:25
Al compilarlos por partes, y al pasar por la ultima instrucción<Maestro.Post;>
se me queda paralizada la aplicación, y vuelve a funcionar hasta que en el otro cliente acepto la transacción, en donde estoy mal????
¿Cuando abres (begin) y cierras la transaccion (commit)?

Te lo digo porque el comportamiento que explicas de transacciones es el correcto; la segunda se debe esperar hasta que la otra acabe, lo que pasa que una premisa básica de las transacciones es que deben durar un tiempo mínimo (ínfimo, y con ésto hablo del tiempo que tardan en ejecutarse unas ciantas instrucciones -décimas de segundo tal vez-) por eso las esperas son (o deberían ser inperceptibles).

De ahí que te pregunte cuando la inicas y la acabas y cuanto tiempo hay entre esos dos puntos.

AGAG4
09-09-2004, 19:28:39
Muchas Gracias por sus comentarios, pero creo que el problema es en el Post, como usted me dice, voy hacer pruebas con las transacciones, algo debo de tener mal... Gracias....