Fórum Relatorio duplo! #190693
24/10/2003
0
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
Curtir tópico
+ 0
Responder
Posts
25/10/2003
Fabio.hc
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.
Responder
Gostei + 0
27/10/2003
Renata
nao posso tirar o .prepare pq. ele carrega informacoes que uso antes de imprimir o relatorio. Alguma outra ideia?
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)