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.