Ir para conteúdo
  • Cadastre-se

Problema no envio de e-mail da NF-e


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

Recommended Posts

Postado

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

  • Consultores
Postado

tu fala aplicação servidora é uma API?

se sim tu usou a diretiva NOGUI?

tem diversas pessoas usando e não estão tendo problemas

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado
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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membro Pro Verificado
Postado (editado)

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
  • Consultores
Postado
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?

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membro Pro Verificado
Postado

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

  • Consultores
Postado
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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membro Pro Verificado
Postado

@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

  • Fundadores
  • Solution
Postado

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.

  • Membro Pro Verificado
Postado

@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 

  • Fundadores
Postado

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.

  • Consultores
Postado
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

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Membro Pro Verificado
Postado (editado)

Para não alterar os fontes do Fortes Report pensei em tratar na unit ACBrNFeDANFeRL conforme imagem abaixo,

Se for válida a idéia poderia ser implementada no ACBr

 

image.thumb.png.ceebfb88783a20a2d130bab81f32e03d.png 

 

image.png

Editado por Microsys Sistemas
  • Consultores
Postado

Pronto no Fortes Report CE está sem

levante só a excessão

  • Curtir 1

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Consultores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

 

Consultora ACBr Pro

Juliomar Marchetti

Ajude o Projeto ACBr crescer - Seja Pro

discord: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br

 

MVP_NewLogo_100x100_Transparent-02.png
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 1556 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...
The popup will be closed in 10 segundos...