452 - Rejeição: Solicitada resposta assíncrona para Lote com somente 1 (uma) NFC-e

Nota Técnica 2020.005

 

PROBLEMA:

A partir de 04/10/2021 não será mais possível o envio assíncrono de lote que contenha somente uma NFC-e.

O envio de uma única NFC-e em modo assíncrono vai rejeitada com a seguinte mensagem:

Rejeição 452 - Solicitada resposta assíncrona para Lote com somente 1 (uma) NFC-e

 

CAUSA

Envio assíncrono de uma única NFC-e.

 

SOLUÇÃO

A adequação é bastante simples, basta substituir o EnviaNFe2G e o BuscaNFe2G pelo EnviaNFSincrono, exemplo:

NFeAssinada = objNFe.EnviaNFe2G(..........)

loop enquanto cStat <> 105

procNFe = objNFe.BuscaNFe2G(...)

substituir as funcionalidades EnviaNFe2G e BuscaNFe2G por:

procNFe = objNFe.EnviaNFSincrono(....)

----------------------------------------------------------------------------------

Exemplo de código simplificado de envio de NF-e:

' gerar NF-e

' Se for NFC-e é necessário assinar a NFC-e para acrescentar a URL do QRCode, se for NF-e modelo 55 não precisa assinar a nota antes.

' https://flexdocs.net/guiaNFe/funcao.assinatura.assinarNFCE400.html

' não deixe de verificar se o resultado da chamada do assinarNFCE400 é 5300, se for diferente aconteceu um erro e a nota não foi assinada.

versaoQRCode = "2"

indSinc = "1"

Url_consulta = "https://www.sefaz.rs.gov.br/NFCE/NFCE-COM.aspx"

urlChave = "www.sefaz.rs.gov.br/nfce/consulta"

Url_nfce = ""

Ass_nfce = objNFeUtil20.AssinarNFCe400(Nfe, certificado, Idtoken, Csc, versaoQRCode, Url_consulta, urlChave, indSinc, Resultado, msgResultado_nfce, Lote, urlNFCe)

' Transmitir a NF-e e avaliar o cStat que retorna

procNFe = objNFeUtil20.EnviaNFSincrono(siglaWS, Ass_nfce, certificado, versao, msgDados, msgRetWS, cStat, msgResultado, nroRecibo, dhRecibo, NFeAssinada, proxy, Usuario, Senha, licenca)

' https://flexdocs.net/guiaNFe/WS.Lote.EnviaNF.html

Select Case cStat

Case 100, 150

' nota autorizada, gravar procNFe

Case 301, 302

' nota denegada, gravar procNFe

Case Else

' aconteceu algum erro no envio (cStat > 1000) ou validação (demais retornos)

End Select