campo aggregate clientdataset não soma corretamente
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
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
Curtidas 0
Respostas
Emerson Nascimento
23/03/2021
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?
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?
GOSTEI 0
Cristiane
23/03/2021
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 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?
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?
GOSTEI 0