Einen eigenen Report erstellen
Der allererste Schritt ist, einen eigenen Report zu erstellen.
Report Objekt
Zuerst erstellen Sie ein neues Report Objekt auf Basis eines durch report bereitgestellten Templates. Dieses Template basiert auf der jeweils aktuellen Version des Addons.
Mit einigen wenigen Anpassungen können Sie diese Vorlage nutzen. Die üblichen Stellen, die geändert werden sind in dieser Vorlage mit
#DEV:
markiert.
Report.al Vorlage |
Report im Modul aktivieren
Damit report einen benutzerdefinierten Bericht erkennen und in allen internen Prozessen korrekt berücksichtigen kann, muss dieser dem Modul zuerst beigebracht werden.
[EventSubscriber(ObjectType::Table, Database::"RPT_Object Setup", 'AddCustomReporttoSet', '', true, true)]
local procedure CustomReport(var TempReports: Record "RPT_Object Setup")
begin
TempReports.AddReport('50000', 'Standard', Database::"Sales Header", Database::"Sales Line", 'SALES');
end;
Die Funktion AddReport wird verwendet um alle notwendigen Informationen zu speichern, die für die Bearbeitung Ihres benutzerdefinierten Berichts benötigt werden.
Parameter:
- ID: Die Nummer des neuen Berichtes.
- Layout: Das für den Bericht verwendete Layout. In der Regel nutzen Sie hier entweder den Wert 'Standard' um das integrierte Layout zu verwenden. Sie können hier auch einen individuellen Wert eingeben, wenn Ihr neuer Bericht ein eigenes Layout verwenden soll. Diese Information wird dann im Einrichtungsassistenten berücksichtigt.
- Header Table No.: Die Tabellennummer Ihres Beleg-Kopfes.
- Line Table No.: Die Tabellennummer Ihrer Belegzeilen
- Usage: Wird für interne Zwecke verwendet. Mögliche Werte sind
- SALES
- PURCHASE
- TRANSFER
- SERVICE
- GL
Initiale Standardwerte für den Report festlegen (Optional)
Für den Fall, dass Sie Standardwerte für den Bericht festlegen wollen, die beim Einrichtungs-Assistenten oder der Funktion Standard Einrichtungen erzeugen der Einrichtungen pro Beleg zum Einsatz kommen sollen nutzen Sie bitte folgende Funktionen. Mit dieser Optionalen Funktion definieren Sie Standard Einrichtungen, um diese nicht manuell vornehmen zu müssen.
Standardwerte erzeugen
Um die Standardwerte innerhalb der Funktionalität von report zu setzen wird folgende Funktion genutzt.
[EventSubscriber(ObjectType::Table, Database::"RPT_Object Setup", 'CustomSetReportInitialValues', '', true, false)]
local procedure CustomSetReportInitialValues(var Handled: Boolean; UserInteraction: Boolean; ReportID: Integer; ReportSetupType: Enum RPT_SetupTypeEnum)
var
MyReport: Report 50000;
begin
if Handled then
exit;
case ReportID of
50000:
//Create init Setup values
else
exit;
end;
Handled := true;
end;
Parameter:
- ReportID: Die Nummer des Berichtes.
- Handled: Dieser Parameter wird auf true gesetzt um dem Standard mitzuteilen, das eine Aktualisierung erfolgt ist und dieser Bericht berücksichtigt wurde.
- UserInteraction: Wird die eine Aktion zum Erstellen von Einrichtungen vom Anwender ausgeführt muss dieser bestätigen, das bestehende Daten gelöscht und überschrieben werden. In diesem Fall hat dieser Parameter den Wert true, erfolgt der Aufruf aus dem Einrichtungs-Assistenten, steht dieser Wert auf false
- ReportSetupType: Diese Variable definiert, welche Art von Einrichtung gerade angelegt / zurückgesetzt wird.