Bom dia, Pessoal.
Estou com um problema aqui, onde não consigo pegar o numero de protocolo de uma NF-e denegada (Status = 205).
Mais ou menos o meu trecho é assim:
Enviou := ACBrNFe1.Enviar(0); // Enviando NF-e por Definitivo.
Quando envia uma NF-e denegada da a seguinte mensagem:
"Rejeição: NF-e está denegada na base de dados da SEFAZ [nRec]"
Com isso entra no meu tratamento de except:
except
on E: Exception do
begin
Application.MessageBox(PChar(e.Message), 'Atenção', MB_OK);
if StatusRetorno = 0 then
StatusRetorno := ACBrNFe1.WebServices.Retorno.cStat;
ACBrNFe1.WebServices.Retorno.Recibo := ACBrNFe1.WebServices.Enviar.Recibo;
if ( StatusRetorno = 204 ) then // Rejeição: Duplicidade de NF-e
begin
............
end
else if ( StatusRetorno = 205 ) then // Rejeição: NF-e está denegada na base de dados da SEFAZ
begin
AuxChave := copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, (length(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID)-44)+1, 44);
ACBrNFe1.WebServices.Retorno.Executar;
AuxProtocolo := ACBrNFe1.WebServices.Retorno.Protocolo; // Protocolo (uso autorizado) ou (uso denegado)
GravaNotaEnviada(.......);
end;
Podem ver que tento até dar um Retorno.Executar e mesmo assim não me retorno o numero de Protocolo... Alguém já passou por isso ou sabe como posso pegar esse Numero de Protocolo quando a NFe foi denegada no momento que foi enviada?
A unica coisa que consigo é o Numero de Recibo e o Status e a Chave.
Eu uso Delphi 7 e componte ACBrNFe2 no modo Capicom (Fiz Update semana passada no ACBr).