Relatorio duplo!
Pessoal, estou c/ um problemao p/ imprimir.
Tenho um relatorio em QReport que enquanto ele está executando (nos beforeprint dos bands) ele acumula uns totais, atualiza saldo de arquivos, etc, etc...
Funciona perfeitamente no modo preview e tb. no print.
Mas agora eu precisei mudar a chamada dos meus relatórios no caso do usuario ter escolhido a opcao ´impressora´. Estou chamando assim:
Application.CreateForm(Tflfapuipi_rel,flfapuipi_rel);
flfapuipi_rel.relatorio.Prepare;
PrintDialog1.ToPage := flfapuipi_rel.relatorio.QRPrinter.PageCount;
if PrintDialog1.execute then begin
flfapuipi_rel.relatorio.PrinterSettings.PrinterIndex := Printer.PrinterIndex;
flfapuipi_rel.relatorio.PrinterSettings.FirstPage := PrintDialog1.FromPage;
flfapuipi_rel.relatorio.PrinterSettings.LastPage := PrintDialog1.ToPage;
flfapuipi_rel.relatorio.PrinterSettings.Copies := PrintDialog1.Copies;
flfapuipi_rel.relatorio.Print;
end;
flfapuipi_rel.release;
flfapuipi_rel := nil;
Isso tb. funciona perfeitamente. Agora meu problema é que no momento em que ele dá o .PREPARE, ele já calcula todas as variaveis, atualiza arquivo, etc, etc.... (tudo que esta programado durante a impressao do relatorio) e depois qdo ele dá o .PRINT ele refaz tudo isso! Entao todos os meus valores ficam duplicados pq. ele calcula tudo duas vezes...
Alguem sabe como posso resolver isso???
Grata,
Tenho um relatorio em QReport que enquanto ele está executando (nos beforeprint dos bands) ele acumula uns totais, atualiza saldo de arquivos, etc, etc...
Funciona perfeitamente no modo preview e tb. no print.
Mas agora eu precisei mudar a chamada dos meus relatórios no caso do usuario ter escolhido a opcao ´impressora´. Estou chamando assim:
Application.CreateForm(Tflfapuipi_rel,flfapuipi_rel);
flfapuipi_rel.relatorio.Prepare;
PrintDialog1.ToPage := flfapuipi_rel.relatorio.QRPrinter.PageCount;
if PrintDialog1.execute then begin
flfapuipi_rel.relatorio.PrinterSettings.PrinterIndex := Printer.PrinterIndex;
flfapuipi_rel.relatorio.PrinterSettings.FirstPage := PrintDialog1.FromPage;
flfapuipi_rel.relatorio.PrinterSettings.LastPage := PrintDialog1.ToPage;
flfapuipi_rel.relatorio.PrinterSettings.Copies := PrintDialog1.Copies;
flfapuipi_rel.relatorio.Print;
end;
flfapuipi_rel.release;
flfapuipi_rel := nil;
Isso tb. funciona perfeitamente. Agora meu problema é que no momento em que ele dá o .PREPARE, ele já calcula todas as variaveis, atualiza arquivo, etc, etc.... (tudo que esta programado durante a impressao do relatorio) e depois qdo ele dá o .PRINT ele refaz tudo isso! Entao todos os meus valores ficam duplicados pq. ele calcula tudo duas vezes...
Alguem sabe como posso resolver isso???
Grata,
Renata
Curtidas 0
Respostas
Fabio.hc
24/10/2003
Isto já aconteceu num relatório que fiz, para resolver eu tirei o .prepare , depois disso parei de usar o .prepare e uso somente o .preview em todos os relatórios.
GOSTEI 0
Renata
24/10/2003
nao posso tirar o .prepare pq. ele carrega informacoes que uso antes de imprimir o relatorio. Alguma outra ideia?
GOSTEI 0