Ir para conteúdo
  • Cadastre-se

dev botao

Erro Ao Carregar A Versao Do Xml No Loadfromfile


Leonardo Gregianin
Ver Solução Respondido por Italo Giurizzato Junior,
  • Este tópico foi criado há 3739 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Bom dia,

 

Tenho clientes que são escritórios de contabilidade e somente importam o XML para seus bancos de dados, com isso, somente incluo o componente da ACBrNFe no formulário, busco o caminho do XML e faço:

ACBrNFe.NotasFiscais.Clear;
ACBrNFe.NotasFiscais.LoadFromFile(caminho_xml);

Ou seja, não utilizo as propriedades VersaoDF e ModeloDF porque somente vou saber a versão e o modelo depois do LoadFromFile.

 

O problema ocorre dentro do TNotasFiscais.LoadFromFile porque depois de ler o XML corretamente com a função LerXML é executado a função GerarNFe o que acarreta na mudança da propriedade Versao conforme está definido no componente e não o que veio do XML.

 

A mudança no conteúdo da versão ocorre nas tags:

ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.Versao
ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.VersaoStr

Alguma idéia para solução deste problema?

 

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Leonardo,

 

A definição da função LoadFromFile na unit: ACBrNFeNotasFiscais.pas é:

 

    function LoadFromFile(CaminhoArquivo: string): boolean;
 

A definição da mesma função no componente ACBrCTe, definida na unit: ACBrCTeConhecimentos.pas é:

 

    function LoadFromFile(CaminhoArquivo: string; AGerarCTe: Boolean = True): boolean;
 

Note que exite uma propriedade a mais cujo valor padrão é true.

 

Logo no caso do ACBrCTe ao executar um LoadFromFile(sCaminho); faz com que o XML seja lido e gerado conforme você relatou.

 

Por outro lado ao executar: LoadFromFile(sCaminho, False); vai ocorrer apenas a leitura do XML, consequentemente resolvendo o seu problema.

 

Sugestão: realizar a mesma implementação no componente ACBrNFe.

 

A alteração não vai afetar em nada, uma vez que se o desenvolvedor passar apenas o primeiro parametro, a função vai se comportar com esta definida hoje.

 

Peço a sugestão dos demais mantenedores do componente sobre o assunto.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Leonardo,

 

Sim, é muito simples, mas vamos aguardar uma posição dos demais moderadores, administradores e mantenedores do componente.

 

Mas para você resolver o seu problema, fique a voltade em realizar a alteração.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores
  • Solution

Boa tarde Leonardo,

 

Muito obrigado pela colaboração, assim que possível, estaremos verificando.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3739 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.