campo aggregate clientdataset não soma corretamente

23/03/2021

0

bom dia

tenho um clientdataset onde foi criado um novo field do tipo agreggate. nele tem a expression sum(valor_final) do tipo data.
esse clientdataset está presente na tela de venda. ao adicionar e alterar um item informo o campo valor_final.

ao salvar a venda em si, no total da mesma uso esse aggregate:
RoundTo(StrToFloat(VarToStrDef(CdsTeste.FieldByName('TOTAL_VALORFINAL').Value, '0')), -2)

mas em alguns momentos não soma um item.
ex: 4 itens com valor final de R$ 100,00, no total da venda salva R$ 80,00. justamente o valor final de um dos itens.

alguém teria alguma ideia? uso o Delphi xe2, firebird 2.5
Cristiane

Cristiane

Responder

Posts

23/03/2021

Emerson Nascimento

não tem muito typecast aí não?

RoundTo(CdsTeste.FieldByName('TOTAL_VALORFINAL').AsFloat, -2)

o aggregate soma o campo valor_final. seu conteúdo está certo? é um campo físico ou também é um campo virtual?

Responder

25/03/2021

Cristiane

valor_final é um campo data tipo float no clientDataset e está sendo preenchido no momento de alterar e adicionar o item com o valor total do mesmo (quantidade * valor_unitário)
não entendo porque fica um item de fora aleatoriamente, pois não é sempre que isso acontece.

não tem muito typecast aí não?

RoundTo(CdsTeste.FieldByName('TOTAL_VALORFINAL').AsFloat, -2)

o aggregate soma o campo valor_final. seu conteúdo está certo? é um campo físico ou também é um campo virtual?

Responder

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar