BAIXAR NO ESTOQUE E CANCELAR BAIXA

Delphi

27/04/2013

Olá, tenho um sistema de vendas e agora consegui faze-lo dar baixa a cada item que é gravado no pedido, porem estou com dificuldades quando deleto um item ele teria que somar a quantidade novamente no estoque. Com o codigo abaixo ele soma sempre no ultimo item do pedido.
este codigo está no botão excluir.
DataModule1.SimpleDataSetProdutos.Open;
DataModule1.SimpleDataSetProdutos.Edit;
devolucao := DataModule1.SimpleDataSetItens.FieldByName('QTVENDA').AsFloat;
DataModule1.SimpleDataSetProdutos.FieldByName('ESTATU').AsFloat :=
DataModule1.SimpleDataSetProdutos.FieldByName('ESTATU').AsFloat + devolucao;
DataModule1.SimpleDataSetItens.Delete;
DataModule1.SimpleDataSetProdutos.Post;
DataModule1.SimpleDataSetItens.Delete;

Se alguem puder me ajudar agradeço.
Luiz Augusto

Luiz Augusto

Curtidas 0

Respostas

Weverson Souza

Weverson Souza

27/04/2013

Saudações nobre.

Diga-me uma coisa, você utiliza qual banco de dados?

Você já pesquisou o evento "Before Delete"? do TClientDataSet ou TSimpleDataSet.

Esse evento irá ajudá-lo no que quer.

Abraço.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

27/04/2013

Logo após abrir o SimpleDataSetProdutos, você precisa localizar o produto que irá receber o estoque, ou seja, o produto que está sendo excluído do pedido.
Acho que ai você vai precisar filtrar pelo código.
GOSTEI 0
Luiz Augusto

Luiz Augusto

27/04/2013

Ok pessoal, consegui. é que eu tava tentando baixar o estoque a cada item do pedido confirmado, agora baixo o estoque somente apos confirmação do pedido. acabou o probleama. obrigado a todos.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

27/04/2013

Beleza, Luiz. Ótima mudança você fez.
Se eu puder dar uma sugestão, considere utilizar triggers para esse fim. Com isso você tira a responsabilidade da aplicação e ainda pode ganhar desempenho, pois as ações de baixa no estoque serão feitas diretamente no banco.
Então estou encerrando este tópico.
Abraço a todos.
GOSTEI 0
Luiz Augusto

Luiz Augusto

27/04/2013

Ok, obrigado, vou pesquisar sobre trigger, é que estou começando agora. Valeu!!!
GOSTEI 0
POSTAR