Jump to content

dev botao

Cancelamento Nf-E Evento 128


Go to solution Solved by Ricardo David Consolo,
  • Este tópico foi criado há 3586 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá amigos.

 

Estou com uma questão no cancelamento de NF-e. O único evento retornado é "128 - Lote de Evento Processado". Qualquer NF-e continua autorizada e o cancelamento não se realiza.

 

Fiz o procedimento configurando a versão de demonstração do ACBr (por evento e por XML) e o mesmo problema apareceu.

 

Detalhe: isso só acontece com um único cliente. Já refiz a instalação do aplicativo e dos schemas.

 

Uma chave e protocolo que estou usando para os testes:

35140849702822000103550010000026751451102140
135140518509194

 

Anexei o XML.

 

Meu código é o seguinte:

function TdtmFiscal.NFeCancela(PJustificativa: string;
  PProtocolo: string): Boolean;
var
  LCaminhoPastaXML, LCodigoUnidadeNeg, LPastaData, LArquivoXML, LPathXML: string;
  LLote: Integer;
  frmNFeCancelaJustificativa: TfrmNFeCancelaJustificativa;
begin
  LCaminhoPastaXML := dmMain.LeConfiguracao('nfe.xml.pasta');
  LCodigoUnidadeNeg := dtmAdmin.qryUnidadesNeg.Lookup('ID_AD_UNIDADESNEG',
    qryNotasID_AD_UNIDADESNEG.Value, 'CODIGO');
  LPastaData :=  IntToStr(YearOf(qryNotasDATA_EMISSAO.Value)) +
    FormatFloat('00', MonthOf(qryNotasDATA_EMISSAO.Value));
  LArquivoXML := qryNotasCHAVE_NFE.Value + '-procNFe.xml';

  LPathXML := LCaminhoPastaXML
    + '\'
    + LCodigoUnidadeNeg
    + '\'
    + LPastaData
    + '\'
    + LArquivoXML;

  if (FileExists(LPathXML)) then
  begin
    NFeCarregaXML(LPathXML, 1);
    LLote := qryNotasID_FS_NOTAS.Value;

    ACBrNFe1.EventoNFe.idLote := LLote;
    with ACBrNFe1.EventoNFe.Evento.Add do
    begin
      infEvento.dhEvento := dmMain.Agora;
      infEvento.tpEvento := teCancelamento;
      infEvento.detEvento.xJust := PJustificativa;
    end;
    ACBrNFe1.EnviarEventoNFe(LLote);

    // 128 - Lote de Evento Processado
    if (ACBrNFe1.WebServices.EnvEvento.cStat = 128) then
    begin
      PProtocolo :=
        ACBrNFe1.WebServices.EnvEvento.EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;

      frmMensagem.MostraMensagem(msgInformacao,
        IntToStr(ACBrNFe1.WebServices.EnvEvento.cStat)
        + ' - '
        + ACBrNFe1.WebServices.EnvEvento.xMotivo);

      Result := True;
    end
    else
    begin
      frmMensagem.MostraMensagem(msgErro, 'Erro no cancelamento da NF-e.'
        + crlf
        + IntToStr(ACBrNFe1.WebServices.EnvEvento.cStat)
        + ' - '
        + ACBrNFe1.WebServices.EnvEvento.xMotivo);

      Result := False;
    end
  end
  else
  begin
    frmMensagem.MostraMensagem(msgErro,
      'Não foi possível encontrar o xml.'
      + crlf
      + LPathXML);

    Result := False;
  end;
end;

Se alguém tiver alguma idéia do que pode ser, agradeço o retorno.

 

35140849702822000103550010000026751451102140-procNFe.xml

Link to comment
Share on other sites

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.

The popup will be closed in 10 seconds...