Eigene Adressen definieren
report Belege können bis zu drei Adressen darstellen. Diese ermittelt der Standard basierend auf der Dokumentenart bzw. der Tabelle die im Belegkopf benutzt wird. Sollen diese Standard-Adressen nicht genutzt werden, oder Sie benötigen für einen selbst erstellen Report eigene Adressen nutzen Sie einen Code wie beschrieben.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'CustomAddresses', '', true, true)]
local procedure CustomAddress(var SkipDefaultAddress: Boolean; ReportObjectSetup: Record "RPT_Object Setup"; var AddressCaption: Text; var CompareAddr: array[8] of Text; var TmpAddr: array[8] of Text; VarRec: Variant; Which: Option Address1,Address2,Address3)
var
SalesHeader: Record "Sales Header";
FormatAddr: Codeunit "Format Address";
begin
if ReportObjectSetup."Report ID" <> Report::"My Custom Report" then
exit;
clear(AddressCaption);
SalesHeader := VarRec;
case which of
which::Address1:
FormatAddr.SalesHeaderShipTo(TmpAddr, CompareAddr, VarRec);
which::Address2:
begin
FormatAddr.SalesHeaderShipTo(CompareAddr, TmpAddr, VarRec);
FormatAddr.SalesHeaderBillTo(TmpAddr, VarRec);
AddressCaption := 'Address 2 Caption';
end;
which::Address3:
begin
FormatAddr.SalesHeaderShipTo(CompareAddr, TmpAddr, VarRec);
FormatAddr.SalesHeaderSellTo(TmpAddr, VarRec);
AddressCaption := 'Address 3 Caption';
end;
end;
SkipDefaultAddress := true;
end;
Diese Funktion kann verwendet werden, um die Werte und die Beschriftung für jede der drei möglichen Adressen des Berichts zu erhalten.
Parameter:
- SkipDefaultAddress: Boolean um dem Addon zu sagen, das die Adresse nicht weiter gesucht werden soll.
- ReportObjectSetup: Einrichtungen für den den aktuellen Report
- AddressCaption: Name / Beschriftung der Adresse. Wird nur von den Adressen 2 und 3 verwendet.
- TmpAddr: Die gewünschte Adresse als Array
- CompareAddr: Eine zusätzliche Adresse (normalerweise Adresse 1) als Vergleich zu einer zweiten Adresse.
- VarRec: In dieser Variable ist der aktuell verarbeitet Datensatz gespeichert.
- Which: Optionswert, nach welcher Adresse gesucht werden soll.