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.
1962 lines
69 KiB
1962 lines
69 KiB
unit uimpDevedores;
|
|
|
|
interface
|
|
|
|
uses
|
|
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,
|
|
System.Classes, Vcl.Graphics, System.win.ComObj, System.StrUtils,
|
|
System.MaskUtils, DB, System.UITypes,
|
|
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, umstMaster, Vcl.ComCtrls, Vcl.Menus,
|
|
uImportExcel, Vcl.Grids, Vcl.StdCtrls, Vcl.DBCtrls, ZAbstractRODataset,
|
|
ZAbstractDataset, ZDataset;
|
|
|
|
type
|
|
TimpDevedores = class(TmstMaster)
|
|
odExcel: TOpenDialog;
|
|
MainMenu1: TMainMenu;
|
|
sg_import: TStringGrid;
|
|
pb_import: TProgressBar;
|
|
gb_importconfig: TGroupBox;
|
|
pc_import: TPageControl;
|
|
tabDevedores: TTabSheet;
|
|
tabTitulos: TTabSheet;
|
|
cbx_razao: TComboBox;
|
|
cb_fantasia: TCheckBox;
|
|
cbx_fantasia: TComboBox;
|
|
cb_email: TCheckBox;
|
|
cbx_email: TComboBox;
|
|
cbx_cpfcnpj: TComboBox;
|
|
cbx_endereco: TComboBox;
|
|
cb_endereco: TCheckBox;
|
|
cbx_numero: TComboBox;
|
|
cb_numero: TCheckBox;
|
|
cbx_complemento: TComboBox;
|
|
cb_complemento: TCheckBox;
|
|
cbx_cep: TComboBox;
|
|
cb_cep: TCheckBox;
|
|
cbx_cidade: TComboBox;
|
|
cb_cidade: TCheckBox;
|
|
cb_bairro: TCheckBox;
|
|
cbx_bairro: TComboBox;
|
|
cbx_uf: TComboBox;
|
|
cb_uf: TCheckBox;
|
|
Importar1: TMenuItem;
|
|
lbl_primeiralinha: TLabel;
|
|
cbx_primeiralinha: TComboBox;
|
|
cbx_telefone: TComboBox;
|
|
lbl_nomerazao: TLabel;
|
|
lbl_cpfcnpj: TLabel;
|
|
lbl_telefone: TLabel;
|
|
cbx_produto: TComboBox;
|
|
lbl_produto: TLabel;
|
|
cbx_valor: TComboBox;
|
|
lbl_valor: TLabel;
|
|
cbx_coddevt: TComboBox;
|
|
cb_coddevt: TCheckBox;
|
|
cbx_cpfcnpjt: TComboBox;
|
|
Label1: TLabel;
|
|
cbx_vencimento: TComboBox;
|
|
lbl_vencimento: TLabel;
|
|
lbl_relcoldados: TLabel;
|
|
Label2: TLabel;
|
|
dblucb_empresas: TDBLookupComboBox;
|
|
lbl_empresas: TLabel;
|
|
cb_pai: TCheckBox;
|
|
cbx_pai: TComboBox;
|
|
cb_mae: TCheckBox;
|
|
cbx_mae: TComboBox;
|
|
cbx_rg: TComboBox;
|
|
cb_rg: TCheckBox;
|
|
mnuConfigs: TMenuItem;
|
|
Layouts1: TMenuItem;
|
|
cb_dtnasc: TCheckBox;
|
|
cbx_dtnasc: TComboBox;
|
|
cb_tel2: TCheckBox;
|
|
cbx_tel2: TComboBox;
|
|
cb_tel3: TCheckBox;
|
|
cbx_tel3: TComboBox;
|
|
imp_Layout: TMenuItem;
|
|
N1: TMenuItem;
|
|
cb_cheque: TCheckBox;
|
|
lbl_banco: TLabel;
|
|
cbx_banco: TComboBox;
|
|
lbl_nrcheque: TLabel;
|
|
cbx_nrcheque: TComboBox;
|
|
lbl_motivo: TLabel;
|
|
cbx_motivo: TComboBox;
|
|
zqryDuplicados: TZQuery;
|
|
cbx_ddd1: TComboBox;
|
|
cbx_ddd2: TComboBox;
|
|
cbx_ddd3: TComboBox;
|
|
lbl_ddd1: TLabel;
|
|
lbl_ddd2: TLabel;
|
|
lbl_ddd3: TLabel;
|
|
procedure cb_fantasiaClick(Sender: TObject);
|
|
procedure cb_emailClick(Sender: TObject);
|
|
procedure cb_enderecoClick(Sender: TObject);
|
|
procedure cb_numeroClick(Sender: TObject);
|
|
procedure cb_complementoClick(Sender: TObject);
|
|
procedure cb_cidadeClick(Sender: TObject);
|
|
procedure cb_bairroClick(Sender: TObject);
|
|
procedure cb_ufClick(Sender: TObject);
|
|
procedure cb_cepClick(Sender: TObject);
|
|
procedure cb_coddevtClick(Sender: TObject);
|
|
procedure Layouts1Click(Sender: TObject);
|
|
procedure FormCreate(Sender: TObject);
|
|
procedure cb_paiClick(Sender: TObject);
|
|
procedure cb_maeClick(Sender: TObject);
|
|
procedure cb_dtnascClick(Sender: TObject);
|
|
procedure cb_tel2Click(Sender: TObject);
|
|
procedure cb_tel3Click(Sender: TObject);
|
|
procedure imp_LayoutClick(Sender: TObject);
|
|
procedure cb_chequeClick(Sender: TObject);
|
|
private
|
|
function OStripAccents(const aStr: String): String;
|
|
procedure Carregar;
|
|
procedure ImportarLayout;
|
|
procedure PovoaCB(tbSheet: TTabSheet);
|
|
function CmtoPix(cm: double): integer;
|
|
procedure WMMoving(var Msg: TWMMoving); message WM_MOVING;
|
|
{ Private declarations }
|
|
public
|
|
itemList: TStringList;
|
|
id_emp: integer;
|
|
// id_prov: integer;
|
|
{ Public declarations }
|
|
end;
|
|
|
|
var
|
|
impDevedores: TimpDevedores;
|
|
|
|
implementation
|
|
|
|
{$R *.dfm}
|
|
|
|
uses udtmSystem, uconfLayouts, ufrmEscolheLayout, urelBordero, urelDuplicados,
|
|
ucadDevedores;
|
|
|
|
procedure TimpDevedores.cb_bairroClick(Sender: TObject);
|
|
begin
|
|
cbx_bairro.Enabled := cb_bairro.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_cepClick(Sender: TObject);
|
|
begin
|
|
cbx_cep.Enabled := cb_cep.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_chequeClick(Sender: TObject);
|
|
begin
|
|
cbx_banco.Enabled := cb_cheque.Checked;
|
|
cbx_nrcheque.Enabled := cb_cheque.Checked;
|
|
cbx_motivo.Enabled := cb_cheque.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_cidadeClick(Sender: TObject);
|
|
begin
|
|
cbx_cidade.Enabled := cb_cidade.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_emailClick(Sender: TObject);
|
|
begin
|
|
cbx_email.Enabled := cb_email.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_coddevtClick(Sender: TObject);
|
|
begin
|
|
cbx_coddevt.Enabled := cb_coddevt.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_complementoClick(Sender: TObject);
|
|
begin
|
|
cbx_complemento.Enabled := cb_complemento.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_dtnascClick(Sender: TObject);
|
|
begin
|
|
cbx_dtnasc.Enabled := cb_dtnasc.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_enderecoClick(Sender: TObject);
|
|
begin
|
|
cbx_endereco.Enabled := cb_endereco.Checked;
|
|
cb_numero.Enabled := cb_endereco.Checked;
|
|
cb_complemento.Enabled := cb_endereco.Checked;
|
|
cb_cidade.Enabled := cb_endereco.Checked;
|
|
cb_bairro.Enabled := cb_endereco.Checked;
|
|
cb_uf.Enabled := cb_endereco.Checked;
|
|
cb_cep.Enabled := cb_endereco.Checked;
|
|
if cb_endereco.Checked then
|
|
begin
|
|
cbx_numero.Enabled := cb_numero.Checked;
|
|
cbx_complemento.Enabled := cb_complemento.Checked;
|
|
cbx_cidade.Enabled := cb_cidade.Checked;
|
|
cbx_bairro.Enabled := cb_bairro.Checked;
|
|
cbx_uf.Enabled := cb_uf.Checked;
|
|
cbx_cep.Enabled := cb_cep.Checked;
|
|
end
|
|
else
|
|
begin
|
|
cbx_numero.Enabled := false;
|
|
cbx_complemento.Enabled := false;
|
|
cbx_cidade.Enabled := false;
|
|
cbx_bairro.Enabled := false;
|
|
cbx_uf.Enabled := false;
|
|
cbx_cep.Enabled := false;
|
|
end;
|
|
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_fantasiaClick(Sender: TObject);
|
|
begin
|
|
cbx_fantasia.Enabled := cb_fantasia.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_maeClick(Sender: TObject);
|
|
begin
|
|
cbx_mae.Enabled := cb_mae.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_numeroClick(Sender: TObject);
|
|
begin
|
|
cbx_numero.Enabled := cb_numero.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_paiClick(Sender: TObject);
|
|
begin
|
|
cbx_pai.Enabled := cb_pai.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_tel2Click(Sender: TObject);
|
|
begin
|
|
cbx_tel2.Enabled := cb_tel2.Checked;
|
|
cbx_ddd2.Enabled := cb_tel2.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_tel3Click(Sender: TObject);
|
|
begin
|
|
cbx_tel3.Enabled := cb_tel3.Checked;
|
|
cbx_ddd3.Enabled := cb_tel3.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.cb_ufClick(Sender: TObject);
|
|
begin
|
|
cbx_uf.Enabled := cb_uf.Checked;
|
|
end;
|
|
|
|
procedure TimpDevedores.Carregar;
|
|
var
|
|
OpenOffice, OpenDesktop, OOCalc, OOExec, Planilha, LoadParams, Param,
|
|
OORCCount: Variant;
|
|
RCount, CCount, TotCell, Counter, ColWidth, RowHeight, PColwidth,
|
|
PRowHeight: integer;
|
|
// linhaList: TStringList;
|
|
pathFile: string;
|
|
i, j, k, l: integer;
|
|
|
|
begin
|
|
|
|
if odExcel.Execute then
|
|
begin
|
|
pathFile := StringReplace(odExcel.FileName, '\', '/', [rfReplaceAll]);
|
|
pathFile := 'file:///' + pathFile;
|
|
Screen.Cursor := crHourGlass;
|
|
if VarIsEmpty(OpenOffice) then
|
|
begin
|
|
OpenOffice := CreateOleObject('com.sun.star.ServiceManager');
|
|
end;
|
|
OpenDesktop := OpenOffice.CreateInstance('com.sun.star.frame.Desktop');
|
|
|
|
LoadParams := VarArrayCreate([0, 0], varVariant);
|
|
Param := OpenOffice.Bridge_GetStruct('com.sun.star.beans.PropertyValue');
|
|
Param.Name := 'Hidden';
|
|
Param.Value := true;
|
|
LoadParams[0] := Param;
|
|
|
|
OOExec := OpenDesktop.LoadComponentFromURL(pathFile, '_blank', 0,
|
|
LoadParams);
|
|
OOCalc := OOExec.Sheets;
|
|
Planilha := OOCalc.getbyIndex(0);
|
|
|
|
OORCCount := Planilha.createCursor;
|
|
OORCCount.gotoEndOfUsedArea(false);
|
|
RCount := OORCCount.RangeAddress.EndRow;
|
|
CCount := OORCCount.RangeAddress.EndColumn;
|
|
Inc(RCount, 1);
|
|
Inc(CCount, 1);
|
|
TotCell := RCount * CCount;
|
|
pb_import.Max := TotCell;
|
|
Counter := 0;
|
|
|
|
itemList := TStringList.Create;
|
|
with itemList do
|
|
begin
|
|
for k := 0 to CCount - 1 do
|
|
begin
|
|
Add(inttostr(k + 1));
|
|
end;
|
|
end;
|
|
|
|
for l := 0 to sg_import.ColCount - 1 do
|
|
begin
|
|
sg_import.Cols[l].Clear;
|
|
end;
|
|
|
|
sg_import.RowCount := RCount + 1;
|
|
sg_import.ColCount := CCount;
|
|
|
|
RowHeight := 0;
|
|
|
|
for j := 0 to RCount do
|
|
begin
|
|
ColWidth := 0;
|
|
for i := 0 to CCount - 1 do
|
|
begin
|
|
if j = 0 then
|
|
begin
|
|
sg_import.Cells[i, j] := inttostr(i + 1);
|
|
end
|
|
else
|
|
begin
|
|
PColwidth := CmtoPix(Planilha.getCellByPosition(i, j - 1)
|
|
.getColumns.getbyIndex(0).Width);
|
|
if ColWidth < PColwidth then
|
|
begin
|
|
ColWidth := PColwidth;
|
|
end;
|
|
PRowHeight := CmtoPix(Planilha.getCellByPosition(i, j - 1)
|
|
.getRows.Height);
|
|
if RowHeight < PRowHeight then
|
|
begin
|
|
RowHeight := PRowHeight;
|
|
end;
|
|
sg_import.ColWidths[i] := ColWidth;
|
|
sg_import.RowHeights[j] := RowHeight;
|
|
// if (j > 1) then
|
|
// begin
|
|
// showmessage(inttostr(i));
|
|
// showmessage(inttostr(Planilha.getCellByPosition(i, j - 1)
|
|
// .NumberFormat));
|
|
// end;
|
|
if ((Planilha.getCellByPosition(i, j - 1).NumberFormat = 36) or
|
|
(Planilha.getCellByPosition(i, j - 1).NumberFormat = 37) or
|
|
(Planilha.getCellByPosition(i, j - 1).NumberFormat = 8110) or
|
|
(Planilha.getCellByPosition(i, j - 1).NumberFormat = 8109)) and
|
|
(Planilha.getCellByPosition(i, j - 1).getFormula <> '') and
|
|
(StrToIntDef(copy(Planilha.getCellByPosition(i, j - 1).getFormula,
|
|
1, 1), 0) <> 0) then
|
|
begin
|
|
try
|
|
sg_import.Cells[i, j] :=
|
|
DateToStr(Planilha.getCellByPosition(i, j - 1).getFormula);
|
|
except
|
|
Messagedlg('Data não existente escrita na linha ' + inttostr(j) +
|
|
', coluna ' + inttostr(i + 1) +
|
|
'. Essa data não será carregada para importação, o que irá gerar um erro.',
|
|
mtWarning, [mbOK], 0);
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
if copy(Planilha.getCellByPosition(i, j - 1).getFormula, 0, 1) = ''''
|
|
then
|
|
begin
|
|
sg_import.Cells[i, j] :=
|
|
StringReplace(Planilha.getCellByPosition(i, j - 1).getFormula,
|
|
'''', '', [rfReplaceAll, rfIgnoreCase]);
|
|
end
|
|
else
|
|
begin
|
|
sg_import.Cells[i, j] := Planilha.getCellByPosition(i, j - 1)
|
|
.getFormula;
|
|
end;
|
|
if Planilha.getCellByPosition(i, j - 1).getFormula = '' then
|
|
begin
|
|
sg_import.Cells[i, j] := '';
|
|
end;
|
|
end;
|
|
end;
|
|
Inc(Counter, 1);
|
|
if Counter < TotCell then
|
|
begin
|
|
pb_import.Position := Counter + 1;
|
|
pb_import.Position := Counter;
|
|
end
|
|
else
|
|
begin
|
|
pb_import.Max := Counter + 1;
|
|
pb_import.Position := Counter + 1;
|
|
pb_import.Max := Counter;
|
|
end;
|
|
end;
|
|
Application.ProcessMessages;
|
|
end;
|
|
|
|
try
|
|
OOExec.Close(false);
|
|
OpenDesktop.Terminate;
|
|
finally
|
|
|
|
OpenOffice := Unassigned;
|
|
|
|
Screen.Cursor := crDefault;
|
|
SetFocus;
|
|
end;
|
|
end;
|
|
|
|
{ case AnsiIndexStr(conteudo, ['devedores', 'titulos', 'misto']) of
|
|
0:
|
|
begin
|
|
pc_import.ActivePageIndex := 0;
|
|
PovoaCB(tabDevedores);
|
|
end;
|
|
1:
|
|
begin
|
|
pc_import.ActivePageIndex := 1;
|
|
PovoaCB(tabTitulos);
|
|
end;
|
|
2:
|
|
begin
|
|
pc_import.ActivePageIndex := 0;
|
|
PovoaCB(tabDevedores);
|
|
PovoaCB(tabTitulos);
|
|
end;
|
|
end; }
|
|
|
|
pc_import.ActivePageIndex := 0;
|
|
PovoaCB(tabDevedores);
|
|
PovoaCB(tabTitulos);
|
|
|
|
// linhaList := TStringList.Create;
|
|
// with linhaList do
|
|
// begin
|
|
// for c := 0 to RCount - 1 do
|
|
// begin
|
|
// Add(inttostr(c + 1));
|
|
// end;
|
|
// end;
|
|
//
|
|
// cbx_primeiralinha.Items.BeginUpdate;
|
|
// try
|
|
// begin
|
|
// cbx_primeiralinha.Items.AddStrings(linhaList);
|
|
// end;
|
|
// finally
|
|
// cbx_primeiralinha.Items.EndUpdate;
|
|
// linhaList.Clear;
|
|
// end;
|
|
|
|
stbStatus.Panels[0].Text := 'Número de linhas: ' + inttostr(RCount - 1) + '.';
|
|
stbStatus.Panels[1].Text := 'Arquivo: ' + odExcel.FileName;
|
|
|
|
end;
|
|
|
|
function TimpDevedores.CmtoPix(cm: double): integer;
|
|
var
|
|
ppcm: double;
|
|
begin
|
|
ppcm := Screen.PixelsPerInch / 2540;
|
|
Result := Trunc(ppcm * cm);
|
|
end;
|
|
|
|
procedure TimpDevedores.FormCreate(Sender: TObject);
|
|
begin
|
|
inherited;
|
|
pc_import.ActivePageIndex := 0;
|
|
with dtmSystem do
|
|
begin
|
|
if not tblDevedores.active then
|
|
begin
|
|
tblDevedores.Open;
|
|
end
|
|
else
|
|
begin
|
|
tblDevedores.Refresh;
|
|
end;
|
|
if not tblEmail.active then
|
|
begin
|
|
tblEmail.Open;
|
|
end
|
|
else
|
|
begin
|
|
tblEmail.Refresh;
|
|
end;
|
|
if not tblEnderecos.active then
|
|
begin
|
|
tblEnderecos.Open;
|
|
end
|
|
else
|
|
begin
|
|
tblEnderecos.Refresh;
|
|
end;
|
|
if not tblTelefones.active then
|
|
begin
|
|
tblTelefones.Open;
|
|
end
|
|
else
|
|
begin
|
|
tblTelefones.Refresh;
|
|
end;
|
|
if not tblCidades.active then
|
|
begin
|
|
tblCidades.Open;
|
|
end;
|
|
if not tblEstados.active then
|
|
begin
|
|
tblEstados.Open;
|
|
end;
|
|
if not tblCHGEmpresa.active then
|
|
begin
|
|
tblCHGEmpresa.Open;
|
|
end
|
|
else
|
|
begin
|
|
tblCHGEmpresa.Refresh;
|
|
end;
|
|
if not tblTitulos.active then
|
|
begin
|
|
tblTitulos.Open;
|
|
end
|
|
else
|
|
begin
|
|
tblTitulos.Refresh;
|
|
end;
|
|
if not tblHistorico.active then
|
|
begin
|
|
tblHistorico.Open;
|
|
end
|
|
else
|
|
begin
|
|
tblHistorico.Refresh;
|
|
end;
|
|
if not tblDuplicados.active then
|
|
begin
|
|
tblDuplicados.Open;
|
|
end
|
|
else
|
|
begin
|
|
tblDuplicados.Refresh;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TimpDevedores.ImportarLayout;
|
|
var
|
|
lista: TStringList;
|
|
cpf_helper, cnpj_helper, string_helper, cep_helper, k, tel, field,
|
|
helper: string;
|
|
i, j, repetido, resp: integer;
|
|
adiciona, achou_cidade, achou_estado: boolean;
|
|
h, Counter: integer;
|
|
hist_postou: boolean;
|
|
begin
|
|
with dtmSystem do
|
|
begin
|
|
|
|
if tblDuplicados.RecordCount <> 0 then
|
|
begin
|
|
tblDuplicados.Close;
|
|
zqryDuplicados.Close;
|
|
zqryDuplicados.SQL.Text := 'delete from SYS_DUPLICADOS';
|
|
zqryDuplicados.ExecSQL;
|
|
end;
|
|
tblDuplicados.Open;
|
|
|
|
end;
|
|
|
|
{ Nome; Nome do Pai; Nome da Mãe; CPF/CNPJ; RG; "Email"; Data de Nascimento;
|
|
Endereço; Número; Complemento; Bairro; Cidade; Estado; CEP;
|
|
Telefone1; Telefone2; Telefone3; Produto; Valor; Data de Vencimento; Código do Devedor;
|
|
É cheque; Banco; Nº do Cheque; Motivo; DDD1; DDD2; DDD3; Obs deTítulo; Obs Devedor }
|
|
repetido := 0;
|
|
adiciona := true;
|
|
lista := TStringList.Create;
|
|
// try
|
|
lista.Clear;
|
|
lista.Delimiter := ';';
|
|
lista.DelimitedText := dtmSystem.tblLayoutsSTR_CAMPOS.AsString;
|
|
// finally
|
|
|
|
pb_import.Position := 0;
|
|
pb_import.Max := sg_import.RowCount - 2;
|
|
Counter := 0;
|
|
if strtoint(lista[3]) = 0 then
|
|
begin
|
|
Messagedlg
|
|
('Por favor carregue um layout que possua CPF/CNPJ do Devedor em suas configurações.',
|
|
mtWarning, [mbOK], 0);
|
|
abort;
|
|
end
|
|
else
|
|
begin
|
|
for i := 2 to sg_import.RowCount - 1 do
|
|
begin
|
|
sg_import.Row := i;
|
|
achou_cidade := false;
|
|
achou_estado := false;
|
|
|
|
try
|
|
k := lista[3];
|
|
if sg_import.Cells[strtoint(lista[3]) - 1, i] = '' then
|
|
begin
|
|
showmessage('O devedor nº ' + inttostr(i - 1) +
|
|
' não possuia CPF. Pulando para o próximo.');
|
|
continue;
|
|
end;
|
|
string_helper := StringReplace(sg_import.Cells[strtoint(lista[3]) - 1,
|
|
i], '.', '', [rfReplaceAll, rfIgnoreCase]);
|
|
string_helper := StringReplace(string_helper, '-', '',
|
|
[rfReplaceAll, rfIgnoreCase]);
|
|
string_helper := StringReplace(string_helper, '/', '',
|
|
[rfReplaceAll, rfIgnoreCase]);
|
|
string_helper := StringReplace(string_helper, ' ', '',
|
|
[rfReplaceAll, rfIgnoreCase]);
|
|
cpf_helper := 'aaa';
|
|
cnpj_helper := 'aaa';
|
|
helper := 'aaa';
|
|
field := '';
|
|
if length(string_helper) = 11 then
|
|
begin
|
|
cpf_helper := copy(string_helper, 1, 3) + '.' + copy(string_helper, 4,
|
|
3) + '.' + copy(string_helper, 7, 3) + '-' +
|
|
copy(string_helper, 10, 2);
|
|
helper := cpf_helper;
|
|
field := 'CD_CPF';
|
|
end;
|
|
if length(string_helper) = 14 then
|
|
begin
|
|
cnpj_helper := copy(string_helper, 1, 2) + '.' +
|
|
copy(string_helper, 3, 3) + '.' + copy(string_helper, 6, 3) + '/' +
|
|
copy(string_helper, 9, 4) + '-' + copy(string_helper, 13, 2);
|
|
helper := cnpj_helper;
|
|
field := 'CD_CNPJ';
|
|
end;
|
|
if length(string_helper) < 11 then
|
|
begin
|
|
string_helper := RightStr(StringOfChar('0', 11 - length(string_helper)
|
|
) + string_helper, 11);
|
|
cpf_helper := copy(string_helper, 1, 3) + '.' + copy(string_helper, 4,
|
|
3) + '.' + copy(string_helper, 7, 3) + '-' +
|
|
copy(string_helper, 10, 2);
|
|
helper := cpf_helper;
|
|
field := 'CD_CPF';
|
|
end;
|
|
// cpf_helper := FormatMaskText('000\.000\.000\-00;0;', string_helper);
|
|
// cnpj_helper := FormatMaskText('00\.000\.000\/0000\-00;0;',
|
|
// string_helper);
|
|
with dtmSystem do
|
|
begin
|
|
if (tblDevedores.Locate(field, helper, [])) then
|
|
begin
|
|
if (lista[1] <> '0') or (lista[2] <> '0') or (lista[29] <> '0') then
|
|
begin
|
|
tblDevedores.Edit;
|
|
k := lista[1];
|
|
if (lista[1] <> '0') and (tblDevedoresTX_PAI.AsString = '') then
|
|
begin
|
|
tblDevedoresTX_PAI.AsString := sg_import.Cells
|
|
[strtoint(lista[1]) - 1, i];
|
|
end
|
|
else
|
|
begin
|
|
if lista[1] <> '0' then
|
|
begin
|
|
tblDevedoresTL_MEMO.AsString := tblDevedoresTL_MEMO.AsString +
|
|
sLineBreak + 'Pai: ' + sg_import.Cells
|
|
[strtoint(lista[1]) - 1, i];
|
|
end;
|
|
end;
|
|
k := lista[2];
|
|
if (lista[2] <> '0') and (tblDevedoresTX_MAE.AsString = '') then
|
|
begin
|
|
tblDevedoresTX_MAE.AsString := sg_import.Cells
|
|
[strtoint(lista[2]) - 1, i];
|
|
end
|
|
else
|
|
begin
|
|
if lista[2] <> '0' then
|
|
begin
|
|
tblDevedoresTL_MEMO.AsString := tblDevedoresTL_MEMO.AsString +
|
|
sLineBreak + 'Mãe: ' + sg_import.Cells
|
|
[strtoint(lista[2]) - 1, i];
|
|
end;
|
|
end;
|
|
k := lista[29];
|
|
if (lista[29] <> '0') and (tblDevedoresTL_MEMO.AsString = '') then
|
|
begin
|
|
tblDevedoresTL_MEMO.AsString := 'Obs Extra: ' + sg_import.Cells
|
|
[strtoint(lista[29]) - 1, i];
|
|
end
|
|
else
|
|
begin
|
|
if lista[29] <> '0' then
|
|
begin
|
|
tblDevedoresTL_MEMO.AsString := tblDevedoresTL_MEMO.AsString +
|
|
sLineBreak + 'Obs Extra: ' + sg_import.Cells
|
|
[strtoint(lista[29]) - 1, i];
|
|
end;
|
|
end;
|
|
k := lista[30];
|
|
if lista[30] <> '0' then
|
|
begin
|
|
tblDevedoresCD_DEVEDOR.AsString :=
|
|
sg_import.Cells[strtoint(lista[30]) - 1, i];
|
|
end;
|
|
|
|
tblDevedores.Post;
|
|
end;
|
|
k := lista[19];
|
|
if (lista[19] <> '0') then
|
|
begin
|
|
k := lista[18];
|
|
if (tblTitulos.Locate
|
|
('DT_VENCIMENTO;ID_EMPRESA;VL_TITULO;ID_DEVEDOR',
|
|
VarArrayOf([StrToDate(sg_import.Cells[strtoint(lista[19]) - 1,
|
|
i]), tblCHGEmpresaID_EMPRESA.AsInteger,
|
|
sg_import.Cells[strtoint(lista[18]) - 1, i],
|
|
tblDevedoresID_DEVEDOR.AsInteger]), [])) then
|
|
begin
|
|
tblDuplicados.Append;
|
|
tblDuplicadosTX_NOMEDEVEDOR.AsString :=
|
|
tblDevedoresTX_NOME.AsString;
|
|
tblDuplicadosCD_CPF.AsString := tblDevedoresCD_CPF.AsString;
|
|
tblDuplicadosCD_CNPJ.AsString := tblDevedoresCD_CNPJ.AsString;
|
|
tblDuplicadosTX_NOMETITULO.AsString :=
|
|
sg_import.Cells[strtoint(lista[18]) - 1, i];
|
|
tblDuplicadosVL_TITULO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells[strtoint(lista[18]) -
|
|
1, i], '.', ',', [rfReplaceAll]));
|
|
k := lista[19];
|
|
tblDuplicadosDT_VENCIMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[19]) - 1, i]);
|
|
case repetido of
|
|
0:
|
|
begin
|
|
resp := Messagedlg('O título com vencimento "' +
|
|
sg_import.Cells[strtoint(lista[19]) - 1, i] +
|
|
'" pode ser repetido.' + #13 +
|
|
'(Mesma data de Vencimento que outro título)' + #13 + ''
|
|
+ ' Deseja adicioná-lo mesmo assim?', mtWarning,
|
|
[mbYes, mbYesToAll, mbNo, mbNoToAll], 0);
|
|
case resp of
|
|
mrYes:
|
|
begin
|
|
repetido := 0;
|
|
adiciona := true;
|
|
tblDuplicadosTP_ACAO.AsString := 'S'; // adicionou
|
|
end;
|
|
mrNo:
|
|
begin
|
|
repetido := 0;
|
|
adiciona := false;
|
|
tblDuplicadosTP_ACAO.AsString := 'N';
|
|
// ñ adicionou
|
|
end;
|
|
mrYesToAll:
|
|
begin
|
|
repetido := 1;
|
|
adiciona := true;
|
|
tblDuplicadosTP_ACAO.AsString := 'S'; // adicionou
|
|
end;
|
|
mrNoToAll:
|
|
begin
|
|
repetido := 2;
|
|
adiciona := false;
|
|
tblDuplicadosTP_ACAO.AsString := 'N';
|
|
// ñ adicionou
|
|
end;
|
|
end;
|
|
end;
|
|
1:
|
|
begin
|
|
adiciona := true;
|
|
tblDuplicadosTP_ACAO.AsString := 'S'; // adicionou
|
|
end;
|
|
2:
|
|
begin
|
|
adiciona := false;
|
|
tblDuplicadosTP_ACAO.AsString := 'N'; // ñ adicionou
|
|
end;
|
|
end;
|
|
tblDuplicados.Post;
|
|
if adiciona = true then
|
|
begin
|
|
tblTitulos.Append;
|
|
tblTitulosID_EMPRESA.AsInteger := id_empimport;
|
|
tblTitulosVL_TITULO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells[strtoint(lista[18])
|
|
- 1, i], '.', ',', [rfReplaceAll]));
|
|
tblTitulosTP_SITUACAO.AsString := 'A';
|
|
tblTitulosDT_ENTRADA.AsDateTime := Date;
|
|
k := lista[17];
|
|
if sg_import.Cells[strtoint(lista[17]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosTX_PRODUTO.AsString :=
|
|
sg_import.Cells[strtoint(lista[17]) - 1, i];
|
|
end;
|
|
k := lista[19];
|
|
if sg_import.Cells[strtoint(lista[19]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosDT_VENCIMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[19]) - 1, i]);
|
|
end;
|
|
k := lista[20];
|
|
if lista[20] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[20]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosCD_DEVEDOR.AsString :=
|
|
sg_import.Cells[strtoint(lista[20]) - 1, i];
|
|
end;
|
|
end;
|
|
k := lista[21];
|
|
if lista[21] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[21]) - 1, i] = 'S' then
|
|
begin
|
|
tblTitulosTP_CHEQUE.AsString := 'S';
|
|
k := lista[22];
|
|
if sg_import.Cells[strtoint(lista[22]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosID_BANCO.AsString :=
|
|
sg_import.Cells[strtoint(lista[22]) - 1, i];
|
|
end;
|
|
k := lista[23];
|
|
if sg_import.Cells[strtoint(lista[23]) - 1, i] <> '' then
|
|
begin
|
|
tblTitulosTX_NRCHEQUE.AsString :=
|
|
sg_import.Cells[strtoint(lista[23]) - 1, i];
|
|
end;
|
|
k := lista[24];
|
|
if sg_import.Cells[strtoint(lista[24]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosTP_MOTIVO.AsString :=
|
|
sg_import.Cells[strtoint(lista[24]) - 1, i];
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
tblTitulosTP_CHEQUE.AsString := 'N';
|
|
end;
|
|
end;
|
|
k := lista[28];
|
|
if lista[28] <> '0' then
|
|
begin
|
|
tblTitulosTX_OBS.AsString := sg_import.Cells
|
|
[strtoint(lista[28]) - 1, i];
|
|
end;
|
|
k := lista[31];
|
|
if lista[31] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[31]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosDT_PAGAMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[31]) - 1, i]);
|
|
tblTitulosTP_SITUACAO.AsString := 'QC';
|
|
tblTitulosVL_CORRIGIDO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells
|
|
[strtoint(lista[18]) - 1, i], '.', ',',
|
|
[rfReplaceAll]));
|
|
end;
|
|
end;
|
|
tblTitulos.Post;
|
|
if not tblHistorico.active then
|
|
begin
|
|
tblHistorico.Open;
|
|
end;
|
|
tblHistorico.Append;
|
|
tblHistoricoID_DEVEDOR.AsInteger :=
|
|
tblDevedoresID_DEVEDOR.AsInteger;
|
|
tblHistoricoID_TITULO.AsInteger :=
|
|
tblTitulosID_TITULO.AsInteger;
|
|
// tblHistoricoID_PROVIDENCIA.AsInteger := 52;
|
|
tblHistoricoID_PROVIDENCIA.AsInteger :=
|
|
frmEscolheLayout.id_prov;
|
|
tblHistoricoDT_CONTATO.AsDateTime := Date;
|
|
tblHistorico.Post;
|
|
end
|
|
else
|
|
begin
|
|
// break;
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
tblTitulos.Append;
|
|
tblTitulosID_EMPRESA.AsInteger := id_empimport;
|
|
tblTitulosVL_TITULO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells[strtoint(lista[18]) -
|
|
1, i], '.', ',', [rfReplaceAll]));
|
|
tblTitulosTP_SITUACAO.AsString := 'A';
|
|
tblTitulosDT_ENTRADA.AsDateTime := Date;
|
|
k := lista[17];
|
|
if sg_import.Cells[strtoint(lista[17]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosTX_PRODUTO.AsString :=
|
|
sg_import.Cells[strtoint(lista[17]) - 1, i];
|
|
end;
|
|
k := lista[19];
|
|
if sg_import.Cells[strtoint(lista[19]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosDT_VENCIMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[19]) - 1, i]);
|
|
end;
|
|
k := lista[20];
|
|
if lista[20] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[20]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosCD_DEVEDOR.AsString :=
|
|
sg_import.Cells[strtoint(lista[20]) - 1, i];
|
|
end;
|
|
end;
|
|
k := lista[21];
|
|
if lista[21] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[21]) - 1, i] = 'S' then
|
|
begin
|
|
tblTitulosTP_CHEQUE.AsString := 'S';
|
|
k := lista[22];
|
|
if sg_import.Cells[strtoint(lista[22]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosID_BANCO.AsString :=
|
|
sg_import.Cells[strtoint(lista[22]) - 1, i];
|
|
end;
|
|
k := lista[23];
|
|
if sg_import.Cells[strtoint(lista[23]) - 1, i] <> '' then
|
|
begin
|
|
tblTitulosTX_NRCHEQUE.AsString :=
|
|
sg_import.Cells[strtoint(lista[23]) - 1, i];
|
|
end;
|
|
k := lista[24];
|
|
if sg_import.Cells[strtoint(lista[24]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosTP_MOTIVO.AsString :=
|
|
sg_import.Cells[strtoint(lista[24]) - 1, i];
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
tblTitulosTP_CHEQUE.AsString := 'N';
|
|
end;
|
|
end;
|
|
k := lista[28];
|
|
if lista[28] <> '0' then
|
|
begin
|
|
tblTitulosTX_OBS.AsString := sg_import.Cells
|
|
[strtoint(lista[28]) - 1, i];
|
|
end;
|
|
k := lista[31];
|
|
if lista[31] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[31]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosDT_PAGAMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[31]) - 1, i]);
|
|
tblTitulosTP_SITUACAO.AsString := 'QC';
|
|
tblTitulosVL_CORRIGIDO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells
|
|
[strtoint(lista[18]) - 1, i], '.', ',', [rfReplaceAll]));
|
|
end;
|
|
end;
|
|
tblTitulos.Post;
|
|
if not tblHistorico.active then
|
|
begin
|
|
tblHistorico.Open;
|
|
end;
|
|
tblHistorico.Append;
|
|
tblHistoricoID_DEVEDOR.AsInteger :=
|
|
tblDevedoresID_DEVEDOR.AsInteger;
|
|
tblHistoricoID_TITULO.AsInteger :=
|
|
tblTitulosID_TITULO.AsInteger;
|
|
// tblHistoricoID_PROVIDENCIA.AsInteger := 52;
|
|
tblHistoricoID_PROVIDENCIA.AsInteger :=
|
|
frmEscolheLayout.id_prov;
|
|
tblHistoricoDT_CONTATO.AsDateTime := Date;
|
|
tblHistorico.Post;
|
|
end;
|
|
end;
|
|
k := lista[5];
|
|
if lista[5] <> '0' then
|
|
begin
|
|
if not tblEmail.Locate('TX_EMAIL',
|
|
sg_import.Cells[strtoint(lista[5]) - 1, i], []) then
|
|
begin
|
|
tblEmail.Append;
|
|
tblEmailTX_EMAIL.AsString := sg_import.Cells
|
|
[strtoint(lista[5]) - 1, i];
|
|
tblEmailID_DEVEDOR.AsInteger :=
|
|
tblDevedoresID_DEVEDOR.AsInteger;
|
|
tblEmail.Post;
|
|
end;
|
|
// tblDevedorestx_email.AsString := sg_import.Cells
|
|
// [strtoint(lista[5]) - 1, i];
|
|
end;
|
|
k := lista[7];
|
|
if lista[7] <> '0' then
|
|
begin
|
|
if not tblEnderecos.Locate('TX_LOGRADOURO;ID_DEVEDOR',
|
|
VarArrayOf([sg_import.Cells[strtoint(lista[7]) - 1, i],
|
|
tblDevedoresID_DEVEDOR.AsInteger]),
|
|
[loCaseInsensitive, loPartialKey]) then
|
|
begin
|
|
tblEnderecos.Append;
|
|
tblEnderecosTX_LOGRADOURO.AsString :=
|
|
sg_import.Cells[strtoint(lista[7]) - 1, i];
|
|
k := lista[8];
|
|
if lista[8] <> '0' then
|
|
begin
|
|
tblEnderecosNR_NUMERO.AsString :=
|
|
sg_import.Cells[strtoint(lista[8]) - 1, i];
|
|
end;
|
|
k := lista[9];
|
|
if lista[9] <> '0' then
|
|
begin
|
|
tblEnderecosTX_COMPLEMENTO.AsString :=
|
|
sg_import.Cells[strtoint(lista[9]) - 1, i];
|
|
end;
|
|
k := lista[10];
|
|
if lista[10] <> '0' then
|
|
begin
|
|
tblEnderecosTX_BAIRRO.AsString :=
|
|
sg_import.Cells[strtoint(lista[10]) - 1, i];
|
|
end;
|
|
k := lista[12];
|
|
if lista[12] <> '0' then
|
|
begin
|
|
tblEstados.First;
|
|
while (not(tblEstados.Eof)) and (not(achou_estado)) do
|
|
begin
|
|
if (UpperCase(OStripAccents(tblEstadosTX_NOME.AsString))
|
|
= UpperCase(OStripAccents(sg_import.Cells
|
|
[strtoint(lista[12]) - 1, i]))) or
|
|
(UpperCase(OStripAccents(tblEstadosTX_SIGLA.AsString))
|
|
= UpperCase(OStripAccents(sg_import.Cells
|
|
[strtoint(lista[12]) - 1, i]))) then
|
|
begin
|
|
achou_estado := true;
|
|
end
|
|
else
|
|
begin
|
|
tblEstados.Next;
|
|
end;
|
|
end;
|
|
if achou_estado then
|
|
begin
|
|
tblEnderecosID_ESTADO.AsInteger :=
|
|
tblEstadosID_ESTADO.AsInteger;
|
|
tblEnderecosTX_ESTADO.AsString :=
|
|
tblEstadosTX_NOME.AsString;
|
|
end
|
|
else
|
|
begin
|
|
{ tblEnderecos.Post;
|
|
tblDevedores.Edit;
|
|
tblDevedoresTL_MEMO.AsString := tblDevedoresTL_MEMO.AsString +
|
|
'Houve um erro na importação do estado deste devedor.' +
|
|
' Por favor corrija manualmente.';
|
|
tblDevedores.Post;
|
|
tblEnderecos.Edit; }
|
|
end;
|
|
end;
|
|
k := lista[11];
|
|
if lista[11] <> '0' then
|
|
begin
|
|
tblCidades.First;
|
|
while (not(tblCidades.Eof)) and (not(achou_cidade)) do
|
|
begin
|
|
if UpperCase(OStripAccents(tblCidadesTX_NOME.AsString))
|
|
= UpperCase
|
|
(OStripAccents(sg_import.Cells[strtoint(lista[11]) -
|
|
1, i])) then
|
|
begin
|
|
achou_cidade := true;
|
|
end
|
|
else
|
|
begin
|
|
tblCidades.Next;
|
|
end;
|
|
end;
|
|
if achou_cidade then
|
|
begin
|
|
tblEnderecosID_CIDADE.AsInteger :=
|
|
tblCidadesID_CIDADE.AsInteger;
|
|
tblEnderecosTX_CIDADE.AsString :=
|
|
tblCidadesTX_NOME.AsString;
|
|
end
|
|
else
|
|
begin
|
|
{ tblEnderecos.Post;
|
|
tblDevedores.Edit;
|
|
tblDevedoresTL_MEMO.AsString := tblDevedoresTL_MEMO.AsString +
|
|
'Houve um erro na importação da cidade deste devedor.' +
|
|
' Por favor corrija manualmente.';
|
|
tblDevedores.Post;
|
|
tblEnderecos.Edit; }
|
|
end;
|
|
end;
|
|
k := lista[13];
|
|
if lista[13] <> '0' then
|
|
begin
|
|
cep_helper := sg_import.Cells[strtoint(lista[13]) - 1, i];
|
|
cep_helper := StringReplace(cep_helper, '.', '',
|
|
[rfReplaceAll]);
|
|
cep_helper := StringReplace(cep_helper, '-', '',
|
|
[rfReplaceAll]);
|
|
tblEnderecosTX_CEP.AsString := cep_helper;
|
|
end;
|
|
tblEnderecos.Post;
|
|
end;
|
|
end;
|
|
|
|
k := lista[14];
|
|
if lista[14] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[14]) - 1, i] <> '' then
|
|
begin
|
|
tel := dtmSystem.FormatTelefone
|
|
(sg_import.Cells[strtoint(lista[14]) - 1, i]);
|
|
if not tblTelefones.Locate('NR_NUMERO;ID_DEVEDOR',
|
|
VarArrayOf([tel, dtmSystem.id_devedor]), [loCaseInsensitive])
|
|
then
|
|
begin
|
|
tblTelefones.Append;
|
|
tblTelefonesNR_NUMERO.AsString :=
|
|
dtmSystem.FormatTelefone
|
|
(sg_import.Cells[strtoint(lista[14]) - 1, i]);
|
|
if lista[25] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[25]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefonesNR_DDD.AsString :=
|
|
sg_import.Cells[strtoint(lista[25]) - 1, i];
|
|
end;
|
|
end;
|
|
if length(tblTelefonesNR_NUMERO.AsString) = 10 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'M';
|
|
end
|
|
else if length(tblTelefonesNR_NUMERO.AsString) = 9 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'F';
|
|
end;
|
|
tblTelefones.Post;
|
|
end;
|
|
end;
|
|
end;
|
|
k := lista[15];
|
|
if lista[15] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[15]) - 1, i] <> '' then
|
|
begin
|
|
if not tblTelefones.Locate('NR_NUMERO;ID_DEVEDOR',
|
|
VarArrayOf([dtmSystem.FormatTelefone(sg_import.Cells
|
|
[strtoint(lista[15]) - 1, i]),
|
|
tblDevedoresID_DEVEDOR.AsInteger]), []) then
|
|
begin
|
|
tblTelefones.Append;
|
|
tblTelefonesNR_NUMERO.AsString :=
|
|
dtmSystem.FormatTelefone
|
|
(sg_import.Cells[strtoint(lista[15]) - 1, i]);
|
|
if lista[26] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[25]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefonesNR_DDD.AsString :=
|
|
sg_import.Cells[strtoint(lista[26]) - 1, i];
|
|
end;
|
|
end;
|
|
if length(tblTelefonesNR_NUMERO.AsString) = 10 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'M';
|
|
end
|
|
else if length(tblTelefonesNR_NUMERO.AsString) = 9 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'F';
|
|
end;
|
|
tblTelefones.Post;
|
|
end;
|
|
end;
|
|
end;
|
|
k := lista[16];
|
|
if lista[16] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[16]) - 1, i] <> '' then
|
|
begin
|
|
if not tblTelefones.Locate('NR_NUMERO;ID_DEVEDOR',
|
|
VarArrayOf([dtmSystem.FormatTelefone(sg_import.Cells
|
|
[strtoint(lista[16]) - 1, i]),
|
|
tblDevedoresID_DEVEDOR.AsInteger]), []) then
|
|
begin
|
|
tblTelefones.Append;
|
|
tblTelefonesNR_NUMERO.AsString :=
|
|
dtmSystem.FormatTelefone
|
|
(sg_import.Cells[strtoint(lista[16]) - 1, i]);
|
|
if lista[27] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[27]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefonesNR_DDD.AsString :=
|
|
sg_import.Cells[strtoint(lista[27]) - 1, i];
|
|
end;
|
|
end;
|
|
if length(tblTelefonesNR_NUMERO.AsString) = 10 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'M';
|
|
end
|
|
else if length(tblTelefonesNR_NUMERO.AsString) = 9 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'F';
|
|
end;
|
|
tblTelefones.Post;
|
|
end;
|
|
end;
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
tblDevedores.Append;
|
|
tblDevedoresDT_CADASTRO.AsDateTime := Date;
|
|
k := lista[0];
|
|
if lista[0] <> '0' then
|
|
begin
|
|
tblDevedoresTX_NOME.AsString :=
|
|
OStripAccents(sg_import.Cells[strtoint(lista[0]) - 1, i]);
|
|
end;
|
|
k := lista[1];
|
|
if lista[1] <> '0' then
|
|
begin
|
|
tblDevedoresTX_PAI.AsString := sg_import.Cells
|
|
[strtoint(lista[1]) - 1, i];
|
|
end;
|
|
k := lista[2];
|
|
if lista[2] <> '0' then
|
|
begin
|
|
tblDevedoresTX_MAE.AsString := sg_import.Cells
|
|
[strtoint(lista[2]) - 1, i];
|
|
end;
|
|
k := lista[3];
|
|
if lista[3] <> '0' then
|
|
begin
|
|
if length(string_helper) = 11 then
|
|
begin
|
|
tblDevedoresCD_CPF.AsString := cpf_helper;
|
|
tblDevedoresTP_CLIENTE.AsString := 'F'
|
|
end
|
|
else
|
|
begin
|
|
tblDevedoresCD_CNPJ.AsString := cnpj_helper;
|
|
tblDevedoresTP_CLIENTE.AsString := 'J'
|
|
end;
|
|
end;
|
|
k := lista[4];
|
|
if lista[4] <> '0' then
|
|
begin
|
|
tblDevedoresCD_RG.AsString := sg_import.Cells
|
|
[strtoint(lista[4]) - 1, i];
|
|
end;
|
|
k := lista[6];
|
|
if lista[6] <> '0' then
|
|
begin
|
|
if (ansipos('/', sg_import.Cells[strtoint(lista[6]) - 1, i]) = 0)
|
|
or (sg_import.Cells[strtoint(lista[6]) - 1, i] = '') then
|
|
begin
|
|
tblDevedoresDT_NASC.Clear;
|
|
end
|
|
else
|
|
begin
|
|
tblDevedoresDT_NASC.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[6]) - 1, i]);
|
|
end;
|
|
end;
|
|
k := lista[29];
|
|
if (lista[29] <> '0') and (tblDevedoresTL_MEMO.AsString = '') then
|
|
begin
|
|
tblDevedoresTL_MEMO.AsString := 'Obs Extra: ' + sg_import.Cells
|
|
[strtoint(lista[29]) - 1, i]
|
|
end
|
|
else
|
|
begin
|
|
if lista[29] <> '0' then
|
|
begin
|
|
tblDevedoresTL_MEMO.AsString := tblDevedoresTL_MEMO.AsString +
|
|
sLineBreak + 'Obs Extra: ' + sg_import.Cells
|
|
[strtoint(lista[29]) - 1, i];
|
|
end;
|
|
end;
|
|
k := lista[30];
|
|
if lista[30] <> '0' then
|
|
begin
|
|
tblDevedoresCD_DEVEDOR.AsString := sg_import.Cells
|
|
[strtoint(lista[30]) - 1, i];
|
|
end;
|
|
|
|
tblDevedores.Post;
|
|
k := lista[5];
|
|
if lista[5] <> '0' then
|
|
begin
|
|
if not tblEmail.Locate('TX_EMAIL',
|
|
sg_import.Cells[strtoint(lista[5]) - 1, i], []) then
|
|
begin
|
|
tblEmail.Append;
|
|
tblEmailTX_EMAIL.AsString := sg_import.Cells
|
|
[strtoint(lista[5]) - 1, i];
|
|
tblEmailID_DEVEDOR.AsInteger :=
|
|
tblDevedoresID_DEVEDOR.AsInteger;
|
|
tblEmail.Post;
|
|
end;
|
|
// tblDevedorestx_email.AsString := sg_import.Cells
|
|
// [strtoint(lista[5]) - 1, i];
|
|
end;
|
|
k := lista[7];
|
|
if lista[7] <> '0' then
|
|
begin
|
|
tblEnderecos.Append;
|
|
tblEnderecosTX_LOGRADOURO.AsString :=
|
|
sg_import.Cells[strtoint(lista[7]) - 1, i];
|
|
k := lista[8];
|
|
if lista[8] <> '0' then
|
|
begin
|
|
tblEnderecosNR_NUMERO.AsString :=
|
|
sg_import.Cells[strtoint(lista[8]) - 1, i];
|
|
end;
|
|
k := lista[9];
|
|
if lista[9] <> '0' then
|
|
begin
|
|
tblEnderecosTX_COMPLEMENTO.AsString :=
|
|
sg_import.Cells[strtoint(lista[9]) - 1, i];
|
|
end;
|
|
k := lista[10];
|
|
if lista[10] <> '0' then
|
|
begin
|
|
tblEnderecosTX_BAIRRO.AsString :=
|
|
sg_import.Cells[strtoint(lista[10]) - 1, i];
|
|
end;
|
|
k := lista[12];
|
|
if lista[12] <> '0' then
|
|
begin
|
|
tblEstados.First;
|
|
while (not(tblEstados.Eof)) and (not(achou_estado)) do
|
|
begin
|
|
if (UpperCase(OStripAccents(tblEstadosTX_NOME.AsString))
|
|
= UpperCase(OStripAccents(sg_import.Cells[strtoint(lista[12]
|
|
) - 1, i]))) or
|
|
(UpperCase(OStripAccents(tblEstadosTX_SIGLA.AsString))
|
|
= UpperCase(OStripAccents(sg_import.Cells[strtoint(lista[12]
|
|
) - 1, i]))) then
|
|
begin
|
|
achou_estado := true;
|
|
end
|
|
else
|
|
begin
|
|
tblEstados.Next;
|
|
end;
|
|
end;
|
|
if achou_estado then
|
|
begin
|
|
tblEnderecosID_ESTADO.AsInteger :=
|
|
tblEstadosID_ESTADO.AsInteger;
|
|
tblEnderecosTX_ESTADO.AsString := tblEstadosTX_NOME.AsString;
|
|
end
|
|
else
|
|
begin
|
|
{ tblEnderecos.Post;
|
|
tblDevedores.Edit;
|
|
tblDevedoresTL_MEMO.AsString := tblDevedoresTL_MEMO.AsString +
|
|
'Houve um erro na importação do estado deste devedor.' +
|
|
' Por favor corrija manualmente.';
|
|
tblDevedores.Post;
|
|
tblEnderecos.Edit; }
|
|
end;
|
|
end;
|
|
k := lista[11];
|
|
if lista[11] <> '0' then
|
|
begin
|
|
tblCidades.First;
|
|
while (not(tblCidades.Eof)) and (not(achou_cidade)) do
|
|
begin
|
|
if UpperCase(OStripAccents(tblCidadesTX_NOME.AsString))
|
|
= UpperCase
|
|
(OStripAccents(sg_import.Cells[strtoint(lista[11]) - 1, i]))
|
|
then
|
|
begin
|
|
achou_cidade := true;
|
|
end
|
|
else
|
|
begin
|
|
tblCidades.Next;
|
|
end;
|
|
end;
|
|
if achou_cidade then
|
|
begin
|
|
tblEnderecosID_CIDADE.AsInteger :=
|
|
tblCidadesID_CIDADE.AsInteger;
|
|
tblEnderecosTX_CIDADE.AsString := tblCidadesTX_NOME.AsString;
|
|
end
|
|
else
|
|
begin
|
|
{ tblEnderecos.Post;
|
|
tblDevedores.Edit;
|
|
tblDevedoresTL_MEMO.AsString := tblDevedoresTL_MEMO.AsString +
|
|
'Houve um erro na importação da cidade deste devedor.' +
|
|
' Por favor corrija manualmente.';
|
|
tblDevedores.Post;
|
|
tblEnderecos.Edit; }
|
|
end;
|
|
end;
|
|
k := lista[13];
|
|
if lista[13] <> '0' then
|
|
begin
|
|
cep_helper := sg_import.Cells[strtoint(lista[13]) - 1, i];
|
|
cep_helper := StringReplace(cep_helper, '.', '',
|
|
[rfReplaceAll]);
|
|
cep_helper := StringReplace(cep_helper, '-', '',
|
|
[rfReplaceAll]);
|
|
tblEnderecosTX_CEP.AsString := cep_helper;
|
|
end;
|
|
tblEnderecos.Post;
|
|
end;
|
|
k := lista[14];
|
|
if lista[14] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[14]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefones.Append;
|
|
tblTelefonesNR_NUMERO.AsString :=
|
|
dtmSystem.FormatTelefone
|
|
(sg_import.Cells[strtoint(lista[14]) - 1, i]);
|
|
if lista[25] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[25]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefonesNR_DDD.AsString :=
|
|
sg_import.Cells[strtoint(lista[25]) - 1, i];
|
|
end;
|
|
end;
|
|
if length(tblTelefonesNR_NUMERO.AsString) = 10 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'M';
|
|
end
|
|
else if length(tblTelefonesNR_NUMERO.AsString) = 9 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'F';
|
|
end;
|
|
tblTelefones.Post;
|
|
end;
|
|
end;
|
|
k := lista[15];
|
|
if lista[15] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[15]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefones.Append;
|
|
tblTelefonesNR_NUMERO.AsString :=
|
|
dtmSystem.FormatTelefone
|
|
(sg_import.Cells[strtoint(lista[15]) - 1, i]);
|
|
if lista[26] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[26]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefonesNR_DDD.AsString :=
|
|
sg_import.Cells[strtoint(lista[26]) - 1, i];
|
|
end;
|
|
end;
|
|
if length(tblTelefonesNR_NUMERO.AsString) = 10 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'M';
|
|
end
|
|
else if length(tblTelefonesNR_NUMERO.AsString) = 9 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'F';
|
|
end;
|
|
tblTelefones.Post;
|
|
end;
|
|
end;
|
|
k := lista[16];
|
|
if lista[16] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[16]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefones.Append;
|
|
tblTelefonesNR_NUMERO.AsString :=
|
|
dtmSystem.FormatTelefone
|
|
(sg_import.Cells[strtoint(lista[16]) - 1, i]);
|
|
if lista[27] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[27]) - 1, i] <> '' then
|
|
begin
|
|
tblTelefonesNR_DDD.AsString :=
|
|
sg_import.Cells[strtoint(lista[27]) - 1, i];
|
|
end;
|
|
end;
|
|
if length(tblTelefonesNR_NUMERO.AsString) = 10 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'M';
|
|
end
|
|
else if length(tblTelefonesNR_NUMERO.AsString) = 9 then
|
|
begin
|
|
tblTelefonesTP_TIPOTEL.AsString := 'F';
|
|
end;
|
|
tblTelefones.Post;
|
|
end;
|
|
end;
|
|
k := lista[19];
|
|
if (lista[19] <> '0') then
|
|
begin
|
|
k := lista[18];
|
|
if (tblTitulos.Locate
|
|
('DT_VENCIMENTO;ID_EMPRESA;VL_TITULO;ID_DEVEDOR',
|
|
VarArrayOf([StrToDate(sg_import.Cells[strtoint(lista[19]) - 1,
|
|
i]), tblCHGEmpresaID_EMPRESA.AsInteger,
|
|
sg_import.Cells[strtoint(lista[18]) - 1, i],
|
|
tblDevedoresID_DEVEDOR.AsInteger]), [])) then
|
|
begin
|
|
tblDuplicados.Append;
|
|
tblDuplicadosTX_NOMEDEVEDOR.AsString :=
|
|
tblDevedoresTX_NOME.AsString;
|
|
tblDuplicadosCD_CPF.AsString := tblDevedoresCD_CPF.AsString;
|
|
tblDuplicadosCD_CNPJ.AsString := tblDevedoresCD_CNPJ.AsString;
|
|
tblDuplicadosTX_NOMETITULO.AsString :=
|
|
sg_import.Cells[strtoint(lista[18]) - 1, i];
|
|
tblDuplicadosVL_TITULO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells[strtoint(lista[18]) -
|
|
1, i], '.', ',', [rfReplaceAll]));;
|
|
tblDuplicadosDT_VENCIMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[19]) - 1, i]);
|
|
case repetido of
|
|
0:
|
|
begin
|
|
resp := Messagedlg('O título com vencimento "' +
|
|
sg_import.Cells[strtoint(lista[19]) - 1, i] +
|
|
'" pode ser repetido.' + #13 +
|
|
'(Mesma data de Vencimento que outro título)' + #13 + ''
|
|
+ ' Deseja adicioná-los mesmo assim?', mtWarning,
|
|
[mbYes, mbYesToAll, mbNo, mbNoToAll], 0);
|
|
case resp of
|
|
mrYes:
|
|
begin
|
|
repetido := 0;
|
|
adiciona := true;
|
|
tblDuplicadosTP_ACAO.AsString := 'S'; // adicionou
|
|
end;
|
|
mrNo:
|
|
begin
|
|
repetido := 0;
|
|
adiciona := false;
|
|
tblDuplicadosTP_ACAO.AsString := 'N';
|
|
// ñ adicionou
|
|
end;
|
|
mrYesToAll:
|
|
begin
|
|
repetido := 1;
|
|
adiciona := true;
|
|
tblDuplicadosTP_ACAO.AsString := 'S'; // adicionou
|
|
end;
|
|
mrNoToAll:
|
|
begin
|
|
repetido := 2;
|
|
adiciona := false;
|
|
tblDuplicadosTP_ACAO.AsString := 'N';
|
|
// ñ adicionou
|
|
end;
|
|
end;
|
|
end;
|
|
1:
|
|
begin
|
|
adiciona := true;
|
|
tblDuplicadosTP_ACAO.AsString := 'S'; // adicionou
|
|
end;
|
|
2:
|
|
begin
|
|
adiciona := false;
|
|
tblDuplicadosTP_ACAO.AsString := 'N'; // ñ adicionou
|
|
end;
|
|
end;
|
|
tblDuplicados.Post;
|
|
if adiciona = true then
|
|
begin
|
|
tblTitulos.Append;
|
|
tblTitulosID_EMPRESA.AsInteger := id_empimport;
|
|
tblTitulosVL_TITULO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells[strtoint(lista[18])
|
|
- 1, i], '.', ',', [rfReplaceAll]));
|
|
tblTitulosTP_SITUACAO.AsString := 'A';
|
|
tblTitulosDT_ENTRADA.AsDateTime := Date;
|
|
k := lista[17];
|
|
if sg_import.Cells[strtoint(lista[17]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosTX_PRODUTO.AsString :=
|
|
sg_import.Cells[strtoint(lista[17]) - 1, i];
|
|
end;
|
|
k := lista[19];
|
|
if sg_import.Cells[strtoint(lista[19]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosDT_VENCIMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[19]) - 1, i]);
|
|
end;
|
|
k := lista[20];
|
|
if lista[20] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[20]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosCD_DEVEDOR.AsString :=
|
|
sg_import.Cells[strtoint(lista[20]) - 1, i];
|
|
end;
|
|
end;
|
|
k := lista[21];
|
|
if lista[21] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[21]) - 1, i] = 'S' then
|
|
begin
|
|
tblTitulosTP_CHEQUE.AsString := 'S';
|
|
k := lista[22];
|
|
if sg_import.Cells[strtoint(lista[22]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosID_BANCO.AsString :=
|
|
sg_import.Cells[strtoint(lista[22]) - 1, i];
|
|
end;
|
|
k := lista[23];
|
|
if sg_import.Cells[strtoint(lista[23]) - 1, i] <> '' then
|
|
begin
|
|
tblTitulosTX_NRCHEQUE.AsString :=
|
|
sg_import.Cells[strtoint(lista[23]) - 1, i];
|
|
end;
|
|
k := lista[24];
|
|
if sg_import.Cells[strtoint(lista[24]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosTP_MOTIVO.AsString :=
|
|
sg_import.Cells[strtoint(lista[24]) - 1, i];
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
tblTitulosTP_CHEQUE.AsString := 'N';
|
|
end;
|
|
end;
|
|
k := lista[28];
|
|
if lista[28] <> '0' then
|
|
begin
|
|
tblTitulosTX_OBS.AsString := sg_import.Cells
|
|
[strtoint(lista[28]) - 1, i];
|
|
end;
|
|
k := lista[31];
|
|
if lista[31] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[31]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosDT_PAGAMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[31]) - 1, i]);
|
|
tblTitulosTP_SITUACAO.AsString := 'QC';
|
|
tblTitulosVL_CORRIGIDO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells
|
|
[strtoint(lista[18]) - 1, i], '.', ',',
|
|
[rfReplaceAll]));
|
|
end;
|
|
end;
|
|
tblTitulos.Post;
|
|
if not tblHistorico.active then
|
|
begin
|
|
tblHistorico.Open;
|
|
end;
|
|
tblHistorico.Append;
|
|
tblHistoricoID_DEVEDOR.AsInteger :=
|
|
tblDevedoresID_DEVEDOR.AsInteger;
|
|
tblHistoricoID_TITULO.AsInteger :=
|
|
tblTitulosID_TITULO.AsInteger;
|
|
// tblHistoricoID_PROVIDENCIA.AsInteger := 52;
|
|
tblHistoricoID_PROVIDENCIA.AsInteger :=
|
|
frmEscolheLayout.id_prov;
|
|
tblHistoricoDT_CONTATO.AsDateTime := Date;
|
|
tblHistorico.Post;
|
|
end
|
|
else
|
|
begin
|
|
// break;
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
tblTitulos.Append;
|
|
tblTitulosID_EMPRESA.AsInteger := id_empimport;
|
|
tblTitulosVL_TITULO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells[strtoint(lista[18]) -
|
|
1, i], '.', ',', [rfReplaceAll]));
|
|
tblTitulosTP_SITUACAO.AsString := 'A';
|
|
tblTitulosDT_ENTRADA.AsDateTime := Date;
|
|
k := lista[17];
|
|
if sg_import.Cells[strtoint(lista[17]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosTX_PRODUTO.AsString :=
|
|
sg_import.Cells[strtoint(lista[17]) - 1, i];
|
|
end;
|
|
k := lista[19];
|
|
if sg_import.Cells[strtoint(lista[19]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosDT_VENCIMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[19]) - 1, i]);
|
|
end;
|
|
k := lista[20];
|
|
if lista[20] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[20]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosCD_DEVEDOR.AsString :=
|
|
sg_import.Cells[strtoint(lista[20]) - 1, i];
|
|
end;
|
|
end;
|
|
k := lista[21];
|
|
if lista[21] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[21]) - 1, i] = 'S' then
|
|
begin
|
|
tblTitulosTP_CHEQUE.AsString := 'S';
|
|
k := lista[22];
|
|
if sg_import.Cells[strtoint(lista[22]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosID_BANCO.AsString :=
|
|
sg_import.Cells[strtoint(lista[22]) - 1, i];
|
|
end;
|
|
k := lista[23];
|
|
if sg_import.Cells[strtoint(lista[23]) - 1, i] <> '' then
|
|
begin
|
|
tblTitulosTX_NRCHEQUE.AsString :=
|
|
sg_import.Cells[strtoint(lista[23]) - 1, i];
|
|
end;
|
|
k := lista[24];
|
|
if sg_import.Cells[strtoint(lista[24]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosTP_MOTIVO.AsString :=
|
|
sg_import.Cells[strtoint(lista[24]) - 1, i];
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
tblTitulosTP_CHEQUE.AsString := 'N';
|
|
end;
|
|
end;
|
|
k := lista[28];
|
|
if lista[28] <> '0' then
|
|
begin
|
|
tblTitulosTX_OBS.AsString := sg_import.Cells
|
|
[strtoint(lista[28]) - 1, i];
|
|
end;
|
|
k := lista[31];
|
|
if lista[31] <> '0' then
|
|
begin
|
|
if sg_import.Cells[strtoint(lista[31]) - 1, i] <> '0' then
|
|
begin
|
|
tblTitulosDT_PAGAMENTO.AsDateTime :=
|
|
StrToDate(sg_import.Cells[strtoint(lista[31]) - 1, i]);
|
|
tblTitulosTP_SITUACAO.AsString := 'QC';
|
|
tblTitulosVL_CORRIGIDO.AsCurrency :=
|
|
StrtoCurr(StringReplace(sg_import.Cells
|
|
[strtoint(lista[18]) - 1, i], '.', ',', [rfReplaceAll]));
|
|
end;
|
|
end;
|
|
tblTitulos.Post;
|
|
if not tblHistorico.active then
|
|
begin
|
|
tblHistorico.Open;
|
|
end;
|
|
tblHistorico.Append;
|
|
tblHistoricoID_DEVEDOR.AsInteger :=
|
|
tblDevedoresID_DEVEDOR.AsInteger;
|
|
tblHistoricoID_TITULO.AsInteger :=
|
|
tblTitulosID_TITULO.AsInteger;
|
|
// tblHistoricoID_PROVIDENCIA.AsInteger := 52;
|
|
tblHistoricoID_PROVIDENCIA.AsInteger :=
|
|
frmEscolheLayout.id_prov;
|
|
tblHistoricoDT_CONTATO.AsDateTime := Date;
|
|
tblHistorico.Post;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
except
|
|
on E: Exception do
|
|
begin
|
|
if (Pos(E.Message, 'PRYMARY OR UNIQUE') > 0) and
|
|
(Pos(E.Message, 'CHG_HISTORICO') > 0) then
|
|
begin
|
|
hist_postou := false;
|
|
while not(hist_postou) do
|
|
begin
|
|
try
|
|
dtmSystem.tblHistorico.Post;
|
|
hist_postou := true;
|
|
except
|
|
hist_postou := false;
|
|
end;
|
|
end;
|
|
end
|
|
else
|
|
begin
|
|
if Messagedlg('Houve um erro ao tentar importar o dado na linha: ' +
|
|
inttostr(i) + ', coluna: ' + k + '. Erro: ' + E.Message +
|
|
sLineBreak + 'Deseja continuar?', mtError, [mbYes, mbNo], 0) = mrNo
|
|
then
|
|
begin
|
|
// dtmSystem.tblDevedores.Delete;
|
|
with dtmSystem do
|
|
begin
|
|
tblDevedores.EnableControls;
|
|
tblEnderecos.EnableControls;
|
|
tblTelefones.EnableControls;
|
|
tblCidades.EnableControls;
|
|
tblEstados.EnableControls;
|
|
tblCHGEmpresa.EnableControls;
|
|
tblTitulos.EnableControls;
|
|
tblHistorico.EnableControls;
|
|
tblDuplicados.EnableControls;
|
|
end;
|
|
abort;
|
|
end
|
|
else
|
|
begin
|
|
// dtmSystem.tblDevedores.Delete;
|
|
end;
|
|
end;
|
|
// showmessage('Houve um erro ao tentar importar o dado na linha: ' +
|
|
// inttostr(i) + ', coluna: ' + k + '. Erro: ' + E.Message);
|
|
end;
|
|
|
|
end;
|
|
Inc(Counter, 1);
|
|
if Counter < (sg_import.RowCount - 2) then
|
|
begin
|
|
pb_import.Position := Counter + 1;
|
|
pb_import.Position := Counter;
|
|
end
|
|
else
|
|
begin
|
|
pb_import.Max := Counter + 1;
|
|
pb_import.Position := Counter + 1;
|
|
pb_import.Max := Counter;
|
|
end;
|
|
Application.ProcessMessages;
|
|
end;
|
|
end;
|
|
with dtmSystem do
|
|
begin
|
|
tblDevedores.EnableControls;
|
|
tblEnderecos.EnableControls;
|
|
tblTelefones.EnableControls;
|
|
tblCidades.EnableControls;
|
|
tblEstados.EnableControls;
|
|
tblCHGEmpresa.EnableControls;
|
|
tblTitulos.EnableControls;
|
|
tblHistorico.EnableControls;
|
|
tblDuplicados.EnableControls;
|
|
end;
|
|
// end;
|
|
end;
|
|
|
|
procedure TimpDevedores.imp_LayoutClick(Sender: TObject);
|
|
begin
|
|
Messagedlg('Certifique-se de que o arquivo' +
|
|
' a ser importado corresponde ao layout a ser escolhido. CPFs e CNPJ devem conter ''0''s a esquerda.',
|
|
mtWarning, [mbOK], 0);
|
|
dtmSystem.tblLayouts.Open;
|
|
frmEscolheLayout := TfrmEscolheLayout.Create(self);
|
|
with frmEscolheLayout do
|
|
begin
|
|
ShowModal;
|
|
if escolheu = true then
|
|
begin
|
|
try
|
|
Carregar;
|
|
ImportarLayout;
|
|
if Messagedlg
|
|
('Deseja montar um relatório de entrada? (Ele só será preenchido caso novos títulos tenham sido inseridos)',
|
|
mtInformation, mbYesNo, 0) = mrYes then
|
|
begin
|
|
relBordero := TrelBordero.Create(self);
|
|
with relBordero do
|
|
begin
|
|
with zqryRel.SQL do
|
|
begin
|
|
Clear;
|
|
Add('select');
|
|
Add('A.id_devedor,');
|
|
Add('A.tx_nome as NOME,');
|
|
Add('case when a.tp_cliente = ''F'' then A.cd_cpf');
|
|
Add('when a.tp_cliente = ''J'' then a.cd_cnpj end as TX_DOCUMENTO,');
|
|
Add('A.cd_devedor AS CODIGO,');
|
|
Add('B.dt_entrada AS DATA_ENTRADA,');
|
|
Add('B.tx_produto AS PRODUTO,');
|
|
Add('B.vl_titulo AS VALOR,');
|
|
Add('B.dt_vencimento as DATA_VENCIMENTO');
|
|
Add('from chg_devedores A');
|
|
Add('inner join chg_titulos B');
|
|
Add('on (A.id_devedor = B.id_devedor)');
|
|
Add('where (B.id_empresa = ' + inttostr(dtmSystem.id_empimport)
|
|
+ ') and');
|
|
Add('(CAST(B.dt_entrada AS DATE) >= ' +
|
|
QuotedStr(FormatDateTime('mm/dd/YYYY', Date)) + ')');
|
|
Add('order by A.tx_nome');
|
|
end;
|
|
zqryRel.Open;
|
|
frBordero.PreviewModal;
|
|
end;
|
|
if not dtmSystem.tblDuplicados.active then
|
|
begin
|
|
dtmSystem.tblDuplicados.Open;
|
|
end;
|
|
if dtmSystem.tblDuplicados.RecordCount <> 0 then
|
|
begin
|
|
relDuplicados := TrelDuplicados.Create(self);
|
|
relDuplicados.frDuplicados.PreviewModal;
|
|
end;
|
|
end;
|
|
cadDevedores.importou := true;
|
|
except
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TimpDevedores.Layouts1Click(Sender: TObject);
|
|
begin
|
|
confLayouts := TconfLayouts.Create(self);
|
|
confLayouts.ShowModal;
|
|
end;
|
|
|
|
function TimpDevedores.OStripAccents(const aStr: String): String;
|
|
type
|
|
USASCIIString = type AnsiString(20127); // 20127 = us ascii
|
|
begin
|
|
Result := String(USASCIIString(aStr));
|
|
end;
|
|
|
|
procedure TimpDevedores.PovoaCB(tbSheet: TTabSheet);
|
|
var
|
|
i: integer;
|
|
begin
|
|
|
|
for i := 0 to tbSheet.ControlCount - 1 do
|
|
begin
|
|
if tbSheet.Controls[i] is TComboBox then
|
|
begin
|
|
with tbSheet.Controls[i] as TComboBox do
|
|
begin
|
|
Items.BeginUpdate;
|
|
try
|
|
begin
|
|
Items.Clear;
|
|
Items.AddStrings(itemList);
|
|
end;
|
|
finally
|
|
Items.EndUpdate;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
end;
|
|
|
|
procedure TimpDevedores.WMMoving(var Msg: TWMMoving);
|
|
begin
|
|
|
|
end;
|
|
|
|
end.
|
|
|