Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3757 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Olá ... 

Preciso carregar um CTE ( loadfromfile ), para extrair os dados dele .. 

No CTe em anexo, como faço pra ver as tags cStat, xMotivo e nProt ?

Pelo q vi ele não tem a tag </cteProc> somente a <procCTe> ...

 

localizei e alterei no arquivo ACBrConhecimentos.pas, na função LoadFromFile, o seguinte trecho:

 

         if pos('</cteProc>', ArquivoXML.Text) > 0  then
          begin
            XML := copy(ArquivoXML.Text, 1, pos('</cteProc>', ArquivoXML.Text) + 5);
            ArquivoXML.Text := Trim(copy(ArquivoXML.Text, pos('</cteProc>', ArquivoXML.Text) + 10, length(ArquivoXML.Text)));
          end
         else
          begin
            XML := copy(ArquivoXML.Text, 1, pos('</CTe>', ArquivoXML.Text) + 5);
            ArquivoXML.Text := Trim(copy(ArquivoXML.Text, pos('</CTe>', ArquivoXML.Text) + 6,length(ArquivoXML.Text)));
          end;
 
a alteração ficou:
 
         if pos('</cteProc>', ArquivoXML.Text) > 0  then
          begin
            XML := copy(ArquivoXML.Text, 1, pos('</cteProc>', ArquivoXML.Text) + 5);
            ArquivoXML.Text := Trim(copy(ArquivoXML.Text, pos('</cteProc>', ArquivoXML.Text) + 10, length(ArquivoXML.Text)));
          end
         else
         // começa aqui ...
         if pos('</procCTe>', ArquivoXML.Text) > 0  then
          begin
            XML := copy(ArquivoXML.Text, 1, pos('</procCTe>', ArquivoXML.Text) + 5);
            ArquivoXML.Text := Trim(copy(ArquivoXML.Text, pos('</procCTe>', ArquivoXML.Text) + 10, length(ArquivoXML.Text)));
          end
         else
         // termina aqui ...
          begin
            XML := copy(ArquivoXML.Text, 1, pos('</CTe>', ArquivoXML.Text) + 5);
            ArquivoXML.Text := Trim(copy(ArquivoXML.Text, pos('</CTe>', ArquivoXML.Text) + 6,length(ArquivoXML.Text)));
          end;
 
A alteração resolveu o problema.. mas, está correto isso ??
 
Obrigado desde já !!

 

35140412700261000101570010000000451000700049-cte.xml

  • Consultores
Postado

Bom dia pjunior,

 

Esse XML que você postou, não é gerado pelo componente ACBrCTe e sim baixado do Site da SEFAZ (link Download).

 

A estrutura dele é diferente o LoadFromFile do componente não esta preparado para ler esse XML.

 

A alteração que você fez parece estar correta em partes, pois esse arquivo poderá conter também os eventos vinculados ao CT-e, e neste caso o LoadFromFile não vai ler eles.

 

Independente disso, para ler as informações desejadas:

 

ACBrCTe.Conhecimentos.Items[0].CTe.procCTe.cStat

ACBrCTe.Conhecimentos.Items[0].CTe.procCTe.xMotivo

ACBrCTe.Conhecimentos.Items[0].CTe.procCTe.nProt

  • 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 Italo !!

Grato pela resposta .. 

 

Isso mesmo ..

Essas tags q vc passou, antes de eu alterar, estavam vindo vazias .. 

Aí pra esse caso q eu precisava fazer a leitura, a alteração resolveu ..

 

A função do componente será acertada para esses casos q vc me passou acima ??

 

[]´s

Junior.

  • Este tópico foi criado há 3757 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...