Fórum Soma de um Campo em IBX, como vocês fazem? #333613
24/11/2006
0
Tenho um lançamento de pedido, onde tenho o corpo de pedido, e os itens do pedido. Pois bem, no corpo do pedido tenho o seguinte campo VALOR_PRODUTO, onde deverá ser gravado o valor total da soma de todos os itens deste pedido. No Itens, eu tenho o campo VALOR_TOTAL.
Ou seja, tenho que pegar a soma de todos os VALOR_TOTAL de cada item e somar, e jogar pro VALOR_PRODUTO.
Atualmente, eu faço o seguinte: ao sair do grid do Itens, eu dou um while na tabela de Itens, e somo o valores totais e jogo para a tabela de Pedido. funciona, mas só funciona depois que o usuario já preencheu os dados. Gostaria de fazer que ao ir preenchendo os itens, já fosse sendo calculado isso.
Como vocês fazem isso?
P.S.: Sei que no ClientDataSet tem uma opção para isso, porém esta não é uma opção para mim, pois para mudar, deverei mudar toda a estrutura do meu pedido. :wink:
Desde já agradeço
[]s
Titanius
Curtir tópico
+ 0Posts
24/11/2006
Marco Salles
Gostei + 0
24/11/2006
Titanius
Olá Marco, obrigado pela resposta, era desta forma mesmo que eu faço, porém tenho que controlar tudo, se o cara edita o item (tenho que mudar o valor), se o cara exclui o item tenho que mudar o valor. Achei que tivesse um meio melhor do que isso..
Quanto ao CDS, nao posso mudar pois o pedido já está pronto, com controle de transacao e tudo, para mudar ficaria [b:ddb71e2afa]trabalhoso[/b:ddb71e2afa]. Nos próximo projetos irei usar o CDS, com certeza...
[]s
Gostei + 0
24/11/2006
Marco Salles
[b:3eedd10f4c]Pode ser que tenha sim.. [/b:3eedd10f4c]Algo mais creativo do que trabalhar com os eventos BeforePost , BeforeEdit , beforeDelete , affterPost , affeterEdit;
AffeterPost , para controlar corretamente o valor desta variável...No mais eu so parti para esta linha de raciocineo por dois motivos:
1)[b:3eedd10f4c] Voce dissse que no final usava um [b]While[/b:3eedd10f4c][/b]... Esta tecnica no meu entedimento é pior do que usar uma variavel de controle , alem de so ter o resultado no fim do processo:
Como vocês fazem isso?
2)Porque voce queria em tempo Real e usando esta variavel de controle voce obtem isso...
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)