Ir para conteúdo
  • Cadastre-se

dev botao

Leitura incorreta da Tag <toma> no CT-e Simplificado


Ver Solução Respondido por Italo Giurizzato Junior,

Recommended Posts

Postado

Estava testando a impressão de CT-e Simplificado e notei que os dados de Tomador não estavam sendo carregados corretamente, debugando o ACBr notei que na função TCTeR.Ler_Tomador ao usar o Leitor.rExtrai(1, 'toma') o retorno é <toma><toma>0</toma> creio que isso é devido ao fato que ele encontra as Tags de abertura e fechamento porém não pertencem a mesma TAG, fazendo com que o Grupo utilizado para buscar as informações posteriormente fique errado.

image.thumb.png.1fe55bcf3f0d58986d59b6d7185bc2d0.pngimage.thumb.png.99cbd84708b9398c190804b792a8f367.png

  • Consultores
Postado

Boa tarde @Adrian Kempinski,

Caso esteja com todos os fontes de todas as pastas atualizados, note que a nova versão do ACBrInstall temos a seguinte opção:

image.png

Marque a opção para usar o ACBrXmlDocument.

Essa alteração vai afetar todos os componentes DF-e (ACBrNFe, ACBrCTe, ACBrMDFe, etc).

Eu acredito que a nova unit responsável pela leitura do XML escrita para o CT-e vai conseguir ler corretamente o XML, além dela ser muito mais rápida.

  • Curtir 1
Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Bom dia, estive realizando alguns testes e parece que mesmo com a opção nova não é possível carregar os Documentos, debugando o programa notei que ao validar o XML no TCTeXmlReader.ValidarXML ele não consegue encontrar o infCte, no CTeNode := Document.Root ele retorna a estrutura <cteProcSimp><CTeSimp>...</CTeSimp><protCTe>...</protCTe></cteProcSimp>  e quando tenta utilizar o CTeNode.Childrens.FindAnyNs('infCte') os Childrens a serem considerados são "CTeSimp" e "protCTe" creio que o correto seria criar uma nova condição `if Document.Root.Name = 'cteProcSimp' then` e dentro setar o CTeNode := Document.Root.Childrens.FindAnyNs('CTeSimp');.

Outro problema que vi é no carregamento de informações para a impressão, dentro do TIdeHandler.LerIde ele lê o Toma3 e Toma4 e como não existe essas tags de Tomador nesse tipo de Documento o ide.Toma3 é setado como "Remetente" (0) e no ACBrCTeDACTEFR ao tentar carregar o Tomador ficaria errado, também existem outros problemas na geração de PDF já que não carrega os dados na ACBrCTeDACTEFR. Estou fazendo algumas alterações e testando por enquanto, caso estejam de acordo passo futuramente para vocês.

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.