Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Impresión (https://www.clubdelphi.com/foros/forumdisplay.php?f=4)
-   -   Anidar, agrupar, juntar etc Varios reportes en uno ReportBuilder (https://www.clubdelphi.com/foros/showthread.php?t=77772)

chartres 24-02-2012 21:52:15

Anidar, agrupar, juntar etc Varios reportes en uno ReportBuilder
 
Hola

Uso Reportbuilder 11

Alguien sabe como Agrupar/juntar o unir varios reportes generados independientemente , en uno solo.
No me refiero ala opcion Menu/Reports/Grupos.. osea no internamente.

Los reportes se generan atraves de un query en una misma pantalla,se genera uno por cada consulta o filtro. y quiero que los reportes que se generen en cada consulta se muestren en uno solo, al final.

gracias

chartres 20-03-2012 23:39:26

Hola,
Como nadie dio respuesta y como siempre me pasa, termino resolviendolo yo solo.
aqui les va la solucion por si alguien la requiere.

Para juntasr 2 o mas reposrtes (generados independientemente) en uno solo, se hace lo siguiente: Reportbuilder 11

declaras estas variables y componentes.

I: Integer;
SubList, RptList: TList;
MasterRpt: TppReport;
SR: TppSubReport;


function TForrmReportes.Reportes(): TppReport;
begin
SubList := TList.Create;
RptList := TList.Create;

RptList.Add(Reporte1); // donde reporte 1 y 2 equivale a cada reporte generado previamente(componente TppReport)
RptList.Add(Report2);

MasterRpt := TppReport.Create(Self);
MasterRpt.CreateDefaultBands;
MasterRpt.RemoveBand(MasterRpt.HeaderBand);
MasterRpt.RemoveBand(MasterRpt.FooterBand);

for I := 0 to RptList.Count - 1 do begin
SR := TppSubReport.Create(Self);
SR.SetReportProperty(TppReport(RptList[i]));
SR.Band := MasterRpt.DetailBand;
SR.PrintBehavior:= pbSection;
SR.Report.PassSetting := psTwoPass;
SR.ResetPageNo := True;
SubList.Add(SR);

end;


with MasterRpt do
begin
AllowPrintToFile := True;
ShowPrintDialog := False;
PDFSettings.Author := 'ReportBuilder';
PDFSettings.Title := 'Export to PDF Demo';
TextFileName := 'C:\MyPDFFile.pdf';
end;
MasterRpt.Print;


end;





Nota: Algunas lineas quiza no son necesarias, pueden ir quitando y probando
Tambien, si te marca algun error quiza sera necesario agregar algunas unidades manualmente en el Uses de tu unidad como por ejemplo (ppTypes, ppSubRpt, ppReport ..etc) en caso de que no esten.


espero a alguien le sirva.

Casimiro Notevi 21-03-2012 00:12:30

Recuerda usar 'tags' cuando pongas código, ejemplo:




.


La franja horaria es GMT +2. Ahora son las 09:46:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi