Ir para conteúdo
  • Cadastre-se

dev botao

procedure NotaFiscal.EnviarEmail


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

Recommended Posts

Na funcao:

 

procedure NotaFiscal.EnviarEmail(...)

No ponto abaixo, onde seta o nome do arquivo xml, está setando como numero da nfse + '-nfse.pdf', porém chamar a impressão do pdf na unit ACBrNFSeDANFSeFR, pela função ImprimirDANFSePDF está trocando:

 

Unit: ACBrNFSeNotasFiscais

  if (EnviaPDF) then
    begin
       if TACBrNFSe( TNotasFiscais( Collection ).ACBrNFSe ).DANFSE <> nil then
       begin
          TACBrNFSe( TNotasFiscais( Collection ).ACBrNFSe ).DANFSE.ImprimirDANFSEPDF(NFSe);

          NomeArqPDF := NomeArqXML;
          NomeArqPDF := StringReplace(NomeArqPDF, 'NFSe', '', [rfIgnoreCase]);
          NomeArqPDF := PathWithDelim(TACBrNFSe( TNotasFiscais( Collection ).ACBrNFSe ).DANFSE.PathPDF) + NomeArqPDF + '-nfse.pdf';

          AnexosEmail.Add(NomeArqPDF);
       end;
    end;

 

 

 

procedure TACBrNFSeDANFSeFR.ImprimirDANFSePDF(NFSe: TNFSe);
const
  TITULO_PDF = 'Nota Fiscal de Serviço Eletrônica';
var
  I: Integer;
begin
  if PrepareReport(NFSe) then
  begin
    dmDanfse.frxPDFExport.Author        := Sistema;
    dmDanfse.frxPDFExport.Creator       := Sistema;
//    dmDanfse.frxPDFExport.Producer      := Sistema;
//    dmDanfse.frxPDFExport.Title         := TITULO_PDF;
    dmDanfse.frxPDFExport.Subject       := TITULO_PDF;
//    dmDanfse.frxPDFExport.Keywords      := TITULO_PDF;
    dmDanfse.frxPDFExport.ShowDialog    := False;

    for I := 0 to TACBrNFSe(ACBrNFSe).NotasFiscais.Count -1 do
    begin
//      dmDanfse.frxPDFExport.FileName := PathPDF+ dmDanfse.NFSe.Numero+dmDanfse.NFSe.CodigoVerificacao+'.pdf';
      dmDanfse.frxPDFExport.FileName := PathPDF+ dmDanfse.NFSe.Numero+'.pdf';  << Diferente aqui
      dmDanfse.frxReport.Export(dmDanfse.frxPDFExport);
    end;
  end;
end;

Não anexei fonte, pois estou desatualizado e baseado no trunck apenas.

Link para o comentário
Compartilhar em outros sites

Solução alá peppa pig:

criei um evento:

procedure TFTransmissaoNFS.frxPDFExport_NFSe_BeginExport(Sender: TObject);
begin
  if Sender is TfrxPDFExport then
    TfrxPDFExport(Sender).FileName := NomeArquivoPDF_TempFastReport;
end;


Antes de iniciar o processamento eu fiz:
        NomeArquivoPDF_TempFastReport := '';

        if dmComercial.ACBrNFSe1.DANFSe is TACBrNFSeDANFSeFR then
          NomeArquivoPDF_TempFastReport := dmComercial.ACBrNFSe1.DANFSe.PathPDF + dmComercial.ACBrNFSe1.NotasFiscais.Items[0].Nfse.Numero + '-nfse.pdf';

  if dmComercial.ACBrNFSe1.DANFSe is TACBrNFSeDANFSeFR then
  begin
    TACBrNFSeDANFSeFR(dmComercial.ACBrNFSe1.DANFSe).dmDanfse.frxReport.OnGetValue       := frReport_TransmiteNFSe_GetValue;
    TACBrNFSeDANFSeFR(dmComercial.ACBrNFSe1.DANFSe).dmDanfse.frxReport.OnBeforePrint    := frReport_TransmiteNFSe_BeforePrint;
    TACBrNFSeDANFSeFR(dmComercial.ACBrNFSe1.DANFSe).dmDanfse.frxPDFExport.OnBeginExport := frxPDFExport_NFSe_BeginExport;
  end;

 

Com isso, ao iniciar a geração do pdf lá pelo filtro export do fast report, o nome do arquivo a ser anexado no e-mail fica correto.

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

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