Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

clube mobile


Cursos grátis para toda base ACBr
+ Promoção Clube Mobile para o ACBr Pro

Saiba mais

adriano santos

click.png

click.png

click.png

click.png

click.png

click.png

AcbrNFC-e como pegar evento de cancelamento!


Go to solution Solved by BigWings,

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 post
Share on other sites
  • 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 post
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 post
Share on other sites
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 post
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 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...