Régys Borges da Silveira

  • Início
  • Assinatura Fontes
  • Cursos
  • Fontes de Aplicativos
  • Downloads
  • Contato
  • Sitemap
  • Sobre
17 maio 2013

Como utilizar o ACBrIBPTax

Escrito por Régys Borges da Silveira
17/05/2013 ACBr 12.741, ACBr, ACBrIBPTax, Delphi, Impostos, Lei, Transparência 69 comentários

Foi liberado na paleta de componentes ACBr um novo componente para baixar e manipular a tabela de impostos aproximados do IBPT, segue um exemplo de como utilizar o componente para efetuar o download e manipular os dados baixados.

var
  I: Integer;
begin
  // configurar a URL do arquivo para ser baixado
  // Você configurar como quiser, para o seu site ou servidor proprios
  // deixarei a tabela atualizada sempre no endereço
  // https://regys.com.br/arquivos/AcspDeOlhoNoImpostoIbptV.0.0.1.csv
  if Trim(URL) <> '' then
    ACBrIBPTax1.URLDownload := Trim(URL);

  // se o path do arquivo não for passado o componente tenta baixar da URL
  // informada na propriedade URLDownload
  // Se o path for passado ele abre diretamente o arquivo informado
  if ACBrIBPTax1.AbrirTabela(Path Arquivo .csv) then
  begin
    // versão do arquivo
    lVersao.Caption := 'Versão: ' + ACBrIBPTax1.VersaoArquivo;

    // exemplo de como popular uma tabela com os dados baixados
    tmpCadastro.Close;
    tmpCadastro.DisableControls;
    try
      for I := 0 to ACBrIBPTax1.Itens.Count - 1 do
      begin
        tmpCadastro.Append;
        tmpCadastroNCM.AsString              := ACBrIBPTax1.Itens[I].NCM;
        tmpCadastroEx.AsString               := ACBrIBPTax1.Itens[I].Excecao;
        tmpCadastroTabela.AsInteger          := Integer(ACBrIBPTax1.Itens[I].Tabela);
        tmpCadastroAliqNacional.AsFloat      := ACBrIBPTax1.Itens[I].AliqNacional;
        tmpCadastroAliqInternacional.AsFloat := ACBrIBPTax1.Itens[I].AliqImportado;
        tmpCadastro.Post;
      end;
    finally
      tmpCadastro.First;
      tmpCadastro.EnableControls;
    end;
  end;
end;

Existe outros métodos no componente tais como:

Método para efetuar o download da tabela, não esquecer de informar o enderço na propriedade URLDownload
ACBrIBPTax1.DownloadTabela

método para exportar o arquivo para diversos formatos
ACBrIBPTax1.Exportar(path arquivo, tipo);
Parâmetros:
Path Arquivo: caminho onde deseja salvar o arquivo
Tipo: Formato do arquivo, os formatos disponibilizados são: exCSV, exDSV, exXML, exHTML, exTXT

Existe um overload para o método ACBrIBPTax1.Exportar(path arquivo, delimitador), onde o parâmetro delimitador pode ser utilizado para gerar um arquivo Texto com valores separados pelo delimitador informado.

Você também pode procurar por um NCM específico na tabela utilizando esse exemplo:

var
  ex: String;
  tabela: Integer;
  aliqNac, aliqImp: Double;
begin
  if ACBrIBPTax1.Procurar(Codigo NCM, ex, tabela, aliqNac, aliqImp) then
  begin
    ShowMessage(
      'Exceção: '  + ex + sLineBreak +
      'Tabela: '   + IntToStr(tabela) + sLineBreak +
      'Aliq Nac: ' + FloatToStr(aliqNac) + sLineBreak +
      'Aliq Imp: ' + FloatToStr(aliqImp)
    );
  end
  else
    showmessage('Código não encontrado!');
end;

Compartilhar este post

  • Clique para compartilhar no WhatsApp(abre em nova janela) WhatsApp
  • Clique para compartilhar no Telegram(abre em nova janela) Telegram
  • Clique para compartilhar no Facebook(abre em nova janela) Facebook
  • Clique para compartilhar no LinkedIn(abre em nova janela) LinkedIn
  • Clique para imprimir(abre em nova janela) Imprimir
  • Clique para enviar um link por e-mail para um amigo(abre em nova janela) E-mail

Curtir isso:

Curtir Carregando...

Descubra mais sobre Régys Borges da Silveira

Assine para receber nossas notícias mais recentes por e-mail.

© Copyright 2014. Todos os direitos reservados.