Ola, estou com erro na hora de enviar CT-e por email, o código que gera o PDF esta errado, esta gerando o arquivo sem a chave (ex: -cte.pdf e deveria ser 31150925810847000162570010000000231000000230-cte.pdf), comparei com o código de geração do NF-e e ajustei na minha máquina.
Esse é o método que eu ajustei.
procedure TACBrCTeDACTEFR.ImprimirDACTEPDF(CTE: TCTe); const TITULO_PDF = 'Conhecimento de Transporte Eletrônico'; var I: Integer; OldShowDialog : Boolean; begin if PrepareReport(CTE) then begin dmDacte.frxPDFExport.Author := Sistema; dmDacte.frxPDFExport.Creator := Sistema; dmDacte.frxPDFExport.Producer := Sistema; dmDacte.frxPDFExport.Title := TITULO_PDF; dmDacte.frxPDFExport.Subject := TITULO_PDF; dmDacte.frxPDFExport.Keywords := TITULO_PDF; OldShowDialog := dmDacte.frxPDFExport.ShowDialog; try dmDacte.frxPDFExport.ShowDialog := False;
for I := 0 to TACBrCTe(ACBrCTe).Conhecimentos.Count - 1 do begin dmDacte.frxPDFExport.FileName := PathWithDelim(Self.PathPDF) + StringReplace(UpperCase(dmDacte.CTe.infCTe.Id),'CTE','', [rfReplaceAll, rfIgnoreCase]) + '-cte.pdf';
if not DirectoryExists(ExtractFileDir(FdmDacte.frxPDFExport.FileName)) then ForceDirectories(ExtractFileDir(FdmDacte.frxPDFExport.FileName)); dmDacte.frxReport.Export(dmDacte.frxPDFExport); end; finally dmDacte.frxPDFExport.ShowDialog := OldShowDialog; end; end; end;