Ir para conteúdo
  • Cadastre-se

dev botao

Problemas com o ACBRXMLDocument no NFe e CTe


Recommended Posts

Bom dia. Tudo bem ??
Estava fazendo testes sobre o CTe Simplificado e estava perdendo a Tag <toma> após fazer a Assinatura com certificado, pelo Load do arquivo XML para o componente, pesquisando no fórun achei a mesma dúvida de outros usuários e indicativas de correção, que seria reinstalar o ACBR com o XMLDocument marcado. Fiz esse processo e deu certo a emissão do CTe Simplificado.

Porém seguindo o uso padrão do sistema.. percebi que estava com problemas na Assinatura de NF-e onde também passo o Arquivo XML pelo Load ao componente. Com isso ele está perdendo as tags de ICMS00,ICMS60... 
Para testar, reinstalei o ACBR com XMLDocument desmarcado e regerei o XML da Nfe, e com isso também deu certo.

Então.. 
XMLDocument marcado funcionou para emissão dos CTes. Mas deu problema com as tags de ICMS para NFe

Aguardo retorno. Obrigada!

image.png image.png.58f3300f70cde2f91366eb9ac818abb7.png

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores

Hum pode ser sim

tu conseguiu no caso do xmldocument debugar a NFe pois estamos em fase de mudança  iremos remover o PCN

se sim chegou a identificar o que está ocorrendo e uma possível solução

  • Curtir 2
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde @Éva Cleidiane Coutinho,

Nos ajudaria se você pudesse disponibilizar o XML da NF-e que ao tentar ler com a nova unit não fez a leitura correta.

Você poderia nos enviar o XML?

  • Curtir 2
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

Link para o comentário
Compartilhar em outros sites

27 minutos atrás, Juliomar Marchetti disse:

Hum pode ser sim

tu conseguiu no caso do xmldocument debugar a NFe pois estamos em fase de mudança  iremos remover o PCN

se sim chegou a identificar o que está ocorrendo e uma possível solução

Não cheguei a debugar internamente nas funções, só percebi o retorno com as tags defasadas
ACBrNFe1.NotasFiscais.Clear;
ACBrNFe1.NotasFiscais.LoadFromFile(sArquivoXML, false);
ACBrNFe1.NotasFiscais.Assinar;

 

Enviamos o XML por esse métodos e o retorno vem correto e assinado quando o XMLDocument não está instalado.
O Erro que apresenta creio ser de Schemas, segue imagem do Erro também, junto com os XMLs. Geramos o XML manualmente, não usamos o componente para a geração, somente para autenticação.
image.png.07cc06c8b1653df8fad92b31de906946.png

43241003157446000112550010000002011875099819_AntesAssinar.xml 43241003157446000112550010000002011875099819_DepoisAssinar.xml

Editado por Éva Cleidiane Coutinho
ajuste texto
  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores
3 minutos atrás, Éva Cleidiane Coutinho disse:

Enviamos o XML por esse métodos e o retorno vem correto e assinado quando o XMLDocument não está instalado.
O Erro que apresenta creio ser de Schemas, segue imagem do Erro também, junto com os XMLs. Geramos o XML manualmente, não usamos o componente para a geração, somente para autenticação.

esse é um sofrimento que não precisariam estar passando pois o componente foi feito exatamente para que possa alimentar os objetos e ter o xml gerado.

além de todo momento que sai alguma mudança ter que modificar. tu se preocupa além da regra de negocio toda a parte fiscal em que o componente já lhe dá essa puta mão na roda

  • Curtir 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

Certo... mas creio que isso não venha ao caso agora @Juliomar Marchetti. Imagino que os ajustes feitos para utilizar o XMLDocument tenha afetado a função do LoadFromFile. Consegue colocar na lista de afazeres/ajustes futuros? Já que para utilizar o CTe Simplificado precisa estar instalado o XMLDocument.

Editado por Éva Cleidiane Coutinho
  • Curtir 1
  • Confuso 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores
50 minutos atrás, Éva Cleidiane Coutinho disse:

Certo... mas creio que isso não venha ao caso agora @Juliomar Marchetti. Imagino que os ajustes feitos para utilizar o XMLDocument tenha afetado a função do LoadFromFile. Consegue colocar na lista de afazeres/ajustes futuros? Já que para utilizar o CTe Simplificado precisa estar instalado o XMLDocument.

Tu é do PRO?

se sim lembre-se de usar o usuário PRO e postar no canal de PRO

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
3 minutos atrás, Juliomar Marchetti disse:

