Ir para conteúdo
  • Cadastre-se

dev botao

Chave da NFe diferente da chave retornada no motivo quando é 539, tem como pegar de algum lugar?


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

Recommended Posts

Olá a todos! quando gero e envio uma NFe que retorna com o erro 539 ( nfe duplicada com diferença na chave ) ele me retorna a tag XMOTIVO contendo o motivo 539 contendo a chave correta que está no servidor da receita, e me retorna o campo chNFe mas este campo não é a chave da receita ( é a chave gerada para envio ), tem como eu pegar o campo chave do XMOTIVO sem ter que processar string? ele armazena esta informacao em algum lugar que eu possa utilizar um GET ou alguma informação neste sentido?

vMotivoSefaz   := dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.xMotivo;
sChaveAcesso   := dm5.ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.chNFe;     <-- aqui a chave vem diferente da chave que esta no xmotivo 539.

 

Devido a instalabilidade da receita no PR surgiu esta necessidade de tratamento pois a nota é enviada e dá problema no meio do caminho, a nota já esta na receita e o cliente tenta transmitir a nota novamente ai acontece o erro e não estou conseguindo tratar isto, desde já agradeço qualquer ajuda!

Link para o comentário
Compartilhar em outros sites

eu fiz assim: 

 

      //Duplicidade de NF-e, com diferenca na Chave de Acesso [41230281181612000120550030000031911767369606] [nRec:411110222042165]
      sChaveAcesso := copy(vMotivoSefaz,56,44)  ;
      sProtocolo   := copy(vMotivoSefaz,108,15)  ;

 

utilizando copy na string mesmo, depois disto consulto, a sefaz retorna a nfe e eu atualizo o status da nota no banco, se tiver alguma forma mais correta de fazer isto por gentileza podem postar, caso não e se isto ajudar alguém fica postado, até segunda ordem resolvido.

Link para o comentário
Compartilhar em outros sites

Eu estava fazendo uma rotina com este intuito, atualizar a chave de acesso e pegar os demais dados para atualizar a nota.

Estava dando certo no inicio, mas depois começou a dar ruim para mim, pois alguns clientes acabam por algum motivo colocando uma numeração errada e ai validava a nota como se fosse outra. Não eram a maioria dos casos, mas aconteceu com um bom número.

Acho melhor tratar cada caso separado, tipo uma emissão manual (só atualizar a chave de acesso, protocolo e demais dados para marcar a nota como emitida).

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

Link para o comentário
Compartilhar em outros sites

então isto ai já é outraaaaaaaa coisa, tratamos inclusive questão de validade da nota referente a data e hora de envio e data de recebimento ( que vem na consulta da NFe também ) muito dificil acontecer de validar como outra mesmo, no sistema não permitimos que o cliente configure manual a numeração, erros podem acontecer sim temos tratamento para quase tudo mas sempre que pensamos que tudo está ok o ambiente online nos mostra que somos não sabemos de nada! :) .

Link para o comentário
Compartilhar em outros sites

Em 28/02/2023 at 14:27, AlexBecker disse:

eu fiz assim: 

 

      //Duplicidade de NF-e, com diferenca na Chave de Acesso [41230281181612000120550030000031911767369606] [nRec:411110222042165]
      sChaveAcesso := copy(vMotivoSefaz,56,44)  ;
      sProtocolo   := copy(vMotivoSefaz,108,15)  ;

 

utilizando copy na string mesmo, depois disto consulto, a sefaz retorna a nfe e eu atualizo o status da nota no banco, se tiver alguma forma mais correta de fazer isto por gentileza podem postar, caso não e se isto ajudar alguém fica postado, até Eu segunda ordem resolvido.

Eu tinha feito de uma forma um pouco diferente, pois já recebi duas mensagens diferentes para a rejeição 539, então é melhor você calcular de onde começa a chave de acesso:

        mot := NFe.NotasFiscais[I].NFe.procNFe.xMotivo;
        if Pos('[chNFe:', mot) > 0 then
          p := Pos('[chNFe:', mot) + 7
        else
          p := Pos('[', mot) + 1;
        FChave539 := copy(NFe.NotasFiscais[I].NFe.procNFe.xMotivo, p, 44);

  • Curtir 1

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

Link para o comentário
Compartilhar em outros sites

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