VB Skripte
Nach dem Import oder nach jedem importieren Datensatz kann ein VB Skript ausgeführt werden.
Sie können ein vorliegendes Skript laden oder über den Zwischenspeicher in den Skriptbereich kopieren und dort editieren.
Datensatz-Skripte können den Wert der Variable 'RecordInvalid' aus den Übergabedaten auf 'true' ändern, um den Import anzuweisen, den entsprechenden Datensatz als fehlerhaft zu kennzeichnen (vgl. Protokolleinstellungen).
Innerhalb Datensatz-Skripten ist es möglich, über die Variable 'strFieldValues' auf die Werte der Felder und Festfelder der Importdatei zuzugreifen. Abhängig vom Inhalt der Werte der Felder und Festfelder, können nach dem Import zusätzliche Aktionen durchgeführt werden. Objekte können beispielsweise modifiziert oder mit anderen Objekten verknüpft werden.
Im Skript stehen folgende globale Daten zur Verfügung:
Variable: arrObject
Datentyp: Array
Funktion:
Informationen zu allen von diesem Datensatz betroffenen DMS-Objekten. Die Anzahl der Elemente im Array wird durch Anzahl der zuvor ausgewählten DMS-Objekte bestimmt. Das erste Array-Element zeigt somit (typischerweise, es sei denn die Objektverarbeitungsreihenfolge wurde modifiziert) Informationen zur Verarbeitung des Ordners, das zweite Informationen zum Register (so Register verwendet werden), das dritte Dokumentinformationen.
Jeder Eintrag in dem Array entspricht einem Importobjekt und hat folgende Form:
<OrdnerTyp>#<OrdnerID>/<RegisterTyp>#<RegisterID>/<ObjektTyp>#<ObjektID>:<Aktion>
Für die Aktion sind folgende Werte möglich:
0=keine Aktion, 1=Update, 2=Insert, 3=Delete, 4=Fehler
Beispiele:
Beispiel 1: Ordner: 1#123/0#0/1#123:1
Beispiel 2: Register: 1#123/6488065#20/6488065#20:2
Beispiel 3: Dokument im Register: 1#123/6488065#20/65537#1024:2
Beispiel 4: Dokument direkt im Ordner: 1#123/0#0/65537#1024:2
Beispiel 5: Dokument in WF Ablage: 0#0/0#0/65537#1024:2
Beispiel 6: Typenloses Dokument in WF Ablage: 0#0/0#0/19660800#1024:2
Wurden in einem Datensatz ein Ordner, ein Register und ein Dokument importiert, enthält das Array mit obigen Beispieldaten folgende Werte:
arrObjects(0) = 1#123/0#-1/1#123:1
arrObjects(1) = 1#123/6488065#20/6488065#20:2
arrObjects(2) = 1#123/6488065#20/65537#1024:2
Variable: strFieldValues
Datentyp: String
Funktion:
Feldwerte des Datensatzes, Format:
<Feld1Name>="<Feld1Wert>";<Feld2Name>="<Feld2Wert";<…>;
Beispiel:
ProjektNr="1234";Verantwortlich="Hans Meier";bilddatei="c:\import\datei1.tif";
Enthält ein Feldwert das doppelte Anführungszeichen, wird diesem Zeichen ein weiteres doppeltes Anführungszeichen vorangestellt.
Variable: RecordInvalid
Datentyp: Boolean
Funktion:
Rückgabewert zur Steuerung ob ein Datensatz als erfolgreich oder fehlerhaft gelten soll (Default: FALSE)
Beispiel für ein Datensatz-Skript:
Dieses Skript gibt einem importierten Dokument die Eigenschaft 'archivierbar'.
Set server=CreateObject("OxSvrSpt.server")
Set session = server.Login("<login>", "<password>", "<ip-address>", "4000", pwNotEncrypted)
'Alle Objekte durchsuchen
For i=lbound(arrObjects) to ubound(arrObjects)-1
sFullObjectActionInfo = arrObjects(i)
'Action trennen
vArray=split(sFullObjectActionInfo,":")
sFullObjectInfo = vArray(0)
sAction = vArray(1)
'Dokument trennen
vArray=split(sFullObjectInfo ,"/")
sObjectInfo = vArray(2)
'Object ID und Typ trennen
vArray=split(sObjectInfo ,"#")
sObjectType = vArray(0)
sObjectID = vArray(1)
'Testen auf Objekttyp
If sObjectType = "<object-type-id>" Then
'Objekt auf archivierbar setzen
Set job = session.NewJob("dms.XMLUpdate")
strXML = "<DMSData><Archive><ObjectType id=""" & sObjectType &"""><Object object_id=""" & sObjectID & """></Object></ObjectType></Archive></DMSData>"
job.InputParameters.AddNewStringParameter "XML", strXML
job.InputParameters.AddNewIntegerParameter "Flags", 0
job.InputParameters.AddNewStringParameter "Options", "Archivable=1"
job.Execute
End If
Next
'login', 'password', 'ip-address' und 'object-type-id' sind konfigurationsspezifische Daten.