Ir para conteúdo
  • Cadastre-se

dev botao

Problema no envio de e-mail da NF-e


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

Recommended Posts

Boa tarde a todos,
Há alguns dias estava com um problema onde a aplicação servidor ficava travada ao enviar um e-mail pela aplicação cliente. Até acessar o servidor e clicar no OK da mensagem, outros clientes que tentavam realizar as requisições não conseguiam pois o mesmo estava com a mensagem aberta.

O erro que aparecia era a mensagem abaixo:

[Content]

RLNFe: Erro durante a preparação do relatório

EdxGdipException(Invalid operation in GDI+ (Code: 2))

[OK]


Ao debugar a aplicação, foi notado que na unit ACBrNFeDANFeRL.pas (\Fontes\ACBrDFe\ACBrNFe\DANFE\NFe\Fortes), do Fortes Report, o método SalvarPDF, não está tratando a exceção ao executar o Prepare do DANFeReport. Assim, quando ocorria algum erro, era mostrado um ShowMessage na aplicação do servidor, em vez de mostrar uma exceção para a aplicação cliente (imagem abaixo). Assim era necessário acessar o servidor e clicar na mensagem para destravar a aplicação.

ShowMessage_Fortes.thumb.png.89478cbe6adac57d06c209aa341ea67e.png

Realizando o tratamento do erro no método Prepare, a mensagem não apareceu mais na aplicação servidor e apareceu uma exceção na aplicação cliente, não travando o processo de outras aplicações cliente. O erro era ocasionado por uma logo com problema, pois quando a mesma foi removida não apresentou mais erro no método Prepare.
Estou deixando em anexo o arquivo com a alteração para avaliação.

ACBrNFeDANFeRL.pas

Link para o comentário
Compartilhar em outros sites

  • Moderadores
1 hora atrás, marcosandre disse:

Isso, a aplicação servidor é uma API.

Como funciona essa diretiva NOGUI? Tentei habilitar mas sem sucesso.

basta definir ela no projeto e pronto

é isso que vai fazer trabalhar sem mensagens VCL ou FMX vai entender que ela é uma aplicação console

é lá nas opções de projeto que tu define

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom Dia Juliomar, 

Nossa aplicação utliza o Delphi MVC framework e roda em segundo plano no servidor.

Quando a API tenta salvar o PDF do DANFE em uma pasta temporária ocorre esse erro e a API fica travada até que acesse o servidor e clique em OK na mensagem.

Precisamos que não ocorra nenhum tipo Showmessage na API e que seja levantado uma exception para que esse erro ocorra na aplicação Client e não no Servidor. 

image.png.d07aa1b1478928aea4765712bc084459.png

 
Utilizando  a diretiva NOGUI no projeto não estou conseguindo compilar o Projeto, não encontra o Método PintarQRCode

image.thumb.png.02f340978e8aec840eae82c6818e289a.png

 

 

image.thumb.png.9ee92a8c3621c1101fa22386ce7e6891.png

Editado por Microsys Sistemas
Link para o comentário
Compartilhar em outros sites

  • Moderadores
48 minutos atrás, Microsys Sistemas disse:

Bom Dia Juliomar, 

Nossa aplicação utliza o Delphi MVC framework e roda em segundo plano no servidor.

Quando a API tenta salvar o PDF do DANFE em uma pasta temporária ocorre esse erro e a API fica travada até que acesse o servidor e clique em OK na mensagem.

Precisamos que não ocorra nenhum tipo Showmessage na API e que seja levantado uma exception para que esse erro ocorra na aplicação Client e não no Servidor. 

image.png.d07aa1b1478928aea4765712bc084459.png

 
Utilizando  a diretiva NOGUI no projeto não estou conseguindo compilar o Projeto, não encontra o Método PintarQRCode

image.thumb.png.02f340978e8aec840eae82c6818e289a.png

 

 

image.thumb.png.9ee92a8c3621c1101fa22386ce7e6891.png

Sim eu até sei o nome do rapaz que ajuda lá no DMVC e que era programador de vocês.

estão com o ACBr atualizados do SVN?

não tem uma versão antiga ai?

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Na Unit ACBRImage comentei todos os pontos onde avaliava se não existia a diretiva, sendo assim consegui compilar o projeto e levantar a API,

porém o problema daquele showmessage na aplicação servidora persiste mantendo a aplicação travada até que a mensagem seja fechada. 

image.thumb.png.15022a23ff738898e432d42ba7fbbf65.png

Link para o comentário
Compartilhar em outros sites

  • Moderadores
Em 08/03/2022 at 14:06, Microsys Sistemas disse:

Utilizando a diretiva NOGUI o problema ainda ocorre.

 

image.thumb.png.a4ca0047b9240ebd6ad6c9d7ffa3fd85.png

No caso esse erro que ocorre é algo com a instalação do Fortes Report.

lembro até que discutimos uma vez no grupo fechado do ACBr sobre a situação

então vou pedir para que faça a remoação do fortes, não deixe arquivos antigos, baixe novamente e rode o instalador dele

depois o instalador do ACBr

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

@Juliomar Marchetti Fiz 2 aplicações CLIENT e SERVER utilizando o HORSE para ilustar o problema que está acontecendo.

Já detectamos que o problema ocorre ao Imprimir o DANFE devido a uma imagem de Logomarca que o usuário incluiu.

O problema é que o ACBr esta tratando a exceção com um Showmessage. Utilizei a diretiva NOGUI nesse projetinho e também não resolveu.

Segue o link para baixar os fontes

https://atualizacoes.microsys.inf.br/Util/Exemplo_API.zip

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

Não é um ShowMessage é um Exception...

Quando você criar a aplicação, precisa criar ela cono uma aplicação Console e nesse caso os Exceptions serão apenas texto...

Verifique se seu Windows tem todas as atualizações instalados... o Erro indica a fala da biblioteca GDI no seu Sistema Operacional 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

@Daniel Simoes é um showmessage dentro de um exception. Esse código da imagem baixo esta implementado no método TRLCustomReport.Prepare

da unit "RLReport". Como o Evento OnPrepareError não esta implementado está caindo nesse Showmessage e tratando a exceção travando nossa aplicação.

Na Unit ACBrNFeDANFeRL método TfrlDANFeRL.SalvarPDF está chamando o   a linha   DANFeReport.RLNFe.Prepare sendo que dentro desse método ocorre a exceção e a mesma é tratada com um Showmessage. Precisamos que seja implementado o Evento OnPrepareError para que a exceção seja passada pra frente. Isso tudo já foi mencionado no inicio desse tópico
 

image.thumb.png.1378889aa5ed7871acd744567f2c13ea.png 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Eita.. isso não parece nada correto... não faz sentido transformar um Exception em ShowMessage...

@Juliomar Marchetti, você está analisando essa questão ?

Se a ideia do autor original, era padronizar a apresentação dos erros.. ele poderia simplesmente subir uma nova Exceção, com o Rise

 

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
36 minutos atrás, Daniel Simoes disse:

Eita.. isso não parece nada correto... não faz sentido transformar um Exception em ShowMessage...

@Juliomar Marchetti, você está analisando essa questão ?

Se a ideia do autor original, era padronizar a apresentação dos erros.. ele poderia simplesmente subir uma nova Exceção, com o Rise

 

Sim

mas é lá no fortes coisa toda

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Black-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
34 minutos atrás, Juliomar Marchetti disse:

Sim

mas é lá no fortes coisa toda

Acho que é só mudar o ShowMessage para um novo "Raise"

  • Curtir 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...