Tu é do PRO?

se sim lembre-se de usar o usuário PRO e postar no canal de PRO

Boa tarde, sim somos usuário PRO.
Apenas a minha colega postou neste fórum o ocorrido.
Acha que ainda é necessário ser postado lá no canal do Discord?
Se sim, no canal pro-nfe ou pro-cte?

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Moderadores
21 minutos atrás, sandroreck disse:

Boa tarde, sim somos usuário PRO.
Apenas a minha colega postou neste fórum o ocorrido.
Acha que ainda é necessário ser postado lá no canal do Discord?
Se sim, no canal pro-nfe ou pro-cte?

sempre que postar usar o usuário PRO para atender o SLA

obrigado

no caso vou mover ele . pois a questão é da NFe e NFCe . como dito está sendo feito a mudança para o xmldocument

e novamente sempre que postar para que o SLA seja válido usar o usuário PRO e nos canais PRO.

movendo

  • Obrigado 1
Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Se não me engano, no método "Load" tem um parâmetro Boleano, que é para saber se o ACBr deve "regerar" o XML... Deixa ele False

@Italo Giurizzato Junior, acho que precisamos comparar o resultado final dos "Writers" da PCN x XMLDocument...

  • Obrigado 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @Éva Cleidiane Coutinho.

Por favor, o arquivo intitulado _AntesdeAssinar que foi disponibilizado, é o conteúdo que foi carregado no componente pelo LoadFromFile?

 Eu fiz alguns testes em meu ambiente com os arquivos que disponibilizou.

Para tal, eu fiz o download do arquivo chamado _AntesdeAssinar, abri o mesmo com o notepad++, alterei o CNPJ do emitente para o do certificado digital que estou utilizando e usei um plugin para "lineariazar" o arquivo, ou seja, ao invés de manter ele indentado, deixar todo o conteúdo em uma única linha.

Depois disso, adicionei um botão com seguinte código no programa exemplo:

OpenDialog1.Title := 'Escolha o arquivo XML';
OpenDialog1.Filter := 'Arquivos XML (*.XML)|*.XML|Arquivos xml (*.xml)|*.xml';
if OpenDialog1.Execute then
begin
  ACBrNFe1.NotasFiscais.Clear;
  ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName);
  ACBrNFe1.NotasFiscais.Assinar;
  memoLog.Text := ACBrNFe1.NotasFiscais[0].XMLAssinado;
end;

Nestes testes, eu não tive problemas, usando tanto pcn quanto ACBrXmlDocument.

Em ambos os casos, o arquivo foi gerado com o grupo da assinatura e com as informações do ICMS.

Utilizei então novamente um plugin do notepad++ para identar o arquivo XML.

Fazendo um novo teste, agora com este arquivo indentado, obtive o mesmo resultado que você.

  • Obrigado 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

  • Membros Pro
32 minutos atrás, Diego Foliene disse:

Bom dia @Éva Cleidiane Coutinho.

Por favor, o arquivo intitulado _AntesdeAssinar que foi disponibilizado, é o conteúdo que foi carregado no componente pelo LoadFromFile?

 Eu fiz alguns testes em meu ambiente com os arquivos que disponibilizou.

Para tal, eu fiz o download do arquivo chamado _AntesdeAssinar, abri o mesmo com o notepad++, alterei o CNPJ do emitente para o do certificado digital que estou utilizando e usei um plugin para "lineariazar" o arquivo, ou seja, ao invés de manter ele indentado, deixar todo o conteúdo em uma única linha.

Depois disso, adicionei um botão com seguinte código no programa exemplo:

OpenDialog1.Title := 'Escolha o arquivo XML';
OpenDialog1.Filter := 'Arquivos XML (*.XML)|*.XML|Arquivos xml (*.xml)|*.xml';
if OpenDialog1.Execute then
begin
  ACBrNFe1.NotasFiscais.Clear;
  ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName);
  ACBrNFe1.NotasFiscais.Assinar;
  memoLog.Text := ACBrNFe1.NotasFiscais[0].XMLAssinado;
end;

Nestes testes, eu não tive problemas, usando tanto pcn quanto ACBrXmlDocument.

Em ambos os casos, o arquivo foi gerado com o grupo da assinatura e com as informações do ICMS.

Utilizei então novamente um plugin do notepad++ para identar o arquivo XML.

Fazendo um novo teste, agora com este arquivo indentado, obtive o mesmo resultado que você.

