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;