Anwendungsbereich

Aus den verschiedenen Einstellungen f├╝r den Jobmodus, den Berichtsnamen und anderes k├Ânnen sich sehr viele Kombinationen ergeben.
Sind f├╝r einzelne dieser Kombinationen spezifisch aufgebaute Betreffzeilen in den erzeugten Dokumenten gew├╝nscht, lassen sich diese ├╝ber dieses Feld realisieren.
Dazu werden selbst zu definierende Platzhalter verwendet, die mit zugeordneten Werten aus der Datenbank ersetzt werden. Eingerichtet werden sie wie folgt:
In der Kommunikationsmatrix gibt es eine Spalte “Betreff”. In den zugeh├Ârigen Feldern kann durch das […]-Symbol am rechten Rand

eine Liste zur Definition der Platzhalter aufgerufen werden

Hier gibt es die Spalten “Platzhalter” und “Definition”. In den Feldern der ersten k├Ânnen frei w├Ąhlbar die Bezeichnungen der Platzhalter vergeben werden.
In den Feldern der zweiten Spalte k├Ânnen ├╝ber das […]-Symbol am Rand jedes Feldes

die Elemente der Datenbank ausgew├Ąhlt werden, durch deren Werte die Platzhalter ersetzt werden sollen.
Hierzu stehen Ihnen die Felder aus den Firmendaten, sowie die Informationen aus dem Header zur Verf├╝gung, der f├╝r die
Verwendung des entsprechenden Berichts genutzt wird. Beispielsweise haben Sie f├╝r den Standard-Bericht 1306: Standard Sales - Invoice, den Verkaufsrechnungskopf (Sales Invoice Header) zur Verf├╝gung.

Um die Tabelle f├╝r die Kopfdaten zu bestimmen, werden die Report-Metadaten des jeweiligen Berichts auf dessen Eigenschaft: FirstDataItemTableID untersucht. Die Standard-Berichte in Business Central hinterlegen f├╝r dieses jeweils erste Element (FirstDataItemTableId) den zugrundeliegenden Header. Beispiel: Report 1306 -> Sales Invoice Header.
Wenn anpepasste Berichte eine andere Sturktur vorweisen, also eine andere Tabelle an erster Stelle steht, so
wird diese auch in den Tabellenfilter ├╝bernommen, wodurch m├Âglicherweise unbrauchbare Felder angezeigt werden, beziehungsweise wichtige Felder vermisst werden k├Ânnten. F├╝r solche F├Ąlle gibt es die M├Âglichkeit, ├╝ber einen Event-Subscriber abh├Ąngig von der Berichts-Id die richtige Zieltabelle zu setzen. Mehr dazu finden Sie unter hier.

Nachdem zu einem Platzhalter ein Datenbankfeld ausgew├Ąhlt wurde, ist die Auswahl am Ende der Liste durch OK zu best├Ątigen.

Die Liste der Zuordnungen zwischen Platzhaltern und Datenbankfeldern ist an deren Ende ebenfalls noch mit OK zu best├Ątigen.

Steuerung der Platzhalter-Zieltabelle ├╝ber Event

Wie bereits erw├Ąhnt, kann eine Platzhalterauswahl je nach Berichts-Design unbrauchbare Felder anzeigen.
Mithilfe eines Event haben Sie die M├Âglichkeit, selbst die richtige Zieltabelle f├╝r die Platzhalterwahl, abh├Ąngig vom genutzten Bericht zu bestimmen.
Das zu nutzende Event lautet: OnBeforeSetRecordFilterForEmailPlaceholders und wird ├╝ber die Page 5402538 - CON eMail Placeholder aufgerufen. Ein entsprechender Event-Subscriber k├Ânnte wie folgt aussehen.

1
2
3
LOCAL [EventSubscriber] OnBeforeSetRecordFilterForEmailPlaceholdersSubscriber(VAR TargetTableNo : Integer;ReportId : Integer)
IF ReportId = 50001 THEN
    TargetTableNo := 112;

Hier wird f├╝r ein Beispiel-Bericht 50001 die Zieltabelle auf den Wert 112 (Verkaufsrechnungskopf) gesetzt.
Bei der n├Ąchsten Auswahl eines Platzhalters f├╝r den Bericht 50001 werden nun neben den Firmendaten auch die m├Âglichen Felder
aus dem Verkaufsrechnungskopf angezeigt.

Es sollte darauf geachtet werden, dass die korrekte Zieltabelle zur jeweiligen Nutzung verwendet wird.
Beispiel: Wenn ein Rechnungsbericht per Mail aus den gebuchten Verkaufsrechnungen (Verkaufsrechnungskopf) verschickt wird, so w├Ąre eine Platzhalterauswahl von Verkaufsgutschrifts-Feldern (Verkaufsgutschriftskopf) f├╝r diesen Bericht fehlerhaft. Dies k├Ânnte zur Laufzeit zu Fehlern, bzw. zu unerwarteten aufgel├Âsten Platzhaltern f├╝hren.