unit urelRelacaoAcordo; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, RLReport, Data.DB, ZAbstractRODataset, ZDataset, RLFilters, RLPDFFilter; type TrelRelacaoAcordo = class(TForm) frrelRelacaoAcordo: TRLReport; dts1: TDataSource; zroqry1: TZReadOnlyQuery; dts2: TDataSource; zroqry2: TZReadOnlyQuery; RLGroup1: TRLGroup; RLBand2: TRLBand; RLDBText2: TRLDBText; dts3: TDataSource; zroqry3: TZReadOnlyQuery; zroqry1ID_ACORDO: TIntegerField; zroqry1TX_NOME: TWideStringField; RLSubDetail1: TRLSubDetail; RLSubDetail2: TRLSubDetail; RLBand1: TRLBand; RLDBText1: TRLDBText; RLBand3: TRLBand; RLDBText3: TRLDBText; RLBand4: TRLBand; RLMemo1: TRLMemo; frpnl_logo: TRLPanel; frdbimg_logo: TRLDBImage; RLBand5: TRLBand; RLLabel1: TRLLabel; RLLabel2: TRLLabel; zroqry2ID_ACORDO: TIntegerField; zroqry2ID_ORIGINAL: TIntegerField; zroqry2TX_PRODUTO: TWideStringField; zroqry2DT_VENCIMENTO: TDateTimeField; zroqry2VL_TITULO: TFloatField; zroqry2COUNT: TIntegerField; RLLabel3: TRLLabel; RLLabel4: TRLLabel; RLDBText4: TRLDBText; RLDBText5: TRLDBText; RLBand6: TRLBand; RLBand7: TRLBand; RLDBResult1: TRLDBResult; RLLabel5: TRLLabel; RLLabel6: TRLLabel; RLLabel7: TRLLabel; RLLabel8: TRLLabel; zroqry3ID_ACORDO: TIntegerField; zroqry3ID_PARCELA: TIntegerField; zroqry3TX_PRODUTO: TWideStringField; zroqry3DT_VENCIMENTO: TDateTimeField; zroqry3VL_TITULO: TFloatField; zroqry3COUNT: TIntegerField; RLBand8: TRLBand; RLDBResult2: TRLDBResult; RLDBText6: TRLDBText; RLDBText7: TRLDBText; dtsAcordo: TDataSource; zroqryAcordos: TZReadOnlyQuery; fr_filterpdf: TRLPDFFilter; RLBand9: TRLBand; RLSystemInfo1: TRLSystemInfo; procedure frrelRelacaoAcordoAfterPrint(Sender: TObject); procedure RLBand2BeforePrint(Sender: TObject; var PrintIt: Boolean); procedure FormCreate(Sender: TObject); private print_it: integer; procedure SalvarReciboPDF; { Private declarations } public rel_acordo: boolean; { Public declarations } end; var relRelacaoAcordo: TrelRelacaoAcordo; meses: array [1 .. 12] of string = ( 'JANEIRO', 'FEVEREIRO', 'MARCO', 'ABRIL', 'MAIO', 'JUNHO', 'JULHO', 'AGOSTO', 'SETEMBRO', 'OUTUBRO', 'NOVEMBRO', 'DEZEMBRO' ); implementation {$R *.dfm} uses udtmSystem; { TrelRelacaoAcordo } procedure TrelRelacaoAcordo.FormCreate(Sender: TObject); begin print_it := -1; end; procedure TrelRelacaoAcordo.frrelRelacaoAcordoAfterPrint(Sender: TObject); begin if rel_acordo = false then begin SalvarReciboPDF; end; end; procedure TrelRelacaoAcordo.RLBand2BeforePrint(Sender: TObject; var PrintIt: Boolean); begin if print_it <> dts1.DataSet.RecNo then begin PrintIt := true; print_it := dts1.DataSet.RecNo; end else begin PrintIt := false; end; end; procedure TrelRelacaoAcordo.SalvarReciboPDF; 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 CreateDir(path); end; path := path + '\PRESTACAO_CONTAS'; if not DirectoryExists(path) then begin CreateDir(path); end; path := path + '\' + dtmSystem.tblCHGEmpresaTX_NOME.AsString; if not DirectoryExists(path) then begin CreateDir(path); end; path := TrimRight(path); path := path + '\' + FormatDateTime('YYYY', Date); if not DirectoryExists(path) then begin CreateDir(path); end; path := path + '\' + FormatDateTime('mmmm', Date, Fmt); if not DirectoryExists(path) then begin CreateDir(path); end; path := path + '\' + FormatDateTime('dd', Date); if not DirectoryExists(path) then begin CreateDir(path); end; file_name := path + '\RELATORIO_PRESTACAO_CONTAS-RELACAO-ACORDOS-' + FormatDateTime('HH-mm', Time) + '.pdf'; fr_filterpdf.FileName := file_name; frrelRelacaoAcordo.SaveToFile(file_name); end; end.