Fórum Trigger de Baixa de Estoque #40339
25/11/2003
0
Tenho o seguinte trigger que dá baixa no estoque durante minha venda em um PDV.
Porem se estou vendendo no PDV e abro o cadastro no Retaguarda, mando alterar um produto que esteja sendo vendido dá erro de DeadLock.
Gostaria de mudar esse trigger.
Gostaria de ao dar um post na minha tabela de venda eles varesse a tabela item dando baixa no estoque.
Minhas tabelas.
[color=darkblue:d8baded4a2][b:d8baded4a2]VDAPDV[/b:d8baded4a2]
CODPDV
...[/color:d8baded4a2]
[color=green:d8baded4a2][b:d8baded4a2]
VDPDVITEM[/b:d8baded4a2]
CODPDV (ligação com a tabela VDAPDV)
QTDE
...[/color:d8baded4a2]
Não sei como fazer isso =T
poderia ser storeprocedure???
Não dá pra mim utilizar a opção CachedUpdate pois uso uma Query q soma a venda ... uso os componentes ibdatase+ibdatabase+ibtransactions
Valeuuuuu
:cry:
CREATE TRIGGER "Baixa_estoque" FOR "VDPDVITEM" ACTIVE AFTER INSERT POSITION 0 AS begin update CDPRODUTOS set estoatu = estoatu - new.qtde where codbarra = new.codbarra; end
Porem se estou vendendo no PDV e abro o cadastro no Retaguarda, mando alterar um produto que esteja sendo vendido dá erro de DeadLock.
Gostaria de mudar esse trigger.
Gostaria de ao dar um post na minha tabela de venda eles varesse a tabela item dando baixa no estoque.
Minhas tabelas.
[color=darkblue:d8baded4a2][b:d8baded4a2]VDAPDV[/b:d8baded4a2]
CODPDV
...[/color:d8baded4a2]
[color=green:d8baded4a2][b:d8baded4a2]
VDPDVITEM[/b:d8baded4a2]
CODPDV (ligação com a tabela VDAPDV)
QTDE
...[/color:d8baded4a2]
Não sei como fazer isso =T
poderia ser storeprocedure???
Não dá pra mim utilizar a opção CachedUpdate pois uso uma Query q soma a venda ... uso os componentes ibdatase+ibdatabase+ibtransactions
Valeuuuuu
:cry:
Fer
Curtir tópico
+ 0
Responder
Posts
25/11/2003
Afarias
Para evitar os deadlocks mantenha as transações curtas.
Uma idéia seria manter a venda em ´memória´ (usando midas ou sei lá) e postar a venda (os items) apenas quando terminado!
Outra forma seria postar/commitar item a item ... neste caso, se a venda/item for cancelado, vc tem q ter um procedimento para isso.
Também mantenha as transações de alteração do cadastro de produtos curtas. dando um commit ou commitRetaing o mais breve possível após um Post.
T+
Uma idéia seria manter a venda em ´memória´ (usando midas ou sei lá) e postar a venda (os items) apenas quando terminado!
Outra forma seria postar/commitar item a item ... neste caso, se a venda/item for cancelado, vc tem q ter um procedimento para isso.
Também mantenha as transações de alteração do cadastro de produtos curtas. dando um commit ou commitRetaing o mais breve possível após um Post.
T+
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)