DMS_AddDocumentWithMetadata

Fügt ein neues Dokument ins DMS ein.Der DMS-Zugriff muss im syslog.ERP entsprechend konfiguriert sein (siehe dms.ini und dvs.ini).

Prototype


DMS_AddDocumentWithMetadata( system, folder, title, dms_filename, document_type, local_filename, finr, metalist )

Parameter


ParameterTypBedeutung
systemstringDMS-System (siehe dms.ini oder nil, wenn das Default-System (dms.ini/DMS_DEFAULT) verwendet werden soll.
folderstringOrdner innerhalb des DMS, wo das neue Dokument abgelegt werden soll (bei UDS/EASY muss Ordner = Dokument-Typ uebergeben werden)
titlestringDokument-Titel
dms_filenamestringDateiname des Dokuments (der Name, der DMS abgelegt werden soll)
document_typestringDokument-Typ
local_filenamestringDie lokale Datei mit den Daten des neuen Dokuments.
finrintegersyslog.ERP-Mandant unter dem das Dokument im DMS-System abgelegt werden soll. Ist nur relevant, wenn Mandanten-Trennung konfiguriert ist (ansonsten kann 0 uebergeben werden).
metalisttableMetadaten des Dokuments (table of tables; Jeder Metadaten-Eintrag muss die Felder 'fieldset', 'field' und 'value' beinhalten. bei UDS/EASY muss das Fieldset dem Dokument-Typ entsprechend. Siehe Code-Beispiel.)

Rückgabewert


NummerTypBedeutung
1tableTable mit Rueckgabewerten/Informationen.
Feld 'Status' = Status-Code (0 = OK, Feld 'System' = DMS-System
Feld 'DocumentID' = ID des neuen Dokuments
(Die Dokument-Info-Felder sind nur bei Status = 0 gefuellt.)

Hinweise


Bei UDS müssen alle Felder der Association gültige Werte beinhalten. Das bedeutet, dass zumindest sämtliche nummerischen Felder übergeben und (mit Zahlen) befüllt sein müssen. Geschieht dies nicht, dann kann das Dokument war normalerweise trotzdem eingefügt werden, aber es kann u.U. hinterher nicht aus dem DMS gelesen werden (oder zumindest die falsch formatierten Metadaten nicht).

Beispiel


--[[
Dokument hinzufuegen
--]]
 
SY_Msg( "Fuege neues Dokument hinzu..." );

local metalist = {}
metalist[#metalist+1] = { fieldset = "SYSLOG_DVS", field = "Artnr", value = "150220" }
metalist[#metalist+1] = { fieldset = "SYSLOG_DVS", field = "Rufkz", value = "7" }

local info = DMS_AddDocumentWithMetadata( nil,
                                                "SYSLOG_DVS",                           -- Ordner - bei UDS/EASY gleich dem Dokument-Typ
                                                "Mein kleines Artikel-Dokument",        -- Titel
                                                "add_document_test.lua",                -- Dateiname
                                                "SYSLOG_DVS",                           -- Dokument-Typ
                                                "c:\\temp\\add_document_test.lua",        -- einzufuegende Datei
                                                1,                                      -- Mandant
                                                metalist )                              -- Metadaten

SY_Msg( "info.Status = "..info.Status )

if info.Status == 0 then
    SY_Msg( "info.System = "..info.System )
    SY_Msg( "info.DocumentID = "..info.DocumentID )

    SY_Msg( "Dokument erfolgreich hinzugefuegt." )
else
    SY_Msg( "Fehler beim Hinzufuegen des Dokuments aufgetreten." )
end