Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

consultoria_sticker.png

Conteúdo para desenvolvedores
 ao vivo de terça a quinta!
Saiba mais

dev.png

logo_acbr_paygo.png

TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao.png

beneficios.png

Duplicidade


Go to solution Solved by Italo Giurizzato Junior,
  • Este tópico foi criado há 170 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Recommended Posts

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? 

Link to post
Share on other sites
  • Solution

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.

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

Link to post
Share on other sites

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?

Link to post
Share on other sites

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.

  • Like 1
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

Link to post
Share on other sites

Dê uma olhada nestes vídeos na parte da contingência off-line... Exemplifica como realizar contingência com ACBrMonitor e evitar a duplicidade.

https://www.projetoacbr.com.br/forum/video/browse/39-aula-26-contingencia-da-nfe-e-nfce/

  • Like 1
Consultor SAC ACBr

José Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to post
Share on other sites
×
×
  • Create New...