Document Management Systems (DMS)
Die meisten Anbieter von in Business Central integrierten DMS Lösungen erfordern keine Änderung der gedruckten Dokumente, oder sonstige Anpassungen. Andere DMS Anbieter können einfach mit den bereits vorhandenen Möglichkeiten des Addons report unterstützt werden.
Sollte dies nicht ausreichend sein, können Sie eine individuelle DMS Anbindung mit den folgenden Schritten realisieren.
Eine neue DMS-Methode ergänzen
Damit report eine benutzerdefinierte DMS-Methode erkennen kann, sollten Sie zunächst diese neue Option verfügbar machen, damit das Addon entsprechend eingerichtet werden kann.
enumextension 50000 "My_DMSMethodExtension" extends RPT_DMS_Method
{
value(50000; My_DMS)
{
Caption = 'My own custom DMS Method';
}
}
Die neue DMS Methode kann dann in der DMS Grundeinrichtung verwendet werden.
DMS Voraussetzungen prüfen
Wenn eine DMS-Methode aktiv ist, sollte report feststellen, ob alle Voraussetzungen für die Durchführung der DMS-Integration gegeben sind. Wenn dies nicht der Fall ist, wird die DMS-Integration abgebrochen. Um dem Modul mitzuteilen, dass alle Bedingungen erfüllt sind, verwenden Sie einen Code ähnlich wie diesen.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'CheckCustomDMSPreconditions', '', true, true)]
local procedure CheckDMSPreconditions(ReportObjectSetup: Record "RPT_Object Setup"; ReportSetup: Record "RPT_Report Setup"; var CustomDMSMethodCheck: Boolean)
begin
if ReportSetup."DMS Method" <> ReportSetup."DMS Method"::My_DMS then
exit;
// ##
//do some coding
// ##
CustomDMSMethodCheck := true;
end;
Parameter:
- ReportObjectSetup: Einrichtungen für den den aktuellen Report
- ReportSetup: Die allgemeine Report Einrichtung.
- CustomDMSMethodCheck: Wird auf true gesetzt, wenn die Voraussetzungen zur DMS Ablage erfüllt sind.
DMS Ablage durchführen
Die letzte Aktion ist es, die durch report erstellte PDF Datei in ein DMS System hochzuladen, btz. andere notwendige Aktionen durchzuführen. Hier wird ebenfalls ein passendens Event bereitgestellt.
[EventSubscriber(ObjectType::Codeunit, Codeunit::"RPT_Report Functions", 'CustomDMSMethod', '', true, true)]
local procedure MyDMSIntegration(sender: Codeunit "RPT_Report Functions"; FileName: Text; var ReportPDFFile: Codeunit "Temp Blob"; ReportSetup: Record "RPT_Report Setup"; ReportObjectSetup: Record "RPT_Object Setup"; var CustomDMSMethod: Boolean; RecRef: RecordRef)
begin
// ##
//do some coding
// ##
end;
Parameter:
- sender: Die aktuelle Instanz der report Verarbeitung - CodeUnit.
- FileName: Der Standard Dateiname der erstellten PDF-Datei.
- ReportPDFFile: Eine Kopie der erstellten PDF-Datei ist hier abgelegt.
- ReportObjectSetup: Einrichtungen für den den aktuellen Report
- ReportSetup: Die allgemeine Report Einrichtung.
- CustomDMSMethod: Wird auf true gesetzt, um Standard-Verarbeitungen zu unterbinden.
- RecRef: In dieser Variable ist der aktuell verarbeitet Datensatz gespeichert.