Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-07-2004
celades celades is offline
No confirmado
 
Registrado: may 2003
Ubicación: Torroella de Montgrí (Girona)
Posts: 42
Poder: 0
celades Va por buen camino
Hola

Yo el tema de estocs lo resuelvo con una tabla temporal
Imaginemos que voy entrando lineas de albaran, al grabar la linea en Delphi lo que hago es grabar la linea en el temporal con otra transaccion y hago commit en la misma.
Con lo que si alguien consulta el estoc del articulo de la linea le muesto que quedan lo del estoc del articulo- todas las ventas del temporal +todas las compras del temporal con lo cual el estoc que muestro ( no el que tiene el registro del articulo ) siempre lo tengo actualizado al instante.
Si al final cancelo la entrada del albaran, simplemente borro las lineas del temporal con su transaccion y commit de la misma i rollback de la transaccion del albaran
Si al final valido el albaran hago commit de la transaccion del albaran
y anulo las lineas del temporal previo descuento del stoc del registro del articulo de la linea del temporal borrada i commit de su transaccion.

Espero haberme explicado pero yo es la manera que encontre de evitar deadlock sin hacer commit de la transaccion del albaran y a la vez evitar poder vender una unidat de estoc dos vendedores a la vez. Todo lo hago lanzando procedimientos adecuados pero la clave son las dos transacciones una en la que puedo hacer rollback y la otra con commits cada vez.

En fin cada uno se lo monta como puede, supongo que habra sistemas mas limpios, que este que es sui-generis mio.

Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:02:40.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi