Ver Mensaje Individual
  #3  
Antiguo 17-08-2023
Avatar de pgranados
pgranados pgranados is offline
Miembro
 
Registrado: sep 2022
Ubicación: México
Posts: 264
Reputación: 2
pgranados Va por buen camino
Hola. ¿puedes compartirnos que versión de FastReport tienes? Pasa que la versión gratuita por ejemplo no tiene la sección de código y eventos, por lo que la sugerencia de Casimiro no te funcionaria.

Ahora, también puedes hacerlo mediante código desde Delphi, por ejemplo: yo imprimo recibos de nomina (México) y existen dos tipos de nomina: ordinaria y extraordinaria, por lo que requiero ocultar las bandas del tipo de nomina que no estén. Entonces yo lo hago de esta forma:

Código Delphi [-]
var 
Report: TfrxReport;
RutaPDF, RutaModelo: string; // archivo FR3
pdfExport: TfrxPDFExport;
masterdata: TFrxMasterData;

Report := TfrxReport.Create(nil);
try
  Report.LoadFromFile(RutaModelo);
  // nomina ordinaria
  if (DModuloEmpresa.FDQueryNPR.IsEmpty) and (DModuloEmpresa.FDQueryNDR.IsEmpty) and (DModuloEmpresa.FDQueryNOPR.IsEmpty) then
  begin
    masterdata:= Report.FindObject('o') as TfrxMasterData;
    Masterdata.Visible:= false;
  end;
  // extraordinaria
  if (DModuloEmpresa.FDQueryNPR_E.IsEmpty) and (DModuloEmpresa.FDQueryNDR_E.IsEmpty) and (DModuloEmpresa.FDQueryNOPR_E.IsEmpty) then
  begin
    masterdata:= Report.FindObject('e') as TfrxMasterData;
    Masterdata.Visible:= false;
  end;

   // Preparo el Reporte
   Report.PrepareReport();


   // Crear un objeto de exportación a PDF
    PDFExport := TfrxPDFExport.Create(nil);
    try
      // Configurar las opciones de exportación
      Report.ShowProgress:= false;
      Report.PrintOptions.ShowDialog:= false;
      PDFExport.FileName := RutaPDF;
      PDFExport.ShowProgress:= False;
      PDFExport.ShowDialog := False;
      PDFExport.OverwritePrompt := False;
      // Exportar el informe a PDF
      Report.Export(PDFExport);
    finally
      FreeAndNil(PDFExport);
    end;
   // RutaPDF es la ruta del archivo PDF que voy a crear, este dato yo se lo paso porque en mi codigo,la generación
   // del PDF es una función.
    Result:= FileExists(RutaPDF);


finally
  FreeAndNil(Report);
end;

Saludos.

Última edición por Casimiro Notevi fecha: 18-08-2023 a las 09:46:41.
Responder Con Cita