BC 19.3 Ändern Report Caption mittels Report Extension

Heute 15:06

Moin zusammen,

kann ich mittels Report Extension den Namen einer PDF-Datei ändern, die beim Drucken eines Reports erzeugt wird?
Unsere Bestellung wird als "Purchase Order Confirmation.pdf" oder "50231_Auftragsbestätigung_EB546464.pdf" erstellt.
Hier hat wohl leider der Dienstleister bei der Vergabe der Caption im Report nicht aufgepasst.

Kann ich das mit einer Extension anpassen oder ändern? Ich habe eh schon eine für diesen Report und möchte es somit vermeiden, den Dienstleister zu beauftragen, da das Kosten verursachen würde.

Danke.

Gruß
Alexander

Re: BC 19.3 Ändern Report Caption mittels Report Extension

Heute 15:57

Die Benennung der Datei wird allgemein gesteuert und kann in neueren Versionen auch auch per Event Subscriber angepasst werden.
Codeunit: Custom Layout Reporting -> Event: OnGenerateFileNameOnAfterAssignFileName
Codeunit: ReportManagement -> Event: OnGetFilename

Aber in BC 19 geht das wohl noch nicht. Da müsste man das manuell machen. So als ungetestete Idee:
Code:
action("Download Custom PDF")
{
    ApplicationArea = All;
    Image = ExportFile;
    trigger OnAction()
    var
        TempBlob: Codeunit "Temp Blob";
        OutStream: OutStream;
        RecRef: RecordRef;
        FileManagement: Codeunit "File Management";
        SalesHeader: Record "Sales Header";
        ReportNo: Integer;
        ReportName: Text[50];
    begin
        // Hole den Datensatz, z. B. Verkaufsauftrag
        SalesHeader.Get("Document Type"::Order, "No.");
        RecRef.GetTable(SalesHeader);

        // Erstelle OutStream für TempBlob
        TempBlob.CreateOutStream(OutStream);

        // Hier noch ReportNo und ReportName belegen

        // Speichere Report als PDF in TempBlob
        Report.SaveAs(ReportNo, '', ReportFormat::Pdf, OutStream, RecRef);

        // Exportiere mit benutzerdefiniertem Dateinamen
        FileManagement.BLOBExport(TempBlob, StrSubstNo('%1_%2_%3.pdf', ReportNo, Reportname, SalesHeader."No."), true);
    end;
}