VB Skripte

enaio® import-export 10.10 »

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.