Table of Contents

Eigene Platzhalter definieren

report bietet die Funktionalität der Platzhalter, mit der Sie zum Beispiel im Texteditor Inhalte definieren, die erst zur Laufzeit ermittelt werden. Die Liste an Platzhaltern ist vordefiniert, kann aber durch durch eine Anpassung wie hier exemplarisch gezeigt erweitert werden. Hier sind zwei Anpassungen notwendig.

Den Platzhalter definieren

Zuerst muss der Platzhalter ergänzt werden.

[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'AddCustomPlaceholder', '', true, true)]
local procedure AddCustomPlaceholder(var PlaceholderBuffer: Record "Name/Value Buffer")
begin
    PlaceholderBuffer.AddNewEntry('My Custom Placeholder','50');
end;

Parameter:

  • PlaceholderBuffer: Dieser temporäre Datensatz wird genutzt um die Platzhalter-Nummer und eine kurze Beschreibung zu speichern.
Important

Bitte beginnen Sie eigene Platzhalter mit der Nummer 50

Den Platzhalter verarbeiten

Um den Platzhalter zu verarbeiten und durch seinen tatsächlichen Wert zu ersetzen nutzen Sie einen Code ähnlich wie diesen.

[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'ProcessCustomPlaceholder', '', true, true)]
local procedure ProcessCustomPlaceholder(sender: Codeunit "RPT_Report Functions"; VarRec: Variant; var Placeholder: Code[20]; var ResultString: Text; ReportObjectSetup: Record "RPT_Object Setup"; ReportParameters: Record "Name/Value Buffer")
begin
    case Placeholder of
        '50':
            ResultString := 'The cake is a lie';
    end
end;

Parameter:

  • sender: Die aktuelle Instanz der report Verarbeitungs-Codeunit.
  • VarRec: In dieser Variable ist der aktuell verarbeitet Datensatz gespeichert.
  • Placeholder: Die Nummer des aktuell Platzhalters.
  • ResultString: Hier wird das Ergebnis abgelegt.
  • ReportObjectSetup: Einrichtungen für den den aktuellen Report
  • ReportParameters: optionale Report Optionen, die ein Anwender gesetzt haben könnte.

Der Datensatz wird an report mit der Information des aktuellen Platzhalters geschickt und kann so mit den korrekten Werten gefüllt werden.