Delphi / FastReport - SUM no MasterData

SQL

Delphi

FastReport

03/09/2020

Boa tarde!

Gostaria de saber se consigo utilizar o SUM em um memo do MasterData, pois fiz da seguinte forma:

No memo:
[SUM(<frxDtStBanco."valor50"> + <frxDtStBanco."totalbruto"> - <frxDtStBanco."valor117">)]

No OnBeforePrint (criando a variável e fazendo receber 0.00):
nLiq := SUM(<frxDtStBanco."valor50"> + <frxDtStBanco."totalbruto"> - <frxDtStBanco."valor117">);

Porém quando emito o relatório, me apresenta a mensagem could not convert variant of type (null) into type (double). Gostaria de saber se saberiam como proceder na situação.

Agradeço desde ja!
Nomad

Nomad

Curtidas 0

Respostas

Nomad

Nomad

03/09/2020

UP
GOSTEI 0
Nomad

Nomad

03/09/2020

UP
GOSTEI 0
Nomad

Nomad

03/09/2020

UP
GOSTEI 0
Jair N.

Jair N.

03/09/2020

Bom Dia, olha só: 1º por quê SUM() no MasterData? Pelo que posso ver poderia fazer isto direto sem a necessidade do comando. 2º O teu problema é algum valor de retorno "nulo", não vi a sua consulta principal, porém use sempre para corrigir os valores com o comando "COALESCE(<campo se nulo>, 0.00) AS <campo>" , e se possível, converta todos os tipo para "flutuante". 3º SUM() de novo na opção OnBeforePrint do MasterData, para uma variável "nLiq", onde será utilizada? lembra por que converter para tipo flutuante! É para o tipo variável não converter para "inteiro".
Solução renomeie com comentários ou remova cada comando e teste o relatório até aparecer onde realmente está ocorrendo o erro, em qual situação.
GOSTEI 0
Celso Lenon

Celso Lenon

03/09/2020

Boa tarde!

Gostaria de saber se consigo utilizar o SUM em um memo do MasterData, pois fiz da seguinte forma:

No memo:
[SUM(<frxDtStBanco."valor50"> + <frxDtStBanco."totalbruto"> - <frxDtStBanco."valor117">)]

No OnBeforePrint (criando a variável e fazendo receber 0.00):
nLiq := SUM(<frxDtStBanco."valor50"> + <frxDtStBanco."totalbruto"> - <frxDtStBanco."valor117">);

Porém quando emito o relatório, me apresenta a mensagem could not convert variant of type (null) into type (double). Gostaria de saber se saberiam como proceder na situação.

Agradeço desde ja!


Uma sugestão é fazer o calculo na aplicação e passar para o FestReport Como Variável.
GOSTEI 0
Celso Lenon

Celso Lenon

03/09/2020

Boa tarde!

Gostaria de saber se consigo utilizar o SUM em um memo do MasterData, pois fiz da seguinte forma:

No memo:
[SUM(<frxDtStBanco."valor50"> + <frxDtStBanco."totalbruto"> - <frxDtStBanco."valor117">)]

No OnBeforePrint (criando a variável e fazendo receber 0.00):
nLiq := SUM(<frxDtStBanco."valor50"> + <frxDtStBanco."totalbruto"> - <frxDtStBanco."valor117">);

Porém quando emito o relatório, me apresenta a mensagem could not convert variant of type (null) into type (double). Gostaria de saber se saberiam como proceder na situação.

Agradeço desde ja!


Uma sugestão é fazer o calculo na aplicação e passar para o FestReport Como Variável.
GOSTEI 0
Nomad

Nomad

03/09/2020

Jair e Celso, agradeço a atenção de ambos. Fiz da forma como citaram, adaptando ao necessário e deu certo. Muito obrigado!!

\\m/
GOSTEI 0
POSTAR