Ir para conteúdo
  • Cadastre-se

dev botao

Erro: Nenhum Evento Adicionado Ao Lote (Cce)


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

Recommended Posts

  • Membros Pro

Pessoal, estou tentando enviar evento de carta de correção e estou obtendo um ERRO: Nenhum evento adicionado ao Lote, procurei e nao achei nada alguém tem ideia do que pode ser? Abaixo o código que estou usando...(copie do syte do Regys...)

 

Delphi 7

 

procedure TfrmCartaCorrecao.ToolButton9Click(Sender: TObject);
var
  Lote : Integer;
  arq : String;
begin
  pnlInfo.Visible := True;
  pnlTexto.Caption := 'Iniciando Envio da Carta de Correção...';
  Application.ProcessMessages;

  arq := ExtractFilePath(Application.ExeName)+'Arquivos\NotasFiscais\Saidas\Normal\'+Trim(frmNFSaida.qryNFCHAVE.Value)+'-nfe.xml';

  Lote := StrToInt(FormatDateTime('ddmmyyhhmm',now));

// preenchimento dos dados da carta de correção
  frmNFSaida.ACBrNFe1.Configuracoes.Certificados.NumeroSerie := dm.cdsParamEmpresaNF_CERTIFICADO.Value;

  frmNFSaida.ACBrNFe1.EventoNFe.Evento.Clear;

  pnlTexto.Caption := 'Adicionando Correções...';
  Application.ProcessMessages;

  frmNFSaida.ACBrNFe1.EventoNFe.idLote := Lote;

  qryItemCC.First;
  while not qryItemCC.Eof do
    begin
      with frmNFSaida.ACBrNFe1.EventoNFe.Evento.Add do
        begin
          infEvento.dhEvento   := Now;
          infEvento.tpEvento   := teCCe;
          InfEvento.cOrgao := StrToInt(Copy(frmNFSaida.qryNFCHAVE.Value,1,2));
//          InfEvento.DescEvento := 'Carta de Correção';
          InfEvento.versaoEvento := '1.0.00';
//          InfEvento.tpEvento := 110110;
          InfEvento.tpAmb := taHomologacao;

//          infEvento.nSeqEvento := qryCartaCODCARTA.Value;
          InfEvento.detEvento.xCorrecao := 'Campo a Ser Corrigido: '+qryItemCCCAMPO.Value+' - Ref. '+qryItemCCREFERENCIA.Value+' - De: '+qryItemCCDE.Value+' - Para: '+qryItemCCPARA.Value+#13;
        end;
      qryItemCC.Next;
    end; // While ItemCC

  pnlTexto.Caption := 'Enviando...';
  Application.ProcessMessages;

  // envio da carta de correção
  if ACBrNFe.EnviarEventoNFe(Lote) 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
        ]);
        pnlInfo.Visible := False;
        pnlTexto.Caption := '';;
        Application.ProcessMessages;

      end;

      // Se não ocorrer Erros Grava a Carta de Correção
      if (dm.trs.Active = False) then dm.trs.StartTransaction;
      with qryAlterar do
        begin
          Close;
          ParamByName('DATA_EVENTO').AsDate := EventoRetorno.retEvento.Items[0].RetInfEvento.dhRegEvento;
          ParamByName('PROTOCOLO').AsString := EventoRetorno.retEvento.Items[0].RetInfEvento.nProt;
          ParamByName('SITUACAO').AsString :=  IntToStr(EventoRetorno.retEvento.Items[0].RetInfEvento.cStat)+' - '+EventoRetorno.retEvento.Items[0].RetInfEvento.xMotivo;
          ParamByName('CHAVENFE').AsString := EventoRetorno.retEvento.Items[0].RetInfEvento.chNFe;
          ParamByName('ORGAO').AsString := IntToStr(EventoRetorno.retEvento.Items[0].RetInfEvento.cOrgao);
          ParamByName('LOTE').AsInteger := Lote;
          ExecSQL;
        end;
      dm.trs.CommitRetaining;
      qryCarta.Close;
      qryCarta.Open;
      pnlInfo.Visible := False;
      pnlTexto.Caption := '';;
      Application.ProcessMessages;
      MessageDlg('Evento de Carta de Correção Enviado com Sucesso!',mtInformation,[mbOk],0);
    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
      );
        pnlInfo.Visible := False;
        pnlTexto.Caption := '';;
        Application.ProcessMessages;

    end;
  end;
end;

 

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Vc está adicionando o evento no componente que está em um formulário:

with frmNFSaida.ACBrNFe1.EventoNFe.Evento.Add do
E depois mandando enviar com o componente de outro form.
if ACBrNFe.EnviarEventoNFe(Lote) then
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

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