Ir para conteúdo
  • Cadastre-se

dev botao

Envio De Faturas Por E-Mail Com Fast Report


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

Recommended Posts

Boa tarde pessoal.

 

Estou implementando uma rotina para envio de faturas comerciais em massa, por e-mail. Para tal, utilizo os componentes TACBrBoleto e TACBrBoletoFCFR.

 

Ao executar o procedimento TACBrBoleto.EnviarEmail, o componente mostra a tela de setup da exportação do PDF, o que não é de meu interesse. Reparei que existe a propriedade 'MostrarSetup', mas a finalidade dela parece estar restrita apenas ao diálogo de impressão, e não ao de exportação.

 

Debugando o programa, cheguei ao procedimento TACBrBoletoFCFR.Imprimir, no qual o TDataModule responsável pela impressão é criado em tempo de execução (DmBoleto). Isto impede qualquer alteração dos dados nele contidos fora do contexto do procedimento (no código do aplicativo):

procedure TACBrBoletoFCFR.Imprimir;
var
  DmBoleto: TdmACBrBoletoFCFR;
begin
  inherited Imprimir; // Verifica se a lista de boletos está vazia

  DmBoleto := TdmACBrBoletoFCFR.Create(Self);

...

Logo após, a propriedade 'MostrarSetup' é aplicada nas opções de impressão do report:

frxReport.PrintOptions.ShowDialog := MostrarSetup;

E, finalmente, o momento da exportação do arquivo:

frxPDFExport.FileName := NomeArquivo;

{Esta é a linha que está resolvendo o impasse, por enquanto}
DmBoleto.frxPDFExport.ShowDialog := MostrarSetup;

frxReport.Export(DmBoleto.frxPDFExport);

Gostaria de saber dos colegas se há alguma outra forma de contornar isto. Caso não haja, como proceder para aplicar esta solução no projeto? É interessante criar outra propriedade específica para este fim?

 

Desde já agradeço a atenção,

 

Gabriel.

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...

Chegou a alterar o componente colocando a informação para mostrar a caixa de dialogo na exportação com essa mesma variavel?

 

Primeiramente, obrigado pela atenção Juliomar.

 

Adicionando a linha mencionada, o componente se comporta conforme a necessidade. É a primeira vez que preciso alterar algum componente do ACBr, visto a qualidade do projeto, então não sei exatamente como proceder. Fico na dúvida se a solução é aceitável, pois é um reaproveitamento de uma property utilizada também para controlar a visibilidade do diálogo de impressão. De qualquer forma, não me importaria de implementar uma property específica para este fim, assim evitaria de ter que alterar o código fonte do componente toda vez que for atualizar o projeto.

 

Abraço,

 

Gabriel.

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Moderadores
  • Solution

Favor conferir a alteração

At revision: 6388

 

Farei um refatoração para criar uma propriedade para essa opção em específico pois pode ocorrer divergências

  • Curtir 1
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

  • 2 meses depois ...
  • Este tópico foi criado há 3629 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.