Über Systemfunktionen bereitgestellte Zusatztexte
Es gibt verschiedene zusätzliche Texte, die von report in den Textblöcken im Berichtskopf, Berichtsfuß oder den Zeilen des Dokuments gedruckt werden. In der Regel sollten Sie die vordefinierten Werte verwenden, da sie häufig verwendet werden und für fast jeden Kunden geeignet sind.
Sie können diese aber zu einem gewissen Maße beeinflussen.
Tip
Über den Testmodus können Sie sich Anzeigen lassen, welche Funktion für welchen Text verantwortlich ist, oder welche interne Position für den Text genutzt wird.
Zusatztexte überspringen.
Normalerweise wird ein durch report bereitgestellter Text durch die Einrichtung pro Beleg aktiviert oder deaktiviert, Sie können jedoch die Berechnung des zusätzlichen Textes ebenfalls über eine Individualprogrammierung überspringen.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'SkipAdditionalStandardText', '', true, true)]
local procedure SkipStandardText(FunctionName: Text; RecRef: RecordRef; ReportObjectSetup: Record "RPT_Object Setup"; var ReportParameters: Record "Name/Value Buffer"; var SkipFunction: Boolean)
begin
case FunctionName of
'AddTrackingInfoLine':
begin
// ##
//do some coding
// ##
SkipFunction := true
end;
end;
end;
Parameter:
- FunctionName: Der interne Name der aktuellen Funktion
- RecRef: In dieser Variable ist der aktuell verarbeitet Datensatz gespeichert.
- ReportObjectSetup: Einrichtungen für den den aktuellen Report
- ReportParameters: optionale Report Optionen, die ein Anwender gesetzt haben könnte.
- SkipFunction: Wird auf true gesetzt, wenn diese Funktion übersprungen werden soll
Position des Zusatztextes ändern
Jeder der Zusatztexte wird in einer vordefinierten Reihenfolge gedruckt. Diese Reihenfolge kann geändert werden, ohne den Text selbst zu ändern.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'ChangePositionAdditionalStandardText', '', true, true)]
local procedure MoveStandardText(FunctionName: Text; RecRef: RecordRef; ReportObjectSetup: Record "RPT_Object Setup"; var ReportParameters: Record "Name/Value Buffer"; var Position: Integer)
begin
case FunctionName of
'AddTrackingInfoLine':
Position := 7;
end;
end;
Parameter:
- FunctionName: Der interne Name der aktuellen Funktion
- RecRef: In dieser Variable ist der aktuell verarbeitet Datensatz gespeichert.
- ReportObjectSetup: Einrichtungen für den den aktuellen Report
- ReportParameters: optionale Report Optionen, die ein Anwender gesetzt haben könnte.
- Position: Die aktuelle Textposition, die abgeändert werden kann.
Tip
Sie können die Positionen einiger Zusatztexte auch ohne Anpassungsprogrammierung ändern, in dem Sie diese über einen Platzhalter individuell innerhalb der Textbausteine positionieren.
Caution
Alle Texte werden nacheinander abgearbeitet. Wenn Sie eine neue Position definieren, die bereits belegt ist, wird der alte Text überschrieben. Wenn Sie eine Position verwenden, die später von einer anderen Funktion verwendet wird, wird Ihre geänderte Position überschrieben.
Inhalt des Zusatztextes ändern
Die nächste Funktion, die sich auf die vordefinierten Zusatztexte auswirkt, ermöglicht es Ihnen, den Text vollständig durch Ihre eigene Logik zu ersetzen, oder im Nachgang anzupassen.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'OnBeforeGetAdditionalStandardText', '', true, true)]
local procedure ChangeStandardText(FunctionName: Text; RecRef: RecordRef; ReportObjectSetup: Record "RPT_Object Setup"; var ReportParameters: Record "Name/Value Buffer"; var NewText: Text)
begin
case FunctionName of
'AddTrackingInfoLine':
NewText := 'my custom text'
end;
end;
Parameter:
- FunctionName: Der interne Name der aktuellen Funktion
- RecRef: In dieser Variable ist der aktuell verarbeitet Datensatz gespeichert.
- ReportObjectSetup: Einrichtungen für den den aktuellen Report
- ReportParameters: optionale Report Optionen, die ein Anwender gesetzt haben könnte.
- NewText: Ihr individueller Text, der den Standardtext ersetzen soll.
Diese Funktion wird aufgerufen, bevor der Zusatztext ermittelt wird. Analog existiert mit der Funktion OnAfterGetAdditionalStandardText eine identisch aufgebaute Möglichkeit, den bereits ermittelten Text nach der Standardfunktionalität zu beeinflussen.
Beschriftung oder Wertformatierung eines Zusatztextes ändern
Sie können ebenfalls nur Teile des Zusatztextes, wie eine Überschrift oder die Formatierung des Wertes ändern, ohne die gesamte Funktion ersetzen zu müssen.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'OnBeforeSaveAdditionalStandardTexts', '', true, true)]
local procedure OnBeforeSaveAdditionalStandardTexts(FunctionName: Text; RecRef: RecordRef; ReportObjectSetup: Record "RPT_Object Setup"; var ReportParameters: Record "Name/Value Buffer"; var Caption: Text; var TextValue: Text; VarValue: Variant)
begin
case FunctionName of
'AddShipmentDateInfos':
Caption := 'Delivery in Week'
end;
end;
Parameter:
- FunctionName: Der interne Name der aktuellen Funktion
- RecRef: In dieser Variable ist der aktuell verarbeitet Datensatz gespeichert.
- ReportObjectSetup: Einrichtungen für den den aktuellen Report
- ReportParameters: optionale Report Optionen, die ein Anwender gesetzt haben könnte.
- Caption: Die originale Beschriftung, die geändert werden kann.
- TextValue: Textwert, der geändert werden kann.
- VarValue: Der ursprüngliche Wert im Format Variant
Schriftformat des Zusatztextes ändern
Sie können ebenfalls die Schriftformatierung des gesamten Zusatztextes anpassen.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'UpdateFormatAdditionalStandardTexts', '', true, true)]
local procedure UpdateFormatAdditionalStandardTexts(FunctionName: Text; var Align: Option; var Effekt: Option; var FontColor: Text; var FontFamily: Text; var FontSize: Integer; var FontStyle: Option)
begin
case FunctionName of
'AddShipmentDateInfos':
Align := 1;
end;
end;
Parameter:
- FunctionName: Der interne Name der aktuellen Funktion
- Align: Ausrichtung (0 = Linksbündig, 1 = Zentriert, 2 = Rechtsbündig).
- Effekt: Formatierungs-Option (1 = durchgestrichen, 2= unterstrichen).
- FontColor: (optionale) HTML konforme Schriftfarbe
- FontFamily: Die Schriftart die zum Einsatz kommt.
- FontSize: Die Schriftgröße.
- FontStyle: Formatierungs-Optionen (1 = Fett, 2 = Kursiv, 3 = FettKursiv).
2. Spalte in Belegzeilen - Zusatztexten nutzen.
Zusatztexte sind in der Regel bündig mit der Beschriftung einer Belegzeile werden in der Regel so konfiguriert, das alle Spalten im Zeilenlayout bis zum rechten Belegrand genutzt werden. Sie können allerdings (eine passende Belegzeilenkonfiguration vorausgesetzt) eine zusätzliche Spalte rechts vom Zusatztext, mit individuellen Werten füllen.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'Get2ndDocumentTextValue', '', true, true)]
local procedure Get2ndDocumentTextValue(FunctionName: Text; VarRec: Variant; ReportObjectSetup: Record "RPT_Object Setup"; ReportParameters: Record "Name/Value Buffer"; sender: Codeunit "RPT_Report Functions"; var CustomText: Text)
begin
case FunctionName of
'AddTrackingInfoLine':
CustomText := 'Spezialtext';
end;
end;
Parameter:
- FunctionName: Der interne Name der aktuellen Funktion
- VarRec: In dieser Variable ist der aktuell verarbeitet Datensatz gespeichert.
- ReportObjectSetup: Einrichtungen für den den aktuellen Report
- ReportParameters: optionale Report Optionen, die ein Anwender gesetzt haben könnte.
- CustomText: Der Individuelle Zusatztext der neuen Belegspalte