Ir para conteúdo
  • Cadastre-se

dev botao

Erro Cancelamento Nfe


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

Recommended Posts

Boa tarde Pessoal,

 

 

estou tentando cancelar uma Nfe estã dando o seguinte erro

 

erroCancelarNfe.JPG

 

meu codigo de cancelamento e este

 

 

// numero do lote de envio (somente um exemplo, pode-se utilizar seu proprio controle)
  NumeroLote := StrToInt(FormatDateTime('yymmddhhmm', NOW));
 
  if not(InputQuery('WebServices Cancelamento', 'Justificativa', vAux)) then
       exit;
 
  // Criar o cancelamento
  ACBrNFe1.EventoNFe.Evento.Clear;
  if ckTeste.Checked then
      ACBrNFe1.Configuracoes.WebServices.Ambiente   := StrToTpAmb(Ok,IntToStr(2)) // 1 Producao  2 Homologacao  // StrToTpAmb(Ok,IntToStr(rgTipoAmb.ItemIndex+1));
    else
      ACBrNFe1.Configuracoes.WebServices.Ambiente   := StrToTpAmb(Ok,IntToStr(1));
    ACBrNFe1.Configuracoes.Certificados.Senha  := cdsLocEmpresaFILSENHANFE.AsString;
    ACBrNFe1.Configuracoes.Certificados.NumeroSerie := ACBrNFe1.Configuracoes.Certificados.SelecionarCertificado;
    ACBrNFe1.Configuracoes.Geral.Salvar       := false;
    ACBrNFe1.Configuracoes.Geral.PathSalvar   := ExtractFilePath(Application.ExeName)+'\Logs\'+cdsLocEmpresaFILCODIGO.AsString+'\';
 
    ACBrNFe1.EventoNFe.Evento.Clear;
    ACBrNFe1.EventoNFe.idLote := NumeroLote;
 
 
  ShowMessage(FilterNumber(cdsLocEmpresaFILCNPJ.AsString));
  ShowMessage('Recibo '+cdsLocNFNFSNRORECIBO.AsString);
  ShowMessage('Protocolo '+cdsLocNFNFSNFOPROTOCOLO.AsString);
  with ACBrNFe1.EventoNFe.Evento.Add do
  begin
    infEvento.chNFe      := cdsLocNFNFSNRORECIBO.AsString;
    infEvento.CNPJ       := FilterNumber(cdsLocEmpresaFILCNPJ.AsString);
    infEvento.dhEvento   := NOW;
    infEvento.tpEvento   := teCancelamento;
    infEvento.detEvento.nProt := cdsLocNFNFSNFOPROTOCOLO.AsString;
    infEvento.detEvento.xJust := vAux;
  end;
 
// Enviar o evento de cancelamento
  if ACBrNFe1.EnviarEventoNFe(NumeroLote) then
  begin
    with ACBrNFe1.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 ACBrNFe1.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;
 
 
Obrigado
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Olá estou com um cliente que não esta conseguindo cancelar a NF-e;

 

da o erro 579: mensagem -> A data do evento não pode ser menor que a data de autorização par NF-e não emitida em contigencia.

 

a Nota foi emitida hoje as 11:30:12. Algum procedimento errado ? Na propriedade  esta assim;

    infEvento.dhEvento        := NOW;

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Vilmar,

 

A nota foi emitida as 11:30:12 mas quando ocorreu a tentativa de cancelamento?

 

Você esta pegando a data e hora do relógio da maquina, esse relógio esta em conformidade com a data e hora da SEFAZ para onde o evento esta sendo enviado?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde Italojjr,

 

sim foi emitida hoje dia 16/04/2013 as 11:30:12 horário de Brasília, pois estou em Rondônia.

 

estou passando assim:

 

 

    idLote := StrToInt(FormatDateTime('yymmddhhmm', NOW));
    ACBrNFe1.EventoNFe.Evento.Clear;
    ACBrNFe1.EventoNFe.idLote := idLote;
 
    with ACBrNFe1.EventoNFe.Evento.Add do
    begin
      infEvento.chNFe           := Copy(ACBrNFe1.NotasFiscais.Items[0].NFe.infNFe.ID, 4, 44);
      infEvento.CNPJ            := ACBrNFe1.NotasFiscais.Items[0].NFe.Emit.CNPJCPF;
      infEvento.cOrgao          := ACBrNFe1.NotasFiscais.Items[0].NFe.Ide.cUF;
 
      InfEvento.detEvento.nProt := ACBrNFe1.NotasFiscais.Items[0].NFe.procNFe.nProt;
      infEvento.nSeqEvento      := 1;
      infEvento.dhEvento        := now;
      infEvento.tpEvento        := teCancelamento;
      infEvento.detEvento.xJust := vJust;
    end;
 
    // Enviar o evento de cancelamento
    if ACBrNFe1.EnviarEventoNFe(idLote) then
     ...
Link para o comentário
Compartilhar em outros sites

  • Consultores

Vilmar,

 

O horario da emissão eu sei, a minha pergunta foi, quando ocorreu o cancelamento?

 

 

Foi logo após o envio, ou minutos, ou horas depois?

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Moderadores

O Italo já te respondeu, veja:

Você esta pegando a data e hora do relógio da maquina, esse relógio esta em conformidade com a data e hora da SEFAZ para onde o evento esta sendo enviado?

Atrase o relógio da máquina e tente enviar novamente o cancelamento.

djsystem-logo.png
 youtube.png facebook.png instagram.png linkedin.png
André Ferreira de Moraes | Analista de Sistemas
www.djsystem.com.br | www.djpdv.com.br
www.tefhouse.com.br | www.lambretinha.com.br
Link para o comentário
Compartilhar em outros sites

Olá André, realmente era isso, não consegui entender a resposta do Italo, entendi que ele estava me perguntando pois a msg termina com " ? ", mas blz, já esta resolvido, muito obrigado a todos.

Pessoal,

 

Ontem também tive problemas no cancelamento de nfe em SP, sendo que utilizei a versão do nfemonitor 0.7.9.1, 0.7.9.2 e 0.7.10.1, os quais irei relatar no outro post.

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

Link para o comentário
Compartilhar em outros sites

O pessoal,

 

primeiro Obrigado o erro que eu postei funcionou agora esta dando outro 

 

Código: 250

Motivo: Codigo do orgao de recepcao do evento da UF diverge  da solicitada

 

 

 

 

  ShowMessage(FilterNumber(cdsLocEmpresaFILCNPJ.AsString));
  ShowMessage('Chave '+cdsLocNFNFSCHAVEACESSO.AsString);
  ShowMessage('Protocolo '+cdsLocNFNFSNFOPROTOCOLO.AsString);
  ShowMessage('Lote '+inttostr(NumeroLote));
  ShowMessage('Orgao '+cdsLocEmpresaIDUF.AsString);
  with ACBrNFe1.EventoNFe.Evento.Add do
  begin
    infEvento.chNFe      := FilterNumber(cdsLocNFNFSCHAVEACESSO.AsString);
    infEvento.CNPJ       := FilterNumber(cdsLocEmpresaFILCNPJ.AsString);
    InfEvento.cOrgao     := cdsLocEmpresaIDUF.AsInteger; (43  que eu uso)
    infEvento.dhEvento   := NOW;
    infEvento.tpEvento   := teCancelamento;
    infEvento.detEvento.nProt := cdsLocNFNFSNFOPROTOCOLO.AsString;
    infEvento.detEvento.xJust := vAux;
  end;

 

 

Obrigado!!

Link para o comentário
Compartilhar em outros sites

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