Possível bug no ReportBuilder 10.02 Enterprise com Delphi 7
Na geração de relatórios usando o componente ReportBuilder 10.02 Enterprise Edition com o Delphi 7, está acontecendo um fato estranho:
Em um dos relatórios, há um cálculo realizado na banda Summary. Este cálculo é feito no evento BeforePrint da mesma banda. Pois bem, o que ocorre é que este cálculo, quando mostrado em tela, aparece com seu valor correto. Porém quando impresso aparece com o valor duplicado (exatamente o dobro).
Em diversos testes realizados, foi constatado que o evento BeforePrint da banda Summary é chamado no momento em que o relatório é gerado na tela e *TAMBÉM* no momento que antecede a impressão em papel.
Este funcionalismo é inaceitável pois produz resultados não-confiáveis. E é apenas lógico se utilizar da banda Summary (ou Detail ou alguma outra banda de algum SubReport) para se realizar cálculos.
Gostaria de saber dos prezados desenvolvedores se alguém já se deparou com semelhante ´erro´ usando o ReportBuilder, e, se sim, qual a medida tomada (sem ser mudança de componente).
Grato.
Em um dos relatórios, há um cálculo realizado na banda Summary. Este cálculo é feito no evento BeforePrint da mesma banda. Pois bem, o que ocorre é que este cálculo, quando mostrado em tela, aparece com seu valor correto. Porém quando impresso aparece com o valor duplicado (exatamente o dobro).
Em diversos testes realizados, foi constatado que o evento BeforePrint da banda Summary é chamado no momento em que o relatório é gerado na tela e *TAMBÉM* no momento que antecede a impressão em papel.
Este funcionalismo é inaceitável pois produz resultados não-confiáveis. E é apenas lógico se utilizar da banda Summary (ou Detail ou alguma outra banda de algum SubReport) para se realizar cálculos.
Gostaria de saber dos prezados desenvolvedores se alguém já se deparou com semelhante ´erro´ usando o ReportBuilder, e, se sim, qual a medida tomada (sem ser mudança de componente).
Grato.
Bernardolopes
Curtidas 0
Respostas
Uildenei
12/03/2008
de mais detalhes como: usa o sistema de somatoria antecipada(LookAhead), quebra de valor (timing), numero de passagens do relatorio, etc.. ajuda muito a gente na hora de responder.
GOSTEI 0
Bernardolopes
12/03/2008
Basta ler meu post inicial, o que eu expliquei é o que eu uso. Nada mais além disso. Não estava usando TppVariable. Estava apenas me fiando pelo BeforePrint da banda.
De qualquer forma, postei esta mesma questão no mailing list oficial do report builder e a resposta foi que o evento BeforePrint não é confiável para cálculos, pois o mesmo é executado diversas vezes por variadas razões.
Conclusão: é inevitável o uso do componente TppVariable. Então, acabei por usar este componente e configurei suas propriedades (LookAhead, Timing..., Value, etc) de acordo. Agora sim funciona.
Não usei TppVariable antes porque estava adaptando o relatório de um outro relatório anterior feito com o Fortes e não queria alterar a mecânica do mesmo. E neste relatório anterior o cálculo era executado no BeforePrint da banda sem problemas. Porém no ReportBuilder é diferente.
Obrigado de qualquer forma pela resposta.
Abraços.
De qualquer forma, postei esta mesma questão no mailing list oficial do report builder e a resposta foi que o evento BeforePrint não é confiável para cálculos, pois o mesmo é executado diversas vezes por variadas razões.
Conclusão: é inevitável o uso do componente TppVariable. Então, acabei por usar este componente e configurei suas propriedades (LookAhead, Timing..., Value, etc) de acordo. Agora sim funciona.
Não usei TppVariable antes porque estava adaptando o relatório de um outro relatório anterior feito com o Fortes e não queria alterar a mecânica do mesmo. E neste relatório anterior o cálculo era executado no BeforePrint da banda sem problemas. Porém no ReportBuilder é diferente.
Obrigado de qualquer forma pela resposta.
Abraços.
GOSTEI 0
Uildenei
12/03/2008
Bom,
é por isso que perguntei, por que eu utilizo o RB ha muito tempo .. e nao tinha me deparado com problemas dessa natureza .. e tambem os relatorios que eu utilizo tem calculos de variadas formas.
os meios de efetuar os calculos variam muito tambem portanto, a titulo de conselho, é mais pratico e coerente utilizar TppVariable ou DBCalc pra efetuar calculos e controlar no objeto o zeramento/reinicio e o tempo de calculo.
é por isso que perguntei, por que eu utilizo o RB ha muito tempo .. e nao tinha me deparado com problemas dessa natureza .. e tambem os relatorios que eu utilizo tem calculos de variadas formas.
os meios de efetuar os calculos variam muito tambem portanto, a titulo de conselho, é mais pratico e coerente utilizar TppVariable ou DBCalc pra efetuar calculos e controlar no objeto o zeramento/reinicio e o tempo de calculo.
GOSTEI 0
Neodir
12/03/2008
Estou com problemas com o Report Builder 10.02 no windows 98 alguém já se deparou com este mesmo problema nesta versão do RB?
Anteriormente trabalhava com a versão 9.01 e estava tudo ok qdo migrei para versão do RB 10.02 ´bingo´ ´Erro´... e apresenta uma mensagem de sistema corrompido.
Grato.
Anteriormente trabalhava com a versão 9.01 e estava tudo ok qdo migrei para versão do RB 10.02 ´bingo´ ´Erro´... e apresenta uma mensagem de sistema corrompido.
Grato.
GOSTEI 0