• Início
  • Cursos
  • Fontes de Aplicativos
  • Downloads
  • Contato
  • Sitemap
  • Sobre

Régys Borges da Silveira

  • Início
  • Cursos
  • Fontes de Aplicativos
  • Downloads
  • Contato
  • Sitemap
  • Sobre
Home  /  Notícias  /  Atualização do componente ACBrIBPTax
10 junho 2013

Atualização do componente ACBrIBPTax

Escrito por Régys Borges da Silveira
10/06/2013 Notícias 12.741/2013, ACBr, componente, Cupom, fiscal, Imposto, Lei, Transparência 34 comentários

Liberei agora a pouco a atualização para o componente ACBrIBPTax contemplando o novo campo de descrição que foi adicionado e também uma busca parcial de NCM, basta atualizar o repositório ACBr em suas máquinas e verificar o que foi alterado por meio do aplicativo exemplo.

Régys Borges da Silveira
Connect on Facebook Connect on Twitter Connect on Google+ Connect on Linkedin

Artigos relacionados

  • ACBrPosPrinter com SmartPOS e Mini PDV Elgin

    20/09/2022
  • ARQUITETURA FISCAL EM SOFTWARE

    02/09/2021
  • Unboxing de produtos Elgin/Bematech

    01/09/2021

1 comentário

  1. Ronaldo Braz Responde a Ronaldo para Ronaldo Braz" aria-label=" Responde a Ronaldo para Ronaldo Braz"> Responde a Ronaldo
    14/06/2013 at 08:39

    Régys,

    Como eu faço para recuperar a propriedade (tabela) importada, todos os outros campos eu consegui recuperar só o da tabela que não, não consegui identificar o tupo de campo que está
    na propriedade (tabela), veja como eu fiz, tentei com o tipo string e integer e nenhum deu certo
    está dando este erro.

    nTabela := ArqImp.Itens[1].Tabela;
    [Error] Unit1.pas(77): Incompatible types: ‘Integer’ and ‘TACBrIBPTaxTabela’

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      14/06/2013 at 11:33

      Veja que a propriedade é um tipo enumerado, você pode fazer assim:

      Usando Cast:
      Integer(ArqImp.Itens[1].Tabela);

      Usando Case:

      case ArqImp.Itens[1].Tabela do
      tabNCM: Result := '0';
      tabNBS: Result := '1';
      tabLC116: Result := '2';
      end;

      Pode também usar os métodos:
      function TabelaToString(const ATabela: TACBrIBPTaxTabela): String;
      function StringToTabela(const ATabela: String): TACBrIBPTaxTabela;

  2. Ronaldo Braz Responde a Ronaldo para Ronaldo Braz" aria-label=" Responde a Ronaldo para Ronaldo Braz"> Responde a Ronaldo
    12/06/2013 at 16:57

    Régys, como eu faço para o valor do campo (Tabela), não estou conseguindo
    saber qual o tipo de campo que eu devo definir para receber essa campo.

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      12/06/2013 at 18:43

      Não consegui entender a dúvida.

  3. Roberto Araujo Responde a Roberto para Roberto Araujo" aria-label=" Responde a Roberto para Roberto Araujo"> Responde a Roberto
    11/06/2013 at 09:56

    Bom dia Régys!!

    Está ocorrendo um erro e creio ser por conta da TACBrIBPTaxTabela = (tabNCM, tabNBS);
    Agora o arquivo tem três tipos de Tabelas: 0, 1 e 2;

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      11/06/2013 at 10:02

      Vou verificar já subo a alteração.

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      11/06/2013 at 10:07

      No manual não consta o 2, por isso passou em branco, enviei um e-mail ao IBPT para que façam a atualização, já vou atualizar o componente.

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      11/06/2013 at 10:26

      Acerto efetuado já está disponível no repositório.

      • Roberto Araujo Responde a Roberto para Roberto Araujo" aria-label=" Responde a Roberto para Roberto Araujo"> Responde a Roberto
        11/06/2013 at 11:12

        Ok Régys, tudo certo agora…:D

  4. Ricardo Mauro Responde a Ricardo para Ricardo Mauro" aria-label=" Responde a Ricardo para Ricardo Mauro"> Responde a Ricardo
    11/06/2013 at 09:23

    Bom dia Rédys, acabei de fazer um update nos fontes do ACBr “https://acbr.svn.sourceforge.net/svnroot/acbr/trunk” e não veio a atualização com o campo descrição. O endereço dos fontes é este mesmo???

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      11/06/2013 at 09:30

      O endereço mudou, o SourceForge fez uma atualização em todos os enderços hospedados nele, veja aqui como alterar para o novo endereço: Alteração no endereço do repositório do Projeto ACBr

  5. Carlos Responde a Carlos para Carlos" aria-label=" Responde a Carlos para Carlos"> Responde a Carlos
    10/06/2013 at 16:15

    Eu mantive o mesmo componente,apenas removi a descrição do arquivo csv e tudo ficou funcionando normalmente…o duro são os contadores falando q o calculo esta errado, e quando vc diz que esta tomando como base a tabela IBPT eles não sabe o que é.. ai é osso…

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      10/06/2013 at 16:25

      Sim se remover a descrição passa sem problema, já entrei em contato com o pessoal do IBPT para acertar a tabela, até o fim do dia eles vão liberar uma nova acertada.

  6. Roberio Praciano Responde a Roberio para Roberio Praciano" aria-label=" Responde a Roberio para Roberio Praciano"> Responde a Roberio
    10/06/2013 at 14:40

    Regis o Endereco continua o mesmo?
    https://acbr.svn.sourceforge.net/svnroot/acbr/trunk/Exemplos/ACBrIBPTax/tabela/AcspDeOlhoNoImpostoIbptV.0.0.2.csv

    esse fica na barra ta dandop erro 404

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      10/06/2013 at 14:47

      O SourceForge agora mudou, não tem como mais acessar direto, baixe a tabela e hospede ela em um endereço conhecido, ou use o método abrir passando o caminho do arquivo local.

      • Roberio Praciano Responde a Roberio para Roberio Praciano" aria-label=" Responde a Roberio para Roberio Praciano"> Responde a Roberio
        10/06/2013 at 14:53

        Blz ja me cadastrei no ibpt, to esperando receber, ou vc pode disponibilizar link?

        • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
          10/06/2013 at 15:27

          Já disponibilizei, veja no blog por favor.

      • Roberio Praciano Responde a Roberio para Roberio Praciano" aria-label=" Responde a Roberio para Roberio Praciano"> Responde a Roberio
        10/06/2013 at 15:15

        Regys desculpe esta sendo chato, mas estou pegando o cliente data set do exemplo e importando pro meu banco e so importa 4167 registos, quando fui olhar a rotina que alimenta do dataset do exemplo ele so traz 4167, mesmo o arquivo tendo 11641 registros,sabe pq?

        • Roberio Praciano Responde a Roberio para Roberio Praciano" aria-label=" Responde a Roberio para Roberio Praciano"> Responde a Roberio
          10/06/2013 at 15:24

          Ja vi alguns registros tem apenas 6 campo como exemplo
          01012100;;0;–Reprodutores de raça pura;26.75;27.35;
          01023110;;0;Prenhes ou com cria ao pé;14.80;15.40;

          na ROTINA PopularItens vc so esta pegando item com 7 registros, sabe pq?, obg desculpe o jeito

          • Régys
            10/06/2013 at 15:30

            Na verdade são 7, o ultimo item sempre vai estar em branco.

          • Roberio Praciano
            10/06/2013 at 15:31

            foi mau, ne isso nao na descricao dos ncm tem descricao com ; como delimitador é ; os itens na popular itens ficam com mais de colunas dai não importam

          • Régys
            10/06/2013 at 15:45

            Isso mesmo, vou enviar um e-mail a eles falando sobre o erro e ver no que dá.

        • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
          10/06/2013 at 15:29

          Aparentemente tem produtos na tabela que tem “;” na descrição, isso está causando um erro na importação.

          • Roberio Praciano
            10/06/2013 at 16:05

            Resolvi no populaitens fazendo o seguinte:
            Alimentando os 3 primeiros e os 2 ultimos, depois concatenando o do meio assim, so que ficou lento, acho que da pra melhorar

            Item.DelimitedText := Arquivo.Strings[I];
            if Item.Count >6 then
            begin
            // codigo;ex;tabela;descricao;aliqNac;aliqImp;0.0.2
            with Itens.New do
            begin
            NCM := Item.Strings[0];
            Excecao := Item.Strings[1];
            Tabela := TACBrIBPTaxTabela(StrToInt(Trim(Item.Strings[2])));

            if Item.Count>7 then
            begin
            for x := 3 to Item.Count-3 do
            Descricao :=Descricao+’ ‘+Item.Strings[x];
            end
            else
            Descricao :=Item.Strings[3];

            AliqNacional := StringToFloatDef(Item.Strings[Item.Count-2], 0.00);
            AliqImportado := StringToFloatDef(Item.Strings[Item.Count-1], 0.00);
            end;

          • Régys
            10/06/2013 at 16:26

            Isso não vai funcionar corretamente porque existem outros problemas referentes a limitações do delphi que encontrei, estou reescrevendo o popula itens e a IBPt vai liberar nova tabela até o fim do dia também com as descrições acertadas.

          • Maicon da Silva Evangelista
            10/06/2013 at 16:19

            Boa tarde Regys, verifiquei que o problema esta o carácter “ç” em todos os produtos que tem isso esta dando problema… acho que vamos ter que fazer a separação das colunas manualmente ao invés de deixar na mão do TStringList.

          • Régys
            10/06/2013 at 16:24

            Entrei em contato com a Mayara, o pessoal do IBPT já está trabalhando no acerto do problema e até o fim do dia eles liberarão uma nova tabela acertada, estou alterando também o componente porque percebi que o Delphi trata o texto delimitado de uma forma diferente, sempre considerando alguns caracteres como delimitadores, nas versões mais novas temos uma propriedade StrictDelimitedText para acertar isso nas versões antigas do delphi não existe, vou fazer a separação manualmente, mas de qualquer forma vamos aguardar a nova tabela do IBPT.

          • Maicon da Silva Evangelista
            10/06/2013 at 17:11

            Regys, fiz algumas alterações no método PopulaItens, resolveu o meu prolema com a nova tabela versão 0.0.2, segue o novo código:
            -Editado

          • Régys
            10/06/2013 at 17:15

            Editei o comentário, porque vai ficar gigante na página.

            Já enviei uma correção para o repositório, agora lê normalmente, mas ainda persiste o problema de ter “;” na descrição dos NCMs, isso eu não vou alterar, porque é um erro da tabela, já entrei em contato com o pessoal da IBPT e até o fim do dia eles vão acertar, basta atualizar e aguardar a nova versão da tabela que tudo vai ficar ok.

          • Roberio Praciano
            10/06/2013 at 17:24

            Cara pra mim funcionou blz importou 11640 linhas so tem uma pequena correcao no codigo, mas confio em vc se não funciona , não funciona, vou esperar entao, obg

          • Régys
            10/06/2013 at 17:27

            Então, eu fiz vários testes aqui, se fosse Delphi 2010 resolvia fácil ativando uma propriedade, mas como tem que funcionar para qualquer delphi e lazarus, então fiz a rotina a mão, ficou beleza, só persiste mesmo o problema de ter o ‘;’ isso é um erro, porque o padrão csv define o delimitador e ele não pode ser usado no valor do campo, então é um erro de estrutura, mas isso eu chequei com o pessoal do IBPT e prometeram arrumar até o fim do dia.

          • Roberio Praciano
            10/06/2013 at 17:29

            Estou aguardando do ibpt, mas ficou algum problema ainda so importou 11386 e são 11640, mesmo assim ficou bem mais elegante da forma que vc fez

          • Régys
            10/06/2013 at 17:31

            Os que não importaram são os que tem o “;” no meio da descrição, quando o IBPT arrumar a tabela, ai não teremos mais problemas.

          • Régys
            10/06/2013 at 23:10

            Refiz a implementação da leitura da linha da tabela, agora ficou a prova de bala, testei aqui e está ok com a nova tabela sem gerar problemas.

Dê-nos sua opinião, seu comentário ajuda o site a crescer e melhorar a qualidade dos artigos.Cancelar resposta

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Inscreva-se nas nossas redes sociais

  • Connect on Facebook
  • Connect on Twitter
  • Connect on LinkedIn
  • Connect on Instagram
  • Connect on RSS
  • Connect on YouTube
  • Connect on Github

Sites parceiros

  • Carlos H. Cantu
  • Delphi Basics
  • Delphi Feeds
  • Isaque Pinheiro
  • Object Pascal OOP

Social Media

  • Connect on Facebook
  • Connect on Twitter
  • Connect on LinkedIn
  • Connect on RSS
  • Connect on YouTube
  • Connect on Github
© Copyright 2014. Todos os direitos reservados.
Vá para versão mobile