You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

166 lines
3.9 KiB

unit urelDuplicados;
interface
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, RLReport, Data.DB, RLFilters,
RLPDFFilter;
type
TrelDuplicados = class(TForm)
frDuplicados: TRLReport;
frbnd_header: TRLBand;
frpnl_logo: TRLPanel;
frdbimg_logo: TRLDBImage;
frlbl_titulorel: TRLLabel;
frfilterpdf: TRLPDFFilter;
dtsRel: TDataSource;
frbndg_dados: TRLGroup;
frbnd_dados: TRLBand;
frdblbl_valor: TRLDBText;
frdblbl_codigo: TRLDBText;
frbnd_headergrupo: TRLBand;
frdblbl_nome: TRLDBText;
frdblbl_cpf: TRLDBText;
frbnd_headerdetail: TRLBand;
frlbl_nometitulo: TRLLabel;
frlbl_valor: TRLLabel;
frlbl_dtvencimento: TRLLabel;
frdblbl_dtvencimento: TRLDBText;
RLLabel1: TRLLabel;
frdblbl_tpacao: TRLDBText;
frbnd_footerrel: TRLBand;
RLSystemInfo2: TRLSystemInfo;
RLSystemInfo1: TRLSystemInfo;
dtsEmpresa: TDataSource;
frlbl_empresanome: TRLLabel;
procedure frDuplicadosBeforePrint(Sender: TObject; var PrintIt: Boolean);
procedure frDuplicadosAfterPrint(Sender: TObject);
procedure frdblbl_cpfBeforePrint(Sender: TObject; var Text: string;
var PrintIt: Boolean);
private
procedure SalvarRelPDF;
{ Private declarations }
public
{ Public declarations }
end;
var
relDuplicados: TrelDuplicados;
meses: array [1 .. 12] of string = (
'JANEIRO',
'FEVEREIRO',
'MARCO',
'ABRIL',
'MAIO',
'JUNHO',
'JULHO',
'AGOSTO',
'SETEMBRO',
'OUTUBRO',
'NOVEMBRO',
'DEZEMBRO'
);
implementation
{$R *.dfm}
uses udtmSystem;
procedure TrelDuplicados.frdblbl_cpfBeforePrint(Sender: TObject;
var Text: string; var PrintIt: Boolean);
begin
if dtsRel.DataSet.FieldByName('CD_CPF').AsString = '' then
begin
frdblbl_cpf.DataField := 'CD_CNPJ';
end
else
begin
frdblbl_cpf.DataField := 'CD_CPF';
end;
end;
procedure TrelDuplicados.frDuplicadosAfterPrint(Sender: TObject);
begin
SalvarRelPDF;
end;
procedure TrelDuplicados.frDuplicadosBeforePrint(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;
frlbl_empresanome.Caption :=
UpperCase(dtmSystem.tblCHGEmpresaTX_NOME.AsString);
end;
procedure TrelDuplicados.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
CreateDir(path);
end;
path := path + '\DUPLICADOS';
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_DULICADOS-' + FormatDateTime('HH-mm',
Time) + '.pdf';
frfilterpdf.FileName := file_name;
frDuplicados.SaveToFile(file_name);
end;
end.