996 - Rejeição - serviço de recepção de lotes desativado
O envio assíncrono de MDF-e que utiliza o EnviaMDFe e o BuscaMDFe foi DESATIVADO em 30/06/2024 e o uso do EnviaMDFeSincrono vai ser a única opção a partir de 01/07/2024.
Assim, é necessário adotar o envio síncrono - https://flexdocs.net/guiaMDFe/WS.enviaMDFeSincrono.html , que é mais simples de utilizar, pois a resposta WS retorna o resultado conclusivo de autorização de uso do MDF-e ou o motivo da rejeição do MDF-e enviado.
A alteração consiste em substituir o EnviaMDFe pelo EnviaMDFeSincrono e eliminar o BuscaMDFe.
O xml do MDFe autorizado e o protocolo de autorização de uso que retorna no BuscaMDFe vai retornar no EnviaMDFeSincrono.
mdfeProc := util.EnviaMDFeSincrono( …,MDFe, ..., cStat, ..., protocolo, nroProtocolo, dhProtocolo, MDFeAssinado, ... );
// parâmetros principais do EnviaMDFeSincrono
//
// MDFe -> informar o XML que será transmitido
// cStat -> retorna
// MDFeAssinado -> retorna o XML do MDFeAssinado, pode ser necessário se acontecer algum problema de conexão
// mdfeProc -> retorna o XML do MDFe Assinado + o XML do protocolo de autorização de uso quando o MDFe for autorizado (cStat=100)
// protocolo -> retorna o protocolo de autorização de uso no formato (nro + data) quando o MDFe for autorizado (cStat=100)
// nroProtocolo -> retorna o protocolo de autorização de uso quando o MDFe for autorizado (cStat=100)
// dhProtocolo -> retorna a data e hora de autorização de uso quando o MDFe for autorizado (cStat=100)
//
// MDFe -> parâmetro comum ao EnviaMDFe
// cStat, MDFeAssinado, mdfeProc, protocolo, nroProtocolo e dhProtocolo - parâmetros comuns ao BuscaMDFe
if cStat = 100 then // MDF- autorizado
cResultado := util..geraPdfDAMDFE(mdfeProc, logo, visualizar, parametros, msgResultado);
else
// ocorreu algum problema no MDFe enviado tratar
end