Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Amigos, gostaria de saber como vocês fazem (se fazem) para enviar uma NFe e não subir nenhum alerta/exceção para o usuário.

O que acontece é o seguinte:

Fiz um windows service que realiza todo o processo de geração de xml/ assinatura/envio/consulta e envio de email da nfe, tudo utilizando os try/except em seus devidos lugares com seus respectivos tratamentos. Mas, no momento de enviar email, mesmo utilizando o método entre try/except ele deixa subir uma exceção caso o servidor smtp não responda, fazendo com que meu serviço pare de processar os comandos.

Utilizo o código abaixo:



try

    Nfe.EnviarEmail(

      QryFilialDFe_Email_Servidor.AsString,

      QryFilialDFe_Email_Porta.AsString,

      QryFilialDFe_Email_Usuario.AsString,

      QryFilialDFe_Email_Senha.AsString,

      QryFilialDFe_Email_Usuario.AsString,

      sDestinatario,

      'Nota Fiscal Eletrônica',

      sMsg,

      False,

      True, //Enviar PDF

      nil,

      sAnexos,

      False, //Não pedir Confirmação

      False, //Não aguardar envio

      QryFilialNm_Empresa.AsString ,

      False );

  except

    on E:Exception do

    begin

      //tratamento do erro sem deixar subir exceção a partir daqui

    end;

  end;

Ao que verifiquei no código, a exceção não é capturada aqui pois eu não espero a resposta do servidor, logo, quando a thread de email lança a exceção eu já saí do bloco há tempos.

Será que não valeria um parâmetro para deixar opcional se subirá ou não exceção na thread de email?

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

Postado

O ACBr Monitor não usa o método "Nfe.EnviarEmail" do componente, mas recria todo o método.

Refaço a pergunta anterior:

Será que não valeria um parâmetro para deixar opcional se subirá ou não exceção na thread de email?

Caso achem interessante posso fazer a alteração e disponibilizar, só não quero ficar fazendo personalizações que só eu utilizarei, pois daqui a pouco terei um componente a parte e não poderei usufruir das atualizações do mesmo.

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

  • 1 mês depois ...
Postado

Galera,

Na época desta dúvida, acabei implementando uma correção e tenho monitorado seu funcionamento até hoje, obtendo resultados positivos.

A alteração consistiu em adicionar um parâmetro na chamada "Nfe.EnviarEmail" para que não seja exibida qualquer exceção da thread para o usuário, já que o mesmo é um windows services, desta forma o serviço não fica travado já que esta não cai no try onde o comando foi chamado por ele já ter saído do mesmo.

Fico a disposição.

ACBrNFeNotasFiscais.pas

- Sou desenvolvedor.

- De que linguagem, delphi? .NET? Java?

- Qualquer uma, sou desenvolvedor.

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