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;