Ir para conteúdo
  • Cadastre-se

dev botao

AcbrNFC-e como pegar evento de cancelamento!


Ver Solução Respondido por BigWings,
  • Este tópico foi criado há 552 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros 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 para o comentário
Compartilhar em outros sites

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...