Ir para conteúdo
  • Cadastre-se

dev botao

NFS-e - Tratar Exception EACBrDFeException


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

Recommended Posts

  • Membros Pro

Quando gero a a NFS-e  gera a exception no DELPHI gostaria pegar esta exceção, mas não estou conseguindo:

    if VO_NFE.SEM_TELA then
    begin
      try
        ACBrNFSe1.Emitir(IntToStr(VO_NFE.Lote),meAutomatico,False);     ********Exceção  nesta linha na procedure abaixo********
      except on e:Exception do
        begin
          infobox('Erro','Erro(1): ' + E.Message);                                                *********Não PASSA AQUI NO DEBUG*******
          VO_NFE.ERRO_NFS:=e.Message;
          exit;
        end;
      end;
    end else
    begin
      ACBrNFSe1.Emitir(IntToStr(VO_NFE.Lote));
    end;


 

 

 

 

 

procedure TACBrNFSeXWebservice.UsarCertificado;
var
  TemCertificadoConfigurado: Boolean;
begin
  FPDFeOwner.SSL.UseCertificateHTTP := TACBrNFSeX(FPDFeOwner).Provider.ConfigGeral.UseCertificateHTTP;

  if FPDFeOwner.SSL.UseCertificateHTTP then
  begin
    TemCertificadoConfigurado := (FPConfiguracoes.Certificados.NumeroSerie <> '') or
                                 (FPConfiguracoes.Certificados.DadosPFX <> '') or
                                 (FPConfiguracoes.Certificados.ArquivoPFX <> '');

    if TemCertificadoConfigurado then
      if FPConfiguracoes.Certificados.VerificarValidade then
        if (FPDFeOwner.SSL.CertDataVenc < Now) then
          raise EACBrDFeException.Create('Data de Validade do Certificado já expirou: '+
                                            FormatDateBr(FPDFeOwner.SSL.CertDataVenc));                                                          ==============>  gera esta Exception
  end;
end;

Link para o comentário
Compartilhar em outros sites

  • Membros Pro
  • Solution

Achei o tratamento sem o try/except   pela resposta do webservice.

    if VO_NFE.SEM_TELA then
    begin
      ACBrNFSe1.Emitir(IntToStr(VO_NFE.Lote),meAutomatico,False);
    end else
    begin
      ACBrNFSe1.Emitir(IntToStr(VO_NFE.Lote));
    end;
    ChecarResposta(tmRecepcionar);
    VO_NFE.ERRO_NFS:='';
    for cont:=0 to ACBrNFSe1.WebService.Emite.Erros.Count-1 do
    begin
      VO_NFE.ERRO_NFS:=VO_NFE.ERRO_NFS+ACBrNFSe1.WebService.Emite.Erros.Items[cont].Codigo+'-'+
                                       ACBrNFSe1.WebService.Emite.Erros.Items[cont].Descricao;
    end;
 

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 701 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.