Trigger de Baixa de Estoque
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
Curtidas 0
Respostas
Afarias
25/11/2003
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+
GOSTEI 0