Ir para conteúdo
  • Cadastre-se

dev botao

Nova unit para leitura do XML de CTe.


Recommended Posts

  • Consultores

Olá pessoal!

A equipe do ACBr está sempre empenhada em disponibilizar melhorias a comunidade.

E por causa disso, gostaria de comunicar a criação de uma nova unit para realizar a leitura do XML do CTe!

A mesma foi nomeada de ACBrCTeXMLHandler e foi adicionada no caminho ACBr\trunk2\Fontes\ACBrDFe\ACBrCTe\PCNCTe\

A nova unit foi criada visando fornecer uma nova opção para quem utiliza os componentes nativos em Delphi ou Lazarus, trazendo mais velocidade no processo de leitura, principalmente em casos em que o arquivo XML contém uma grande quantidade de informações.

Algo muito simples de acontecer considerando a existência de múltiplos grupos no leiaute do CTe que não limitam o número máximo de ocorrências (os famigerados 0 -n / 1 - n).

Vejam um simples exemplo comparando o desempenho de ambas as units lendo um arquivo XML de CTe com 1.800 ocorrências do grupo <emiDocAnt>:

image.png

Enquanto a rotina atual demorou mais de 200 segundos a nova rotina concluiu o processo em apenas 1 segundo.

E como eu faço para usar esta nova unit?

Para utilizar a nova classe, é necessário retirar o comentário da seguinte diretiva no arquivo ACBr.inc e em seguida realizar o processo de reinstalação do ACBr.

image.png

 

Um agradecimento ao membro de nossa comunidade @luisclaudio_jr que forneceu XMLs para serem usados nos testes.

  • Curtir 1
Consultor SAC ACBr

Diego Folieni
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.