Ir para conteúdo
  • Cadastre-se

dev botao

Cancelamento Por Evento - Cstat = 573


Ver Solução Respondido por denis,
  • Este tópico foi criado há 4266 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

boa tarde,

 

Estou fazendo o cancelamento de Nfe por eventos. Esta acontecendo uma coisa estranha....

 

eu mando cancelar e me retorna uma mensagem "Rejeicao: Duplicidade de Evento (tpEvento + chNFe + nSeqEvento)"

 

segue parte do xml de retorno :

 

<infEvento>

<tpAmb>2</tpAmb>

<verAplic>SP_EVENTOS_PL_100</verAplic>

<cOrgao>35</cOrgao>

<cStat>573</cStat>

<xMotivo>Rejeicao: Duplicidade de Evento (tpEvento + chNFe + nSeqEvento)</xMotivo><chNFe>35130368869767000195550010000269601000269605</chNFe>

<tpEvento>110111</tpEvento>

<nSeqEvento>1</nSeqEvento>

<dhRegEvento>2013-03-26T11:34:49-03:00</dhRegEvento>

</infEvento>

 

O mais estranho , é que depois eu consulto a nota na sefaz e aparece que a nota foi cancelada.

 

Alguém sabe o que pode ser isso ?

 

ps. Caso alguém queira consultar a chave, é no ambiente homologação da sefaz de sp

 

 

Postado

Amigo,

 

Boa tarde

 

Vou falar o que aconteceu comigo, tive este mesmo problema e já existia um processo com esta sequencia no sefaz, então eu alterei a sequencia e passou, não sei se é o mesmo caso seu.

 

[]s,

Jorge Andrade

 

"Quem tem medo de perguntar, está fadado a eternizar-se na dúvida - [Jorge Andrade]";
 

"A soberba,  é o sentimento caracterizado pela pretensão de superioridade sobre as demais pessoas, levando a manifestações ostensivas de arrogância, por vezes sem fundamento algum em fatos ou variáveis reais - [Desconhecido";
 

"Aquele  que pesquisa antes de indagar, tem a grande chance de dirimir as suas dúvidas, fixar o aprendizado da pesquisa e evoluir para outros conhecimentos inesperados - [Jorge Andrade]";
 

"Os políticos e as fraldas devem ser trocados frequentemente e pela mesma razão - [Éça de Queiroz]".

Postado

Amigo,

 

Boa tarde

 

Vou falar o que aconteceu comigo, tive este mesmo problema e já existia um processo com esta sequencia no sefaz, então eu alterei a sequencia e passou, não sei se é o mesmo caso seu.

 

[]s,

já tentei fazer isso, coloquei o nSeqEvento = 2 , mas deu erro que estava fora de sequencia e não passou.

 

 

 

Poste a sua rotina de cancelamento, para podermos te ajudar a identificar o problema.

Ass: Peterson.

Postado

Poste sua rotina de cancelamento.

 

 

idnota = 9999;  // numero do lote, no meu caso é nr da nota

ACBrNFe.NotasFiscais.Clear;

ACBrNFe.NotasFiscais.LoadFromFile(vaux);

ACBrNFe.EventoNFe.Evento.Clear;

ACBrNFe.EventoNFe.idLote := idnota;

chave     := ACBrNFe.NotasFiscais.Items[0].NFe.proACBrNFe.chNFe;

protocolo := ACBrNFe.NotasFiscais.Items[0].NFe.proACBrNFe.nProt;

Cnpj      := ACBrNFe.NotasFiscais.Items[0].NFe.Emit.CNPJCPF;

with ACBrNFe.EventoNFe.Evento.Add do

begin

  InfEvento.chNFe           := chave;

  infEvento.CNPJ            := Cnpj;

  infEvento.detEvento.nProt := Protocolo;

  infEvento.dhEvento        := NOW;

  infEvento.tpEvento        := teCancelamento;

  infEvento.detEvento.xJust := 'NOTA CANCELADA PARA TESTE';

end;

ACBrNFe.EnviarEventoNFe(idnota);

if ACBrNFe.EnviarEventoNFe(idnota) then

begin

  with ACBrNFe.WebServices.EnvEvento do

  begin

    if (EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 135) then

    begin

      raise Exception.CreateFmt(

           'Ocorreu o seguinte erro ao cancelar a nota fiscal eletrônica:'  + sLineBreak +

           'Código:%d' + sLineBreak +

           'Motivo: %s', [

           EventoRetorno.retEvento.Items[0].RetInfEvento.cStat,

           EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo

           ]);

    end;

    // retornos

      DataHoraEvento  := EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento;

      NumeroProtocolo := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;

      XMLCancelamento := EventoRetorno.retEvento.Items[0].RetInfEvento.XML;

      CodigoStatus    := EventoRetorno.retEvento.Items[0].RetInfEvento.cStat;

      MotivoStatus    := EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;

  end;

end

else

begin

  with ACBrNFe.WebServices.EnvEvento do

  begin

    raise Exception.Create(

        'Ocorreram erros ao tentar efetuar o cancelamento:' + sLineBreak +

        'Lote: '     + IntToStr(EventoRetorno.idLote) + sLineBreak +

        'Ambiente: ' + TpAmbToStr(EventoRetorno.tpAmb) + sLineBreak +

        'Orgao: '    + IntToStr(EventoRetorno.cOrgao) + sLineBreak +

        sLineBreak +

        'Status: '   + IntToStr(EventoRetorno.cStat) + sLineBreak +

        'Motivo: '   + EventoRetorno.xMotivo

        );

  end;

end;

 

Postado

Este comando enviou o lote e os retornos já estão disponíveis no componente:

ACBrNFe.EnviarEventoNFe(idnota);  

 

Você está fazendo esta verificação logo em seguida. Esta verificação repete o envio com as mesmas informações enviadas anteriormente.

Esta repetição é quem está causando a duplicidade:

if ACBrNFe.EnviarEventoNFe(idnota) then

 

Retire o primeiro comando postado lá em cima e mantenha este do "IF".

Peterson de Cerqueira Matos
[email protected]
Vivo: (11) 97197-1474 / Oi: (11) 98059-4055

  • Este tópico foi criado há 4266 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.