Jump to content

Delphi chamada_delphi.png acbr.png

C6 chamada_c6.png botao.png

Envio da Carta de Correção


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

Recommended Posts

  • Membros Pro

Bom dia 

Estou com um problema ao enviar uma carta de correção, o xml não esta sendo criado, estou utilizando a versão mais nova do ACBr e fiz os mesmos testes com a versão anterior e funcionou normalmente.

Estou utilizando  o  ACBrNFe.EnviarEventoNFe , ACBrNfe.EventoNfe.

Alguém já passou por esse problema, ou poderia me explicar o que provavelmente esta acontecendo?

 

Link to comment
Share on other sites

  • Membros Pro

Desculpe a minha ignorância mais do que se trata esse trunk ou trunk2 ?  Dentro do código não existe nada relacionado a essas informações.

Segue  o código:

 ACBrNFe.EventoNFe.Evento.Clear;
  with ACBrNFe.EventoNFe.Evento.Add do
  begin
    nSeqEvento := qrnf.fieldbyname('seq_cce').asstring;

    if tp_ambiente = 0 then
      InfEvento.tpAmb              := taProducao
    else
      InfEvento.tpAmb              := taHomologacao;
    infEvento.chNFe                := Chave;
    infEvento.cOrgao               := StrtoInt(Copy(qrfilial.fieldbyname('cd_cid').AsString, 1,2));
    infEvento.CNPJ                 := CNPJ;
    //infEvento.dhEvento             := IncMinute(PegaDataHoraStatusServico() ,-5);
    infEvento.dhEvento             := now;
    infEvento.tpEvento             := teCCe;
    infEvento.nSeqEvento           := StrToInt(nSeqEvento);
    infEvento.detEvento.descEvento := 'Carta de Correção';
    infEvento.detEvento.xCorrecao  := Correcao;
    infEvento.detEvento.xCondUso   := '';
  end;


    // envio da carta de correção
  if  ACBrNFe.EnviarEventoNFe(StrToInt(idLote)) then
  begin
    with ACBrNFe.WebServices.EnvEvento do
    begin
      if not(EventoRetorno.retEvento.Items[0].RetInfEvento.cStat in [135, 136]) then
      begin
        raise EDatabaseError.CreateFmt(
          'Ocorreu o seguinte erro ao enviar a carta de correção:'  + sLineBreak +
          'Código:%d' + sLineBreak +
          'Motivo: %s', [
            EventoRetorno.retEvento.Items[0].RetInfEvento.cStat,
            EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo
        ]);
      end;

      qr2.Close;
      qr2.SQL.Clear;
      qr2.SQL.Text:= 'update nf set seq_cce = seq_cce+1 '+
                     'where nr_nf = '+quotedstr(qrnf.fieldbyname('nr_nf').AsString)+
                     'and cd_fil = '+quotedstr(qrnf.fieldbyname('cd_fil').AsString)+
                     ';';
      qr2.ExecSQL;


    end;
  end
  else
  begin
    with ACBrNFe.WebServices.EnvEvento do
    begin
      raise Exception.Create(
        'Ocorreram erros ao enviar a Carta de Correção:' + 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;


  ACBrNFe.EventoNFe.GerarXML;
  MemoResp.Lines.Text := UTF8Encode(ACBrNFe.WebServices.EnvEvento.RetWS);
  LoadXML(MemoResp, WBResposta);

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.