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