Ir para conteúdo
  • Cadastre-se

dev botao

Erro Ao Cancelar Nf-E


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

Recommended Posts

Postado (editado)

Boa tarde

Estou tentando cancelar uma NF e não estou conseguindo, esta rejeitando com o motivo  494 - Rejeicao: Chave de Acesso inexistente para o tpEvento que exige a existencia da NF-e.

Li vários altigos neste forum mas não achei a solução.

Segue rotina de cancelamento tirada com base no site do Regys . e XML

Os schemas estão todos atualizados.

 

...
   cpnNfe.NotasFiscais.Clear;
   cpnNfe.EventoNFe.Evento.Clear;

   cpnNfe.Configuracoes.Geral.PathSalvar := ExtractFilePath(lsArquivo);
   cpnNfe.Configuracoes.Arquivos.PathCan := ExtractFilePath(lsArquivo);

   cpnNfe.NotasFiscais.LoadFromFile(lsArquivo);

   lsChave := Trim(OnlyNumber(cpnNfe.NotasFiscais.Items[0].NFe.infNFe.ID));

   liNumeroLote := StrToInt(FormatDateTime('yymmddhhmm', NOW));

   cpnNfe.EventoNFe.idLote := liNumeroLote;
   with cpnNfe.EventoNFe.Evento.Add do
      begin
      InfEvento.tpAmb            := cpnNfe.Configuracoes.WebServices.Ambiente;
      infEvento.cOrgao           := StrToInt(Copy(lsChave, 1, 2));
      infEvento.nSeqEvento       := 1;
      infEvento.chNFe            := lsChave;
      infEvento.dhEvento         := now;
      infEvento.tpEvento         := teCancelamento;
      infEvento.detEvento.xJust  := psJustificativa;
      infEvento.detEvento.nProt  := cpnNfe.NotasFiscais.Items[0].NFe.procNFe.nProt;
      end;

   // Enviar o evento
   if cpnNfe.EnviarEventoNFe(liNumeroLote) then
      begin
      with cpnNfe.WebServices.EnvEvento do
         begin
         if EventoRetorno.retEvento.Items[0].RetInfEvento.cStat <> 135 then
            begin
            suiMsg(dm001_frm.msg, 'Ocorreram erros para cancelar NF-e.'+#13+FormatFloat('0', EventoRetorno.retEvento.Items[0].RetInfEvento.cStat)+#13+
                                                                                             EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo, 'Erro', 1, 'Ok', 'Não', '', mrOk, mrCancel, mrAbort, suiStop);
            Exit;
            end;

         suiMsg(dm001_frm.msg, 'Cancelamento efetuado com sucesso'+#13+
                               'Protocolo: '+EventoRetorno.retEvento.Items[0].RetInfEvento.nProt , 'Informação', 1, 'Ok', 'Não', '', mrOk, mrCancel, mrAbort, suiInformation);

         end;
      end
   else
      begin
      with cpnNfe.WebServices.EnvEvento do
         begin
         suiMsg(dm001_frm.msg, 'Ocorreram erros para cancelar Nf-e.'+#13+FormatFloat('0', EventoRetorno.cStat)+#13+
                                                                                          EventoRetorno.xMotivo, 'Erro', 1, 'Ok', 'Não', '', mrOk, mrCancel, mrAbort, suiStop);


         exit;
         end;
      end;
...

 

Obrigado a todos

Editado por Edson
Postado

Pessoal, me desculpa, mas foi erro de programação mesmo...estava com 2 componentes na tela e um não estava sendo preenchido as propriedades corretamente.

mesmo assim obrigado...

  • Solution
Postado (editado)

Boa tarde,

 

Desde ontem apresenta problema na rotina "Cancelar Nf-E", pelo xml e pela chave da nfe, aparece Not found (404) no link da sefaz.

 

Será que algum colega pode orientar em como solucionar este problema?

 

img em anexo.

 

Grato,

 

gilsonlongo

Desenvolvimento de programas e recuperação de dados

Editado por gilsonlongo
  • Este tópico foi criado há 4210 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.