Ir para conteúdo
  • Cadastre-se

dev botao

Problema com duplicidade de NFE.


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

Recommended Posts

Pessoal sei que esse topico já foi debatido antes mais meu caso é um pouco diferente pois não está ocorrendo em apenas um cliente e com rede lenta esta ocorrendo em todos os meus clientes em empresa com internet boa.

Aqui o parana é um caos direto fica em processamento por cerca de 5 minutos a 10 já liguei para a sefaz e confirmei isso.

Por isso gostaria de saber se existe alguma propriedade no ACBRNFE que

tenta reenviar a NFE automatico.

Para isso gostaria de explicação sobre as propriedades

AguardarConsultaRet

AjustaAguardaConsultaRet

IntervaloTentativas

Tentativas

A função delas é apenas para ficar consultando a NFE para pegar o XML validado

com o recibo, protocolo ? ou existe alguma propriedade que tenta enviar a NFE caso perceba

que o site da Receita está lento e não tenha conseguido enviar o XML com sucesso pela primeira vez.

Basicamente meu codigo de envio é esse ::

Try

ACBrNFe1.NotasFiscais.GerarNFe;

ACBrNFe1.NotasFiscais.Assinar;

ACBrNFe1.NotasFiscais.Valida;

Except On E: Exception Do begin

ACBrNFe1.NotasFiscais.Clear;

Raise Exception.Create(E.Message);

Exit;

End;

End;

ACBrNFe1.WebServices.Envia(Codigo_Nota);

cStatNFe := ACBrNFe1.WebServices.Retorno.cStat;

Gostaria de saber se nessa linha onde tem o "Envia(Codigo_Nota)" o ACBR tem algum Loop que tenta enviar a mesma NFE duas vezes caso encontre lentidão por parte da sefaz para receber o arquivo se os Loops existes são apenas para ficar consultando.

Link para o comentário
Compartilhar em outros sites

No sistema que desenvolvi para envio de nfe na empresa que trabalho, tivemos alguns problemas referentes a isso. A princípio simplesmente consultava a NFe depois desta rejeição, mas, depois, acabamos percebendo que era gerado outro XML, fazendo com que o DigestValue fique diferente do DigVal.

Como resolver?

Simples, após tentar enviar algum XML, eu passo a marcar ele como enviado, independente de ter recebido um retorno da SEFAZ ou não, após isso eu tento consultá-lo por alguns minutos, pois, muitas das vezes, a SEFAZ demora a autorizar a NFe, retornando rejeição por "NÃO EXISTIR NA BASE DA SEFAZ". Trabalhando desta forma eu passo a garantir que, mesmo com a demora da sefaz em autorizar, eu não corra o risco de tentar enviar novamente um xml que já foi autorizado, evitando também a invalidez da assinatura.

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

Link para o comentário
Compartilhar em outros sites

No sistema que desenvolvi para envio de nfe na empresa que trabalho, tivemos alguns problemas referentes a isso. A princípio simplesmente consultava a NFe depois desta rejeição, mas, depois, acabamos percebendo que era gerado outro XML, fazendo com que o DigestValue fique diferente do DigVal.

Como resolver?

Simples, após tentar enviar algum XML, eu passo a marcar ele como enviado, independente de ter recebido um retorno da SEFAZ ou não, após isso eu tento consultá-lo por alguns minutos, pois, muitas das vezes, a SEFAZ demora a autorizar a NFe, retornando rejeição por "NÃO EXISTIR NA BASE DA SEFAZ". Trabalhando desta forma eu passo a garantir que, mesmo com a demora da sefaz em autorizar, eu não corra o risco de tentar enviar novamente um xml que já foi autorizado, evitando também a invalidez da assinatura.

Agradeço a atenção colega "markapollo" mais isso eu já faço e não é a solução para meu problema eu gostaria de saber sobre as questões que levantei no topico.

com respeito ao meu codigo se está correto e sobre as propriedades :

AguardarConsultaRet

AjustaAguardaConsultaRet

IntervaloTentativas

Tentativas

e sobre os Loop existentes no metodo Enviar() como aludi acima.

Grato.

Link para o comentário
Compartilhar em outros sites

eu tento consultá-lo por alguns minutos, pois, muitas das vezes, a SEFAZ demora a autorizar a NFe, retornando rejeição por "NÃO EXISTIR NA BASE DA SEFAZ".

se uma nota esta em Processamento e vc consulta o Status dela, a sefaz retorna como NAO EXISTE NA BASE DE DADOS????

ela nao deveria retornar Lote em Processamento?

Link para o comentário
Compartilhar em outros sites

Luciano, estranhei seu comentario sobre a Sefaz aqui do PR. Tenho alguns clientes aqui e dificilmente tenho problemas de lentidão no retorno e NUNCA tive um tempo de retorno de 5 minutos, acho que nunca maior que 1 minuto. Espero comentários de outros usuários aqui do PR.

Referente a tua duvida sobre as propriedades, eu utilizo o seguinte:

   ACBrNFe1.Configuracoes.WebServices.AguardarConsultaRet := 3000;

   ACBrNFe1.Configuracoes.WebServices.IntervaloTentativas := 1000;

   ACBrNFe1.Configuracoes.WebServices.AjustaAguardaConsultaRet := true;

Número de tentativas tá o padrão, 5. E utilizo algo parecido com o markapollo, deixo a nota como enviado e se por acaso não teve retorno, deixo pro usuário consultar a nota depois de alguns minutos. Tem funcionado sem problema.

Markapollo, se possivel me tira uma duvida, qual a diferença da consulta que vc fazia antes, em que vc falou que criava um novo XML, e da que vc utiliza.

Link para o comentário
Compartilhar em outros sites

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