Sintegra - como usar o objeto GeraSintegra |
Top Previous Next |
uses SintegraUnit; // lib2k\Objetos
procedure GerarArquivoParaSintegra; var GeraSintegra: TGeraSintegra; Ok: Boolean; begin GeraSintegra := TGeraSintegra.CReate;
if not GeraSintegra.DLL_OK then begin GeraSintegra.Free; Exit; end;
Ok := GeraSintegra.Reg10_11(CNPJ, IE, Razao, Cidade, UF, Fax, Rua, Numero, Complemento, Bairro, CEP, Contato, Fone, fDtIni, fDtFim);
with DM.Query do begin // soma as bicheiras fValor := GetFloat('basecalc1') + GetFloat('basecalc2') + GetFloat('basecalc3') + GetFloat('basecalc4') + GetFloat('basecalc5') + GetFloat('substtrib') + GetFloat('isento' ) + GetFloat('naotrib' ); // pra cada dia tem 1 desse: fOk := GeraSintegra.Reg60M(GetDate('data'), Campo('nserie'), Campo('num_ecf'), Campo('cooinicial'), Campo('cooatual'), Campo('reducoesz'), Campo('cro'), fValor, GetFloat('gtatual')); // para cada aliquota gera um "A" if fOk then fOk := GeraSintegra.Reg60A(GetDate('data'), Campo('nserie'), GetFloat('aliq1'), GetFloat('basecalc1')); if fOk then fOk := GeraSintegra.Reg60A(GetDate('data'), Campo('nserie'), GetFloat('aliq2'), GetFloat('basecalc2')); if fOk then fOk := GeraSintegra.Reg60A(GetDate('data'), Campo('nserie'), GetFloat('aliq3'), GetFloat('basecalc3')); if fOk then fOk := GeraSintegra.Reg60A(GetDate('data'), Campo('nserie'), GetFloat('aliq4'), GetFloat('basecalc4')); if fOk then fOk := GeraSintegra.Reg60A(GetDate('data'), Campo('nserie'), GetFloat('aliq5'), GetFloat('basecalc5')); if fOk then fOk := GeraSintegra.Reg60A(GetDate('data'), Campo('nserie'), 99, GetFloat('substtrib')); if fOk then fOk := GeraSintegra.Reg60A(GetDate('data'), Campo('nserie'), -1, GetFloat('isento' )); end;
if fOk then fOk := GeraSintegra.Reg90;
if fOk then begin if GeraSintegra.Registros <= 3 then Msg.Erro('Nada encontrado') else begin GeraSintegra.SalvarArquivo := True; GeraSintegra.Arquivo := 'C:\sintegra.txt'; end; end else Msg.Erro(GeraSintegra.MensagemErro);
GeraSintegra.Finaliza; GeraSintegra.Free; end; |