Zum Inhalt

Automatisierte Dokumentenarchivierung durch den Schattendruck

Die Automatisierung der Dokumentenarchivierung mittels Shadowprints stellt eine essenzielle Erweiterungsfunktion von Document Central dar. Dieser integrierte Mechanismus ermöglicht die automatische Archivierung von Dokumenten im Anschluss an Verkaufsvorgänge ohne jegliche Benutzerinteraktion.

Detailierte Beschreibung von Dokumentenarchivierung mit Shadowprints

Einführung:

Die Automatisierung der Dokumentenarchivierung durch Shadowprints ist ein unverzichtbarer Bestandteil des Document Central. Dieser Mechanismus ermöglicht die reibungslose Archivierung von Dokumenten im Anschluss an Verkaufsvorgänge, ohne dass eine manuelle Interaktion seitens der Benutzer erforderlich ist.

Archivierungsschritte:

Der bereitgestellte Code prüft zunächst die Aktivierung des Document Central Moduls und des Archive Status und führt dann die automatische Archivierung des entsprechenden Dokuments nach dem Verkaufsvorgang durch.

Der folgende Code demonstriert eine Beispielsgfunktion:

[EventSubscriber(ObjectType::Codeunit, 80, 'OnAfterPostSalesDoc', '', true, false)]
local procedure OnAfterPostSalesDocCU80(var SalesHeader: Record "Sales Header"; var GenJnlPostLine: Codeunit "Gen. Jnl.-Post Line"; SalesShptHdrNo: Code[20]; RetRcpHdrNo: Code[20]; SalesInvHdrNo: Code[20]; SalesCrMemoHdrNo: Code[20]; CommitIsSuppressed: Boolean; InvtPickPutaway: Boolean; var CustLedgerEntry: Record "Cust. Ledger Entry"; WhseShip: Boolean; WhseReceiv: Boolean)
var
    LocalRecordSIMDMSModuleSetup: Record "SIM_DMS Module Setup";
    LocalRecordSalesInvoiceHeader: Record "Sales Invoice Header";
    LocalRecordSalesCrMemoHeader: Record "Sales Cr.Memo Header";
    LocalCodeunitSIMDMSArchiveMgt: Codeunit "SIM_DMS Archive Mgt";
    LocalRecordRef: RecordRef;
begin
    // Überprüfen, ob das Document Central Modul und Archive Status aktiviert ist
    if not LocalRecordSIMDMSModuleSetup.Get() then exit;
    if not LocalRecordSIMDMSModuleSetup."Archive Status" then exit;

    // Archivierung des entsprechenden Dokuments
    if SalesInvHdrNo <> '' then begin
        LocalRecordSalesInvoiceHeader.Get(SalesInvHdrNo);
        LocalRecordRef.GetTable(LocalRecordSalesInvoiceHeader);
        LocalCodeunitSIMDMSArchiveMgt.OnCodeunitPost(LocalRecordRef, false, true);
    end else if SalesCrMemoHdrNo <> '' then begin
        LocalRecordSalesCrMemoHeader.Get(SalesCrMemoHdrNo);
        LocalRecordRef.GetTable(LocalRecordSalesCrMemoHeader);
        LocalCodeunitSIMDMSArchiveMgt.OnCodeunitPost(LocalRecordRef, false, true);
    end;
end;

Die folgenden Parameter werden für den Event Subscriber verwendet:

  • Der Parameter SalesHeader enthält den Datensatz der Tabelle "Sales Header".
  • Der Parameter GenJnlPostLine enthält die Instanz der Codeeinheit "Gen. Jnl. post line" Codeeinheit. Diese Codeeinheit wird für die Buchung von Buchungszeilen verwendet.
  • Die Parameter SalesShptHdrNo, RetRcpHdrNo, SalesInvHdrNo und SalesCrMemoHdrNo sind Codes, die sich auf verschiedene Arten von Dokumenten beziehen, die im Zusammenhang mit dem Verkauf erstellt werden (z. B. Verkaufsrechnung, Verkaufsgutschrift usw.).
  • Die Parameter CommitIsSuppressed, InvtPickPutaway sind boolesche Werte, die verschiedene Zustände oder Optionen im Zusammenhang mit dem Verkauf darstellen.
  • Der Parameter CustLedgerEntry ist ein Datensatz der Tabelle "Cust. Ledger Entry" Tabelle. Dieser Datensatz enthält Informationen über die Buchungseinträge, die im Zusammenhang mit dem Verkauf erstellt wurden.
  • Die Parameter WhseShip und WhseReceiv sind boolesche Werte, die angeben, ob die Waren versandt oder empfangen wurden.

Die Implementierung von Shadowprints bietet eine effiziente und zuverlässige Methode zur Archivierung von Dokumenten, ohne dass manuelle Eingriffe erforderlich sind. Durch diese Funktionalität wird die Verwaltung von Dokumenten in Geschäftsprozessen erheblich erleichtert.