unit urelRecibosEmitidos; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, RLReport, RLFilters, RLPDFFilter, Data.DB, ZAbstractRODataset, ZAbstractDataset, ZDataset; type TrelRecibosEmitidos = class(TForm) fr_recibosemitidos: TRLReport; dtsqryReport: TDataSource; qryReport: TZQuery; fr_filterpdf: TRLPDFFilter; frbnd_header: TRLBand; frpnl_logo: TRLPanel; frdbimg_logo: TRLDBImage; frlbl_titulorel: TRLLabel; frbnd_columnheader: TRLBand; frbnd_details: TRLBand; qryReportNR_RECIBO: TWideStringField; qryReportTX_NOME: TWideStringField; qryReportTX_CPF: TWideStringField; qryReportDT_IMPRESSAO: TDateTimeField; frlbl_nrrecibo: TRLLabel; frlbl_nomerecibo: TRLLabel; frlbl_cpf: TRLLabel; frlbl_vltotal: TRLLabel; frlbl_dtimpressao: TRLLabel; frdblbl_nrrecibo: TRLDBText; frdblbl_nomerecibo: TRLDBText; frdblbl_cpf: TRLDBText; frdblbl_vltotal: TRLDBText; frdblbl_dtimpressao: TRLDBText; RLBand1: TRLBand; frdbresult_sumvalor: TRLDBResult; frbnd_footerrel: TRLBand; RLSystemInfo2: TRLSystemInfo; RLSystemInfo1: TRLSystemInfo; frlbl_datas: TRLLabel; dtsEmpresa: TDataSource; qryReportID_USUARIO: TIntegerField; qryReportTX_CAIXA: TStringField; RLLabel1: TRLLabel; RLDBText1: TRLDBText; qryReportVL_CORRIGIDO: TFloatField; frlbl_total: TRLLabel; qryReportTP_CANCELADO: TWideStringField; RLLabel2: TRLLabel; RLDBText2: TRLDBText; qryReportTX_CNPJ: TWideStringField; qryReportTX_DOCUMENTO: TWideStringField; procedure fr_recibosemitidosAfterPrint(Sender: TObject); procedure fr_recibosemitidosBeforePrint(Sender: TObject; var PrintIt: Boolean); private procedure SalvarRelPDF; { Private declarations } public { Public declarations } end; var relRecibosEmitidos: TrelRecibosEmitidos; meses: array [1 .. 12] of string = ( 'JANEIRO', 'FEVEREIRO', 'MARCO', 'ABRIL', 'MAIO', 'JUNHO', 'JULHO', 'AGOSTO', 'SETEMBRO', 'OUTUBRO', 'NOVEMBRO', 'DEZEMBRO' ); implementation {$R *.dfm} uses udtmSystem; procedure TrelRecibosEmitidos.fr_recibosemitidosAfterPrint(Sender: TObject); begin SalvarRelPDF; end; procedure TrelRecibosEmitidos.fr_recibosemitidosBeforePrint(Sender: TObject; var PrintIt: Boolean); begin if not dtsEmpresa.DataSet.Active then begin dtsEmpresa.DataSet.Open; end; if frdbimg_logo.Picture.Height > frdbimg_logo.Picture.Width then begin frdbimg_logo.Height := 170; frdbimg_logo.Width := 133; end; if frdbimg_logo.Picture.Height < frdbimg_logo.Picture.Width then begin frdbimg_logo.Height := 133; frdbimg_logo.Width := 170; end; if frdbimg_logo.Picture.Height = frdbimg_logo.Picture.Width then begin frdbimg_logo.Height := 133; frdbimg_logo.Width := 133; end; end; procedure TrelRecibosEmitidos.SalvarRelPDF; var path, file_name: string; Fmt: TFormatSettings; i: Integer; begin Fmt := TFormatSettings.Create; for i := 0 to High(meses) do begin Fmt.LongMonthNames[i] := meses[i]; end; // path := ExtractFilePath(Application.ExeName) + 'RELATORIOS'; path := dtmSystem.path_executavel + '\RELATORIOS'; if not DirectoryExists(path) then begin ForceDirectories(path); end; path := path + '\RECIBOS_EMITIDOS'; if not DirectoryExists(path) then begin ForceDirectories(path); end; if not DirectoryExists(path) then begin ForceDirectories(path); end; path := path + '\' + FormatDateTime('mmmm', Date, Fmt); if not DirectoryExists(path) then begin ForceDirectories(path); end; path := path + '\' + FormatDateTime('dd', Date); if not DirectoryExists(path) then begin ForceDirectories(path); end; file_name := path + '\RECIBOS_EMITIDOS-' + FormatDateTime('HH-mm', Time) + '.pdf'; fr_filterpdf.FileName := file_name; fr_recibosemitidos.SaveToFile(file_name); end; end.