Jump to content

Promoção de Natal SAC Mensal

Contrate e ganhe 1 Kit agenda + Caneta
Saiba mais

LANÇAMENTO
Curso Completo - Dominando o ACBrMonitor

Conheça o Curso

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

gss200610

como recuperar os eventos da distribuicaoDFe?

Recommended Posts

estou usando um for ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count - 1 para trazer as notas destinadas e notei que na pasta eventos tem todos eventos da referida busca
mais nao consigo capturar os valores , ja tentei:

procEvento.detEvento.xJust retorna vazio
resEvento.xEvento tambem retorna vazio
o que estou fazendo de errado? por os eventos tem todos os xml na pasta que ja conferir

Share this post


Link to post
Share on other sites
1 hour ago, gss200610 said:

estou usando um for ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count - 1 para trazer as notas destinadas e notei que na pasta eventos tem todos eventos da referida busca
mais nao consigo capturar os valores , ja tentei:

procEvento.detEvento.xJust retorna vazio
resEvento.xEvento tambem retorna vazio
o que estou fazendo de errado? por os eventos tem todos os xml na pasta que ja conferir

Boa Tarde !

 

ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.schema = pcnConversao.schprocEventoNFe

       ACBrNfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.RetinfEvento.chDFe

 

ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.schema = pcnConversao.schresEvento

      ACBrNfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resEvento.chDFe

 

Att

  • Like 1

Share this post


Link to post
Share on other sites
53 minutos atrás, Leandro Vignoto disse:

Boa Tarde !

 

ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.schema = pcnConversao.schprocEventoNFe

       ACBrNfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.procEvento.RetinfEvento.chDFe

 

ACBrNFe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.schema = pcnConversao.schresEvento

      ACBrNfe.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items.resEvento.chDFe

 

Att

    RetConsItem  := frmPrincipal.ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Items;
    //sStatusConsulta := RetConsItem.NSU;

    RetConsItem.schema := pcnConversao.schprocEventoNFe;

showmessage( RetConsItem.procEvento.RetinfEvento.xMotivo) = vazio

 

Share this post


Link to post
Share on other sites

Boa tarde!

Observe o código abaixo:

var
  LDocZip: TdocZipCollectionItem;
begin
  for i := 0 to Pred(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count) do
  begin
    LDocZip := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip[i];
    
    if (LDocZip.schema = schprocEventoNFe) then
    begin
      TipoEvento    := LDocZip.procEvento.RetinfEvento.tpEvento;
      Correcao      := LDocZip.procEvento.detEvento.xCorrecao; {Caso seja carta de correção}
      Justificativa := LDocZip.procEvento.detEvento.xJust {Caso seja cancelamento}
      DataEvento    := LDocZip.procEvento.RetinfEvento.dhRegEvento;
      Protocolo     := LDocZip.procEvento.RetinfEvento.nProt;
      Motivo        := LDocZip.procEvento.RetinfEvento.xMotivo;
      CodigoRet     := LDocZip.procEvento.RetinfEvento.cStat;
    end
    else if (LDocZip.schema = schresEvento) then
    begin
      TipoEvento    := LDocZip.resEvento.tpEvento;
      Evento        := LDocZip.resEvento.xEvento;
      DataEvento    := LDocZip.resEvento.dhEvento;
      Protocolo     := LDocZip.resEvento.nProt;
    end;
  end;
end;

 

  • Like 1

Share this post


Link to post
Share on other sites
2 minutos atrás, Gabriel Franciscon disse:

Boa tarde!

Observe o código abaixo:

var
  LDocZip: TdocZipCollectionItem;
begin
  for i := 0 to Pred(ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip.Count) do
  begin
    LDocZip := ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.docZip[i];
    
    if (LDocZip.schema = schprocEventoNFe) then
    begin
      TipoEvento    := LDocZip.procEvento.RetinfEvento.tpEvento;
      Correcao      := LDocZip.procEvento.detEvento.xCorrecao; {Caso seja carta de correção}
      Justificativa := LDocZip.procEvento.detEvento.xJust {Caso seja cancelamento}
      DataEvento    := LDocZip.procEvento.RetinfEvento.dhRegEvento;
      Protocolo     := LDocZip.procEvento.RetinfEvento.nProt;
      Motivo        := LDocZip.procEvento.RetinfEvento.xMotivo;
      CodigoRet     := LDocZip.procEvento.RetinfEvento.cStat;
    end
    else if (LDocZip.schema = schresEvento) then
    begin
      TipoEvento    := LDocZip.resEvento.tpEvento;
      Evento        := LDocZip.resEvento.xEvento;
      DataEvento    := LDocZip.resEvento.dhEvento;
      Protocolo     := LDocZip.resEvento.nProt;
    end;
  end;
end;

 

Show!!, vi nos fontes do acbr essa mesma validação aqui , e estou fazendo agora.obrigado!!

  • Like 1

Share this post


Link to post
Share on other sites

Boa tarde,

Eu tentei seguir o procedimento acima , porém não consegui os dados da carta de correção.

O comando . LDocZip.procEvento.detEvento.xCorrecao retornou o conteúdo em branco

Pelo que percebi a função  DistribuicaoDFePorChaveNFe não me retornou o evento, e sim apenas a nota fiscal que já foi manifestada, eu confirmei isso olhando o conteúdo da propriedade ACBrNFe1.WebServices.DistribuicaoDFe.retDistDFeInt.XML

Alguém tem alguma sugestão?

 

Obrigado.

 

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...