Ir para conteúdo
  • Cadastre-se

dev botao

Tela De Preview Não Mostra Mais Caixa De Dialogo Depois De Enviar E-Mail Fastreport


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

Recommended Posts

Encontrei um BUG gerado depois de enviar e-mail da NFe, que qualquer nota que tetar ver o Preview, e clicar no botão exportar para PDF não aparecia a caixa de dialogo de exportação do PDF.

 

Para solucionar tive que fazer a alteração no código.

 

ACBrNFeDANFEFR.pas

 

Adicionei o código "FdmDanfe.frxPDFExport.ShowDialog := True;" voltar o ShowDialog nas duas funções a baixo:

 

procedure TACBrNFeDANFEFR.ImprimirDANFEPDF(NFE: TNFe);

const
  TITULO_PDF = 'Nota Fiscal Eletrônica';
var
  I: Integer;
begin
  if PrepareReport(NFE) then
  begin
    FdmDanfe.frxPDFExport.Author     := Sistema;
    FdmDanfe.frxPDFExport.Creator    := Sistema;
    FdmDanfe.frxPDFExport.Producer   := Sistema;
    FdmDanfe.frxPDFExport.Title      := TITULO_PDF;
    FdmDanfe.frxPDFExport.Subject    := TITULO_PDF;
    FdmDanfe.frxPDFExport.Keywords   := TITULO_PDF;
    FdmDanfe.frxPDFExport.ShowDialog := False;
 
    for I := 0 to TACBrNFe(ACBrNFe).NotasFiscais.Count - 1 do
    begin
      FdmDanfe.frxPDFExport.FileName := PathPDF +
                                       StringReplace(UpperCase(FdmDanfe.NFe.infNFe.ID),'NFE','', [rfReplaceAll, rfIgnoreCase]) +
                                       '-nfe.pdf';
      FdmDanfe.frxReport.Export(FdmDanfe.frxPDFExport);
    end;
 
    //Volta o ShowDialog para ser exibido na tela Preview
    FdmDanfe.frxPDFExport.ShowDialog := True;   
  end;
end;
 
procedure TACBrNFeDANFEFR.ImprimirEVENTOPDF(NFE: TNFe);
const
  TITULO_PDF = 'Eventos Nota Fiscal Eletrônica';
var
  NomeArq: String;
begin
  if PrepareReportEvento then
  begin
    FdmDanfe.frxPDFExport.Author     := Sistema;
    FdmDanfe.frxPDFExport.Creator    := Sistema;
    FdmDanfe.frxPDFExport.Producer   := Sistema;
    FdmDanfe.frxPDFExport.Title      := TITULO_PDF;
    FdmDanfe.frxPDFExport.Subject    := TITULO_PDF;
    FdmDanfe.frxPDFExport.Keywords   := TITULO_PDF;
    FdmDanfe.frxPDFExport.ShowDialog := False;
 
    {
    NomeArq := TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.chNFe;
    NomeArq := NomeArq + '-' + TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.TipoEvento;
    NomeArq := NomeArq + '-' + IntToStr(TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.nSeqEvento);
    }
    {
    NomeArq := TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.TipoEvento;
    NomeArq := NomeArq + TACBrNFe(ACBrNFe).EventoNFe.Evento[0].InfEvento.chNFe;
    }
 
//    NomeArq := Copy(TACBrNFe(ACBrNFe).EventoNFe.Evento.Items[0].InfEvento.id, 3, 52);
 
    NomeArq := StringReplace(TACBrNFe(ACBrNFe).EventoNFe.Evento.Items[0].InfEvento.id, 'ID', '', [rfIgnoreCase]);
 
    FdmDanfe.frxPDFExport.FileName := PathWithDelim(Self.PathPDF) + NomeArq + '-procEventoNFe.pdf';
    FdmDanfe.frxReport.Export(FdmDanfe.frxPDFExport);
 
    //Volta o ShowDialog para ser exibido na tela Preview
    FdmDanfe.frxPDFExport.ShowDialog := True;
  end;
end;

 

ACBrNFeDANFEFR.zip

João Paulo F. Bellucci

Analista e Programador

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Boa noite

desculpe mas não entendi o motivo da mudança?

veja que você seta uma informação após gerar o PDF para mostrar o preview

onde neste caso já se encerrou o processo!

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

Bom dia.

 

Boa noite

desculpe mas não entendi o motivo da mudança?

veja que você seta uma informação após gerar o PDF para mostrar o preview

onde neste caso já se encerrou o processo!

Bom dia.

 

Se você enviar o e-mail de uma nota e depois você emite uma outra nota e manda imprimir com preview, e na tela do preview manda exportar para PDF não abre mais a caixa de dialogo de exportação do PDF, pois ao enviar o e-mail é usada a rotina acima que desliga o showdialog do PDF e não religa mais ela.

 

Segue os passo para reproduzir o problema:

 

1 - ACBrNFe.NotasFiscais.Items[0].EnviarEmail();

 

2 - ACBrNFe.NotasFiscais.Imprimir;

     Lembrando que esta marcada a opção de mostrar o preview.

     Na tela do preview manda exportar para PDF, você irá notar que não irá mais aparecer a caixa de dialogo de exportação do PDF.

João Paulo F. Bellucci

Analista e Programador

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...