Jump to content

dev botao

AcbrNFC-e como pegar evento de cancelamento!


Go to solution Solved by BigWings,
  • Este tópico foi criado há 553 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Ola, amigos, estou com um problema aqui, e nao estou conseguindo resolver vou tentar explicar;

Hoje ao fazer um cancelamento de NFCe eu faço uma consulta do XML(chave) para saber se pode cancelar status = 100 faz cancelamento, ate ai tudo certo, porem 

quando ja se encontra cancelado la na sefaz eu preciso pegar o ''evento do cancelamento protocola e a chave, XML, para imprimir aqui no PDV e gravar essas informaçao, porem nao seu qual recurso devo usar para obter o mesmo.

alguem pode me dar uma ajudinha se possivel? 

abraço.

Link to comment
Share on other sites

  • Moderadores
  • Solution

Depois da consulta você pode ler as informações do componente pra obter os dados dos eventos, e verificar se o evento de cancelamento está presente.

ACBrNFe1.Consultar;
for I := 0 to ACBrNFe1.EventoNFe.Evento.Count - 1 do
  if ACBrNFe1.EventoNFe.Evento[I].InfEvento.tpEvento in [teCancelamento, teCancSubst] then
  begin
    ...
  end;

Também pode usar o segundo parâmetro do método de consulta pra extrair do retorno os arquivos XML dos cancelamentos e salvar eles em disco.

ACBrNFe1.Consultar(nChaveNFe, True);

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

16 horas atrás, BigWings disse:

Depois da consulta você pode ler as informações do componente pra obter os dados dos eventos, e verificar se o evento de cancelamento está presente.


ACBrNFe1.Consultar;
for I := 0 to ACBrNFe1.EventoNFe.Evento.Count - 1 do
  if ACBrNFe1.EventoNFe.Evento[I].InfEvento.tpEvento in [teCancelamento, teCancSubst] then
  begin
    ...
  end;

Também pode usar o segundo parâmetro do método de consulta pra extrair do retorno os arquivos XML dos cancelamentos e salvar eles em disco.


ACBrNFe1.Consultar(nChaveNFe, True);

 

Bom dia BigWings, fiz o teste com o exemplo seu, e talvez no que eu estou fazendo nao esta funcionando. olha só o que as vezes esta acontecendo no cliente,

mando cancelar o cupom, por algum motivo nao recebo de volta a resposta do cancelamento e nem os dados da sefaz (instabilidade algo assim).

bom o cliente tenta fazer novamente o cancelamento, ai eu faço a consulta pela chave

ex. 

  ANFc.WebServices.Consulta.NFeChave := chNFe';

 ANFc.WebServices.Consulta.Executar;

depois faço

if ANFc.WebServices.Consulta.cStat = 100

procedimento para cancelar...

else 

e nesse ponto que quero chegar. o cupom na sefaz esta cancelado eu preciso entao pegar os dados (evento de cancelamento) para entao fazer a impressao do cancelamento o protocolo etc.. 

usando a rotina que vc me passou 

for var I := 0 to ANFc.EventoNFe.Evento.Count - 1 do '' aqui esta zero nao tem nada de evento.

e é exatamente o que eu precisava.

acretito que estou fazendo alguma coisa errda mas nao sei o que.

acho que ficou claro a minha explicacao agora kkkk.

 

Link to comment
Share on other sites

  • Moderadores
17 minutos atrás, DSilva disse:

usando a rotina que vc me passou 

for var I := 0 to ANFc.EventoNFe.Evento.Count - 1 do '' aqui esta zero nao tem nada de evento.

Tente então desta forma:

var
  I: Integer;
begin
  ACBrNFe1.Consultar;
  for I := 0 to ACBrNFe1.WebServices.Consulta.procEventoNFe.Count - 1 do
    if ACBrNFe1.WebServices.Consulta.procEventoNFe[I].RetEventoNFe.InfEvento.tpEvento in [teCancelamento, teCancSubst] then
      ...

 

Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

Link to comment
Share on other sites

14 minutos atrás, BigWings disse:

Tente então desta forma:


var
  I: Integer;
begin
  ACBrNFe1.Consultar;
  for I := 0 to ACBrNFe1.WebServices.Consulta.procEventoNFe.Count - 1 do
    if ACBrNFe1.WebServices.Consulta.procEventoNFe[I].RetEventoNFe.InfEvento.tpEvento in [teCancelamento, teCancSubst] then
      ...

 

Opa, agora veio count 1, blz, agora como que faço para imprimir esse evento e pegar o xml?

Link to comment
Share on other sites

  • 1 year later...
  • Este tópico foi criado há 553 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

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...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...