Ir para conteúdo
  • Cadastre-se

dev botao

Duplicidade


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

Recommended Posts

Postado

Boa tarde.. A algum tempo estamos com um problema na transmissão de NF-e e  na NFC-e (não ocorre muito na NFC-e pelo fato de ter o modo contingencia), onde quando há instabilidade na conexão do cliente e ou oscilações no servidor da Sefaz, o usuário fica fazendo tentativas de emissão até que reporta o Duplicidade de NF-e indicando a chave.. Logo o cliente não consegue restaurar essa NF-e e então temos que baixar o xml autorizado pelo portal da NF-e e depois manipular o banco de dados para que aquelas informações fiquem devidamente registradas para futuras consultas, o que gera um certo transtorno com o usuário por as vezes ocorrer simultaneamente.. Através da experiencia de vocês, teriam alguma dica para estar resolvendo essa situação? 

  • Consultores
  • Solution
Postado

Boa tarde Canan,

A solução é muito simples.

Não deixar o usuário ficar enviando a mesma nota 200 mil vezes só porque no primeiro envio ocorreu um erro, erro este causando pela internet instável do seu cliente pão duro.

Vamos a receita de bolo.

Se após o envio da nota ocorrer um erro de internet, o usuário tem que realizar uma consulta com o XML da nota carregado.

Porque fazer essa consulta?

Muito simples, quando ocorre um erro o componente não lhe informa se o mesmo ocorreu durante o envio ou durante o retorno.

Carregando a nota e realizando a consulta, se o erro foi durante o retorno, a nota já esta na SEFAZ e processada, logo com a consulta saberemos o resultado desse processamento.

Se a nota foi autorizada, será retornado o protocolo de autorização, como o componente esta carregado com o XML da nota, o mesmo será atualizado, ou seja, receberá o protocolo de autorização.

Desta forma podemos já imprimir o DANFE e enviar o XML mais o DANFE em PDF para o cliente.

Agora se o erro ocorreu durante o envio, ao consultar teremos como retorno uma rejeição acusando que a nota não consta na Base de Dados da SEFAZ, ai sim o usuário pode enviar novamente.

Com uma pequena mudança no procedimento, nunca mais você terá esse problema de Duplicidade.

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

Postado

1- Certo, no meu caso o a NF-e grava no banco de dados após haver a autorização da NF-e em caso de erro não é gravado o registro, sugere que eu crie uma tabela temporária para gravar as informações incluindo a chave para poder consultar e após obter a autorização enfim gravar o registro na tabela..

2- Uma outra situação no meu caso, na parte de NFC-e as vendas são registradas para após isso serem transmitidas (oposto da nf-e) e quando há casos de duplicidade e mando consultar ele até mostra o status de autorizado porem não cria o arquivo xml haveria alguma alternativa para que fosse ou criado com base no retorno ou baixado conforme a chave?

  • Consultores
Postado

Desculpa não entendi.

Os dados da venda (no caso da NF-e) só são salvos no banco de dados se a nota for autorizada na SEFAZ?

A minha sugestão é que os dados da venda devem ser salvos no banco de dados, depois a nota ser enviada para a SEFAZ.

Caso ela seja autorizada, você atualiza o banco de dados, com a data/hora da autorização, numero do protocolo e até o XML completo devemos salvar no banco de dados.

Se você esta tendo casos de Duplicidade é porque o seu fluxo esta errado.

A rotina de envio de nota tem que fazer o seguinte:

1. Marcar no banco de dados no registro da nota em questão que ele foi enviada.

2. Enviar a Nota;

3. Se a nota foi rejeitada (que é diferente de erro de internet) devemos marcar no banco de dados que a nota não foi enviada, desta forma o usuário poderá fazer as devidas correções e enviar novamente.

4. Se a nota foi autorizada devemos atualizar o registro dessa nota com a data/hora de autorização, protocolo e caso tenha um campo para o XML, alimentar esse campo com o XML completo, ou seja, assinado e com o protocolo de autorização.

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

×
×
  • 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.