ECM Smart Connect - EDA 2.0

EDA - Elektronische Dokumenten Ablage

Diese Codeunit stellt Hilfsprozeduren bereit, um ein Dokument in die Ablageeinträge zu importieren, indem Parameter gesetzt und die Logik in OnRun ausgeführt wird.

ID 5522509


Methoden

SetInStr

Setzt den Eingabestream.

procedure SetInStr(NewInStr: InStream)
Parameter
Name Typ Beschreibung
NewInStr InStream Der neue Eingabestream für die Datei.

SetRecID

Setzt die Datensatz-ID.

procedure SetRecID(NewRecID: RecordId)
Parameter
Name Typ Beschreibung
NewRecID RecordId Der Datensatz, mit dem die Datei verknüpft wird.

SetFileExtension

Setzt die Dateierweiterung.

procedure SetFileExtension(NewFileExtension: Text)
Parameter
Name Typ Beschreibung
NewFileExtension Text Die Dateierweiterung (z. B. „.pdf“).

SetDocTypeNo

Setzt die Dokumentenartnummer.

procedure SetDocTypeNo(NewDocTypeNo: Text[50])
Parameter
Name Typ Beschreibung
NewDocTypeNo Text[50] Der Code des zu verwendenden Dokumentenartnummer.

SetVersioning

Setzt Versionsverwaltung und Ablageeintrag-Basisversion.

procedure SetVersioning(NewVersioning: Boolean; NewBaseVersionStorageEntry: Code[20])
Parameter
Name Typ Beschreibung
NewVersioning Boolean Gibt an, ob die Dokumentenversionierung verwendet werden soll.
NewBaseVersionStorageEntry Code[20] Die Basisversion des zu versionierenden Ablageeintrags des Dokuments.

SetIncomingDocType

Setzt die Art des eingehenden Dokuments.

procedure SetIncomingDocType(NewIncomingDocType: Enum "kmiecmIncoming Doc. Type")
Parameter
Name Typ Beschreibung
NewIncomingDocType Enum "kmiecmIncoming Doc. Type" Der Enum-Wert, der die eingehende Dokumentart beschreibt.

SetRunProcessing

Legt fest, ob das Dokument nach dem Hochladen verarbeitet werden soll.

procedure SetRunProcessing(NewRunProcessing: Boolean)
Parameter
Name Typ Beschreibung
NewRunProcessing Boolean true, um die Archivverarbeitung nach dem Hochladen auszuführen.

SetReportNo

Setzt die Berichtnummer, die das Dokument erzeugt hat.

procedure SetReportNo(NewReportNo: Integer)
Parameter
Name Typ Beschreibung
NewReportNo Integer Die Berichtnummer, durch die das Dokument erstellt wurde.

SetOriginalFileName

Setzt den ursprünglichen Dateinamen des Dokuments.

procedure SetOriginalFileName(NewOriginalFileName: Text[250])
Parameter
Name Typ Beschreibung
NewOriginalFileName Text[250] Der ursprüngliche Dateiname (z. B. rechnung.pdf).

GetStorageEntryNo

Gibt den resultierenden Ablageeintrags-Nr. zurück.

procedure GetStorageEntryNo(): Code[20]
Rückgabewert
Typ Beschreibung
Code[20] Die Ablageeintrags-Nr. des hochgeladenen Dokuments.

GetStorageEntryVersionNo

Gibt die resultierende Ablageeintrags-Versionsnr. zurück.

procedure GetStorageEntryNo(): Integer
Rückgabewert
Typ Beschreibung
Integer Die Ablageeintrags-Versionsnr. des hochgeladenen Dokuments.

GetStorageEntryNoAndVersionNo

Gibt die resultierenden Ablageeintrags-Nr und Versionsnr. zurück.

procedure GetStorageEntryNoAndVersionNo(var StorageEntryNo: Code[20]; var StorageEntryVersionNo: Integer)
Parameter
Name Typ Beschreibung
StorageEntryNo Code[20] Die Ablageeintrags-Nr. des hochgeladenen Dokuments.
StorageEntryVersionNo Integer Die Ablageeintrags-Versionsnr. des hochgeladenen Dokuments.

GetStorageEntry

Gibt den resultierenden Ablageeintrag zurück.

procedure GetStorageEntry(): Record "kmiecmStorage Entry"
Rückgabewert
Typ Beschreibung
Record "kmiecmStorage Entry" Der Ablageeintrags des hochgeladenen Dokuments.

GetStorageEntryRecordID

Gibt die resultierende Ablageeintrags-RecordID zurück.

procedure GetStorageEntryRecordID(): RecordId
Rückgabewert
Typ Beschreibung
RecordID Die Ablageeintrags-RecorID. des hochgeladenen Dokuments.

ClearAllVariables

Setzt alle vorher gesetzten Variablen zurück.

procedure ClearAllVariables()
Beschreibung

Diese Methode setzt alle Eingabe- und Kontextvariablen zurück, um eine saubere Vorbereitung für den nächsten Dokumentenimport zu gewährleisten.

Beispiel

trigger OnAction()
var
    DocType: Record "kmiecmDocument Type";
    SalesHeader: Record "Sales Header";
    SalesOrderRep: Report "Standard Sales - Order Conf.";
    StorageManagement: Codeunit "kmiecmStorage Management";
    TempBlob: Codeunit "Temp Blob";
    EDA: Codeunit kmiecmEDA;
    InStr: InStream;
    OutStr: OutStream;
    RunProcessing: Boolean;
    Versioning: Boolean;
    BaseVersionStorageEntry: Code[20];
    StorageEntryNo: Code[20];
    IncomingDocType: Enum "kmiecmIncoming Doc. Type";
begin
    SalesHeader := Rec;
    SalesHeader.SetRecFilter();

    GetDocType(DocType, SalesHeader);
    GetVersioning(SalesHeader, Versioning, BaseVersionStorageEntry);
    IncomingDocType := Enum::"kmiecmIncoming Doc. Type"::EDA;
    RunProcessing := true;

    SalesOrderRep.SetTableView(SalesHeader);
    TempBlob.CreateOutStream(OutStr);
    if SalesOrderRep.SaveAs('', ReportFormat::Pdf, OutStr) then begin
        TempBlob.CreateInStream(InStr);
        EDA.ClearAllVariables();
        EDA.SetInStr(InStr);
        EDA.SetRecID(SalesHeader.RecordId);
        EDA.SetFileExtension('.pdf');
        EDA.SetDocTypeNo(DocType."No.");
        EDA.SetVersioning(Versioning, BaseVersionStorageEntry);
        EDA.SetIncomingDocType(IncomingDocType);
        EDA.SetRunProcessing(RunProcessing);
        EDA.SetReportNo(Report::"Standard Sales - Order Conf.");
        EDA.SetOriginalFileName(CreateGuid().ToText());
        EDA.Run();
        StorageEntryNo := EDA.GetStorageEntryNo();
        if StorageEntryNo = '' then
            Error(StorageEntryCreationErr);
    end;
end;