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
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.
|