Bom dia.
Obrigado pelos retornos.

Já usamos o parâmetro False no Loadfromfile para não regerar xml.

Usamos a classe TXMLdocument do Delphi para criar o xml e salvamos em disco antes assinar.
Percebemos que ao instalar os componentes ACBR com a opção 'ACBrXmlDocument' ele salva todo 'formatado' conforme comentou.
Já reinstalando os componentes ACBR, sem marcar a opção 'ACBrXmlDocument', volta ao normal, salvando de forma 'não formatado'...
Parece que sobrescreve a classe do Delphi.

 

 

  • Curtir 2
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @sandroreck,

Fiz algumas alterações na unit nova que usa o ACBrXmlDocument responsável pela leitura do XML da NF-e/NFC-e.

Por favor atualize todos os fontes de todas as pastas, reinstale o ACBr com a opção de usar o ACBrXmlDocument marcada, recompile a aplicação e faça novos testes.

Fiz alterações na leitura do ICMS, PIS e COFINS.

Caso detecte outras tags que não estão sendo lidas corretamente, por favor nos comunique.

  • Curtir 3
  • Obrigado 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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
22 horas atrás, Italo Giurizzato Junior disse:

Bom dia @sandroreck,

Fiz algumas alterações na unit nova que usa o ACBrXmlDocument responsável pela leitura do XML da NF-e/NFC-e.

Por favor atualize todos os fontes de todas as pastas, reinstale o ACBr com a opção de usar o ACBrXmlDocument marcada, recompile a aplicação e faça novos testes.

Fiz alterações na leitura do ICMS, PIS e COFINS.

Caso detecte outras tags que não estão sendo lidas corretamente, por favor nos comunique.

Bom dia Italo.

Conseguimos gravar e assinar o xml da NF-e.
Porém ao tentar fazer o processo no lote, ocorreu um erro parecido usando o LoadFromFile do componente: "Premature end of data in tag enviNFe line 1".
O mesmo erro ocorreu ao testar um CT-e.

Seguem xml's gerados com e sem a 'ACBrXmlDocument'.000000000100748-env-lot_SemXMLDOCUMENT.xml000000000100748-env-lot_ComXMLDOCUMENT.xml

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia @sandroreck,

Achei estranho a presença da declaração de encoding no meio do XML.

image.png

Essa linha não era para constar.

Acabei de fazer um teste usando o ACBrXmlDocument e o XML ficou da forma correta.

image.png

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
Em 18/10/2024 at 11:08, Italo Giurizzato Junior disse:

Bom dia @sandroreck,

Achei estranho a presença da declaração de encoding no meio do XML.

image.png

Essa linha não era para constar.

Acabei de fazer um teste usando o ACBrXmlDocument e o XML ficou da forma correta.

image.png

Bom dia.

Retornando, reinstalamos todos componentes, inclusive removendo todas pastas e baixando novamente do svn.
Cuidamos para não ter a segunda linha com <xml version...> mas prossegue o mesmo erro no LoadFromFile do componente: "Premature end of data in tag enviNFe line 1"...
Mesma coisa para Cte.

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Certo, a @Éva Cleidiane Coutinho gerou um xml.
Segue xml's anexos.

Chamou a atenção uma diferença na tag 'infNFe', mas não sei se causaria o erro, aparece nos atributos versao e Id invertidos:

image.thumb.png.72c186d57d5ef8c5a61ee51748b40a61.png

000000000100751-env-lot_Sem-ACBRXMLDOCUMENT.xml 000000000100752-env-lot_Com-ACBRXMLDOCUMENT.xml

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Consultores

@sandroreck,

O problema é que esses XMLs não são os XMLs da notas e sim de envio das notas.

Para você poder carregar o XML através do LoadFromFile ou LoadFromString ou LoadFromStream a primeira tag tem que ser nfeProc ou procNFe ou NFe, caso contrario vai ocorrer erros.

  • Curtir 1
  • Obrigado 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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde @Italo Giurizzato Junior.


Vimos que da mesma forma que a gente gerava o xml para Nfe também gerávamos para o Lote de NFe's.
Os componentes instalados 'sem ACBrXmlDocument' não geravam qualquer erro neste arquivo do Lote, mas os instalados 'com ACBrXmlDocument' sim !!
Retiramos esta nossa rotina que fazia isto (não era necessária) e funcionou todo processo de criação do xml, LoadFromfile, validação, assinatura e envio utilizando o padrão novo.

Obrigado.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

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.

The popup will be closed in 10 segundos...