Jump to content
Notícias do ACBr

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

logos

Texto.png

p200

click.png

click.png

click.png

Recommended Posts

Boa tarde a todos.

Estou com uma dúvida quanto confirmação se uma NFC-e foi cancelada.

Estou usando o componente ACBrECF em conjunto com ACBrECFVirtualNFCe e ao cancelar um "cupom" no ACBrECF, automaticamente é impresso um EVENTO de cancelamento.

Pelo que eu entendi esse evento é enviado para o Sefaz mas não necessariamente quer dizer que a NFC-e foi cancelada, e sim que ela está em uma "fila", podendo inclusive não ser efetivamente cancelada.

Pra ter certeza do cancelamento eu teria que ficar consultando o status desse evento certo?

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

Link to post
Share on other sites

Não. quando tu envia um evento de cancelamento ele já retorna informando se foi ou não cancelado

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites
3 minutos atrás, Juliomar Marchetti disse:

Não. quando tu envia um evento de cancelamento ele já retorna informando se foi ou não cancelado

Estava depurando e cheguei aqui:
 

if (not (WebServices.EnvEvento.EventoRetorno.cStat in [128, 135, 136])) or
      (not (WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat in [135, 136])) then
    begin
      if WebServices.EnvEvento.EventoRetorno.retEvento.Count > 0 then
      begin
        cStat := IntToStr(WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.cStat);
        xMotivo := WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;
      end
      else
      begin
        cStat := IntToStr(WebServices.EnvEvento.EventoRetorno.cStat);
        xMotivo := WebServices.EnvEvento.EventoRetorno.xMotivo;
      end;

      raise EACBrNFeException.Create('Erro ao enviar cancelamento:' + sLineBreak +
        'cStat: ' + cStat + sLineBreak +
        'xMotivo: ' + xMotivo);
    end;

Pelo que entendi é aqui que é feita a verificação e lançada uma exceção caso o cancelamento falhe.

Então se não houver exceção o cancelamento está confirmado certo?

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

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