Boa tarde Italo.
Obrigado pelas informações, ajudou e muito.
Porém me restou uma dúvida.
Pelo que entendi com a Nota Técnica 2014/002 e com o teste que acabo de realizar com o DistribuicaoDFe, este me retorna dados das notas no qual sou o destinatário.
Na qualidade de emissor, meu objetivo é armazenar em minha aplicação os protocolos/eventos de manifestação que meus destinatários/clientes efetuaram nas notas emitidas por mim.
Segue abaixo o código que utilizei no teste.
Você pode me ajudar?
Muito obrigado.
ACBrNFe1.DistribuicaoDFe(:UF, :CNPJ, '0', '');
memoLog.Lines.Add('Status: ' + IntToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat));
memoLog.Lines.Add('Motivo: ' + ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo);
if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137 then
memoLog.Lines.Add('Tem mais? Sim')
else
memoLog.Lines.Add('Tem mais? Não');
memoLog.Lines.Add('Último NSU: ' + ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU);
if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 138 then
begin
memoLog.Lines.Add(' Documento Localizado para o Destinatário');
memoLog.Lines.Add(' ');
for i := 0 to ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count - 1 do
begin
memoLog.Lines.Add('************************');
memoLog.Lines.Add(' ');
if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe <> '' then
begin
memoLog.Lines.Add('Chave de Acesso: ' + ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.chNFe);
memoLog.Lines.Add('CNPJ: ' + ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.CNPJCPF);
memoLog.Lines.Add('Nome: ' + ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.xNome);
memoLog.Lines.Add('IE: ' + ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.IE);
case ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.tpNF of
tnEntrada: memoLog.Lines.Add('Tipo: Entrada');
tnSaida: memoLog.Lines.Add('Tipo: Saída');
end;
memoLog.Lines.Add('NSU: ' + ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.NSU);
case ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resNFe.cSitNFe of
snAutorizado: memoLog.Lines.Add('Situação: Autorizado');
snDenegado: memoLog.Lines.Add('Situação: Denegado');
snCancelada: memoLog.Lines.Add('Situação: Canelada');
end;
end;
end;
end
else
begin
// Nenhum Documento Localizado para o Destinatário
if ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat = 137
then begin
memoLog.Lines.Add(' Nenhum Documento Localizado para o Destinatário');
memoLog.Lines.Add(' Utilizar o número que esta no campo: Último NSU');
memoLog.Lines.Add(' Para uma nova pesquisa ('+ ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.ultNSU +').');
memoLog.Lines.Add(' ');
end
else begin
memoLog.Lines.Add(' Falha ao realizar a consulta.');
memoLog.Lines.Add(' ' + IntToStr(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.cStat) + ' - ' + ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.xMotivo);
memoLog.Lines.Add(' ');
end;
end;