Índice
Objetivo
O objetivo deste documento é explicar o funcionamento do campo do tipo Expressão no Gerador de Relatórios Delphi, a correta configuração e alguns cenários de erro.
Introdução
O componente do tipo Expressão é utilizado para criação de cálculos e transformações envolvendo valores numéricos e datas. Para inseri-lo no relatório utilize o menu de contexto da banda:
Após inserí-lo, será exibida a tela para criação da Expressão. O campos disponíveis para utilização são mostrados na lista à esquerda.
Solução de Problemas
Conforme dito anteriormente, o componente de expressão não aceita entradas do tipo texto. No exemplo abaixo, veremos o que acontece ao utilizar uma fórmula que retorne o tipo texto dentro de uma expressão.
Temos uma Fórmula que retorna o valor de um campo complementar em texto. Observe o tipo "S" definindo o retorno.
O resultado dela, valor 1000, continua sendo retornado mas com o tipo "String" (texto).
Agora vamos criar um relatório que utiliza essa fórmula e um campo de expressão que calcule um percentual sobre o valor retornado da fórmula.
O relatória a seguir utiliza como Contexto os dados da tabela PFUNC, mesmo contexto utilizado na fórmula. Temos os dados necessários para execução da fórmula, CHAPA e IDENTIFICADOR DA COLIGADA. O componente de fórmula referencia a fórmula mostrada anteriormente.
Acrescentamos um componente do tipo Expressão para fazer o cálculo do acréscimo de 10%:
Ao executar o relatório, teremos o seguinte retorno, apresentando "Erro" no lugar da expressão:
Esse erro aparece pois o tipo de dado retornado da fórmula e que foi passado para a expressão não é permitido. Para solucionar esse problema devemos analisar a fórmula utilizada. Cada fórmula tem seu tipo de retorno e no caso do exemplo conseguimos mudar esse tipo para numérico utilizando um parâmetro da função de fórmula utilizada.
Assim, o relatório é gerado corretamente.