Ir para conteúdo
  • Cadastre-se

dev botao

Adicionar Parâmetro Agerarnfe Nos Métodos Loadfrom...


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

Recommended Posts

Utilizo o componente TACBrNFe para importar ler os dados das notas que o usuário recebe e então importá-la para o ERP. Utilizo o método LoadFromStream da classe TNotasFiscais para carregar o conteúdo do XML. Esse método, além do LoadFromFile e LoadFromString, executam o método GerarNFe após carregar os dados, fazendo com que a chave da NFe seja remontada.

 

Entretanto, no caso de NFe avulsa, o CNPJ do emitente presente na chave é o CNPJ da SEFAZ e não da empresa que emitiu a nota. Então após carregar o XML, a chave acaba sendo alterado porque é remontada usando o CNPJ da empresa emitente.

 

Verifique os métodos idênticos no CTe e eles possuem um parâmetro adicional para não executar o GerarCTe, criado a pedido deste post 

 

Implementei a mesma lógica nos métodos da NFe na minha working copy, mas acredito que poderiam ser incorporados ao trunk.

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Só para entender, o arquivo disponibilizado nesse link é que você alterou? Posso fazer o merge por ele?

 

Ele tem somente isso de diferente:

  if (copy(nfe.infNFe.ID, 1, 3) <> 'NFe') then
    NFe.infNFe.ID := 'NFe'+NFe.infNFe.ID;

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

Sem problemas! É que a solução que eu fiz parece ser meio tosca, não é? hehehe

Mas na verdade o que acontece é que quando se gera uma NFe a primeira vez, o ID já vem Iniciando com as letras "NFe" e depois quando vc carrega um XML, ele vem sem essas 3 letras e nessa situação é gerado uma nova chave. O problema é que a parte da rotina que gera a chave sempre usa o CNPJ da tag <emit>, o que nessas NFe avulsas dá problema pq esses sistemas online da Sefaz geram a chave com o CNPJ da tag <avulsa>.

Até citei naquele tópico que uma outra solução seria usar um parametro, mas na minha opiniao, do jeito que fiz é mais simples, pois o usuário do componente não precisa setar o parametro para que a chave seja carregada corretamente. Isto porque na verdade a chave é carregada corretamente do XML, mas no meio da função ela é gerada novamente, e ai, no caso das NFe avulsas com o CNPJ errado. Explicando assim fica um pouco complicado, mas se vc pegar o XML que o Daniel_FC anexou no outro tópico e debugar a importação dele, voce vai entender o que estou querendo dizer. Talvez seja interessante voce trocar uma ideia com o Italo a respeito disso, pois a alteração que ele fez usando o parametro para CTe, poderia ser feita do mesmo jeito.

Link para o comentário
Compartilhar em outros sites

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