VBScript-Code bearbeiten

Benutzerdefinierte automatische und berechnete Werte können mit den allgemeinen Eigenschaften der M-Files API und VBScript genauer festgelegt werden. Dieser Abschnitt enthält zusätzliche Anweisungen zur Verwendung von VBScript mit automatischen Werten.

Anmerkung: Automatische Eigenschaften können auch für Objekte erstellt werden, sodass die berechneten Eigenschaften neben den Eigenschaften des Objekts auch die Eigenschaften eines weiteren Objekts enthalten, das sich auf das aktuelle Objekt bezieht. Wenn beispielsweise die Eigenschaft Kunde in das Projekt und nicht in das Dokument eingebunden ist, kann dem Dokument auf Grundlage der Eigenschaften des Dokuments und/oder Projekts ein automatischer Name gegeben werden. Der automatische Name des Dokuments kann beispielsweise dem Format „Hausplan Star/ESTT“ entsprechen.

VBScript-Code bearbeiten

VBScript-Code kann im Fenster VBScript-Code bearbeiten bearbeitet werden. VBScript-Code wird ausgeführt, wenn ein Eigenschaftenwert neu berechnet wird, nachdem die entsprechende Eigenschaft bearbeitet wurde. Dabei wird der Wert von VBScript erstellt und der Variablen Output zugewiesen. Dieser Wert wird als Wert der Eigenschaft in den Metadaten des Objekts gespeichert.

Ein grundlegendes VBScript-Element für einen automatischen Wert könnte wie folgt aussehen:

Output = "Automatic value"

Normalerweise verwendet ein automatischer Wert andere Objekteigenschaften, indem diese z. B verknüpft werden. VBScript-Code kann die Eigenschaftswerte und grundlegenden Informationen desselben oder eines anderen Objekts mithilfe der folgenden VBScript-Variablen verarbeiten.

CurrentUserID

Name der Variablen: CurrentUserID

Datentyp der Variablen: Zahl (siehe M-Files API)

Verwendung der Variablen: Die Variable „CurrentUserID“ enthält die ID des Benutzers, der für das Auslösen des Skripts verantwortlich ist.

DisplayID

Name der Variablen: DisplayID

Datentyp der Variablen: TypedValue (siehe „M-Files API“)

Verwendung der Variablen: Die Variable „DisplayID“ enthält die eindeutige Objekt-ID. Diese ID wird den Benutzern im Eigenschaftsbereich von M-Files Desktop angezeigt, wenn das Objekt in der Liste ausgewählt ist. Die DisplayID kann aus Zahlen und Buchstaben bestehen. Häufig stimmt die DisplayID mit der internen ID des Objekts überein, deren Wert mit der Variablen „ObjVer“ abgerufen werden kann. Die interne ID darf nur aus Zahlen bestehen. Wenn das Objekt aus einer externen Datenbank importiert wurde, unterscheiden sich die DisplayID und die interne ID.

MFScriptCancel

Name der Variablen: MFScriptCancel

Datentyp der Variablen: Zahl (siehe M-Files API)

Verwendung der Variablen: Die Variable „MFScriptCancel“ enthält den Fehlercode, der von den Skripten verwendet wird, um Benutzern Fehlermeldungen anzuzeigen. M-Files fügt den Fehlermeldungen häufig detaillierte Daten hinzu. Dies kann mit dem Fehlercode der Variable „MFScriptCancel“ vermieden werden.

Beispiel: Err.Raise MFScriptCancel, "Das ist die dem Benutzer angezeigte Fehlermeldung."

ObjVer

Name der Variablen: ObjVer

Datentyp der Variablen: ObjVer (siehe M-Files API)

Verwendung der Variable: Die Variable „ObjVer“ enthält die vollständige eindeutige ID der Zielversion, die aus der ID des Objekttyps, der internen ID des Objekts sowie der Version des Objekts besteht.

PropertyValues

Name der Variablen: PropertyValues

Datentyp der Variablen: PropertyValues (siehe M-Files API)

Verwendung der Variable: Die Variable PropertyValues enthält alle aktuellen Eigenschaftswerte der Zielversion (wie Name, Projekt und Kunde). Alle Eigenschaftswerte werden in PropertyValues als Variable vom Typ PropertyValue gespeichert.

Ein bestimmter Eigenschaftswert kann mit der Methode SearchForProperty abgerufen werden. Weitere Informationen finden Sie in der Dokumentation für MFiles API.

PropertyDef

Name der Variablen: PropertyDef

Datentyp der Variablen: PropertyDef (siehe M-Files API)

Verwendung der Variable: Die Variable „PropertyDef“ enthält die Informationen über den berechneten Eigenschaftswert, darunter die ID der Eigenschaftswertdefinition sowie den Namen und den Datentyp.

LastUsed

Name der Variablen: LastUsed

Datentyp der Variablen: TypedValue (siehe M-Files API)

Verwendung der Variable: Die Variable „LastUsed“ ist nur bei der Berechnung von benutzerdefinierten automatischen Nummern verfügbar. Der Wert einer automatischen Nummer ist in der Regel von der vorhergehenden Berechnung abhängig. So wird der automatische Wert bei fortlaufenden Nummern normalerweise um jeweils eins erhöht. Beim Konfigurieren von benutzerdefinierten automatischen Nummern kann das Ergebnis der vorhergehenden Berechnung mit der Variable LastUsed abgerufen werden.

Eine einfache automatische Nummerierung mit einer Erhöhung um den Wert 1 kann beispielsweise mit dem folgenden einfachen VBScript-Code durchgeführt werden: Output = LastUsed + 1.

Output

Name der Variablen: Output

Datentyp der Variablen: TypedValue (siehe M-Files API)

Verwendung der Variable: Zu Beginn der Ausführung des VBScript-Codes enthält die Variable Output (mit Ausnahme automatischer Nummerierungen) den aktuellen Wert der berechneten Eigenschaft.

Hauptzweck des VBScript-Codes ist normalerweise das Erstellen eines neuen Werts und das Zuweisen des Werts zur Variable „Output“, die dann in den Metadaten des Objekts gespeichert wird. Wenn der Wert der Output-Variable nicht mit dem VBScript-Code festgelegt wird, bleibt der Eigenschaftswert in den Metadaten unverändert.

In einfachen Fällen kann der Wert der Output-Variable wie im folgenden Beispiel mit einer einfachen Anweisung festgelegt werden: Output = 123.

Wenn der Datentyp des berechneten Werts beispielsweise Aus Liste auswählenlautet, ist es empfehlenswert, den Wert der Variable „Output“ (siehe M-Files API) wie im folgenden Beispiel mit der SetValue-Methode festzulegen: Output.SetValue MFDatatypeLookup, 101.

Vault

Name der Variablen: Vault

Datentyp der Variablen: Vault (siehe M-Files API)

Verwendung der Variablen: Die Variable „Vault“ steht für die Dokumentenverwaltung, die beim Ausführen des Skripts verwendet wird. Mit der ID kann das Skript die Inhalte der Dokumentenverwaltung auf dieselbe Weise verwenden, wie dies mit der M-Files API möglich ist. Wenn ein Fehler auftritt, werden alle durch die Dokumentenverwaltungsentität an der Dokumentenverwaltung vorgenommenen Änderungen rückgängig gemacht.

Die Verwendung der Dokumentenverwaltungsentität bei Skripten unterliegt gewissen Beschränkungen. Das Skript kann nicht mit der Dokumentenverwaltungsentität den Status des Objekts ändern, für das das Skript ausgeführt wird. Der Statuswechsel bezieht sich auf das Aus- und Einchecken des Objekts, das Rückgängigmachen des Auscheckvorgangs und das Löschen und dauerhafte Löschen des Objekts. Außerdem müssen alle anderen im Skript ausgecheckten Objekte eingecheckt werden, während das Skript ausgeführt wird.

VaultSharedVariables

Name der Variablen: VaultSharedVariables

Datentyp der Variablen: NamedValues (siehe M-Files API)

Verwendung der Variablen: Die Variable „VaultSharedVariables“ ist eine Sammlung von benannten Werten, die in der Dokumentenverwaltungsdatenbank gespeichert sind. Mit der Variablen können die Skripte ihre eigenen Werte in der Datenbank speichern, so dass diese auch für andere Skripte verfügbar sind. Die zulässigen Datentypen für benannte Werte sind ganzzahlige Variablen, boolesche Werte und Zeichenfolgen.

Im folgenden Beispiel wird der Wert „123“ als benannter Wert gespeichert, und der zahlenbasierte berechnete Wert wird dann als Wert festgelegt:

VaultSharedVariables( "Nachricht" ) = 123

Output = VaultSharedVariables( "Nachricht" )

Beispielcode

Mit dem nachfolgenden Beispielcode wird ein automatischer Wert für die Eigenschaft „Angebotstitel“ erstellt. Dabei werden die Angebotsnummer sowie die Kundeninformationen in den Metadaten der Objektversion verwendet. Die ID der Eigenschaft Angebotsnummerlautet 1156 und die ID der Eigenschaft Kunde1288. Wenn ein Dokument beispielsweise über die Angebotsnummer 5577 verfügt und der Kunde „ESTT“ heißt, wird mit dem folgenden Code als Titel des Angebots die angegebene Zeichenfolge erzeugt: "Angebot #5577 / ESTT".

Option Explicit

' Angebotsnummer abrufen.

Dim szNumber

szNumber = PropertyValues.SearchForProperty( 1156 ).TypedValue.DisplayValue

' Kunden abrufen.

Dim szCustomer

szCustomer = PropertyValues.SearchForProperty( 1288 ).TypedValue.DisplayValue

' Angebotstitel erstellen.

Dim szName

szName = "Proposal #" & szNumber & " / " & szCustomer

' Ergebnis festlegen.

Output = szName

Die Dokumentation zur M-Files API befindet sich im Ordner Start/Alle Programme/M-Files/Dokumentation/M-Files API. Weitere Informationen zum Erstellen automatischer Werte mit VBScript-Code erhalten Sie unter [email protected]. Unterstützung bei der Verwendung der MFiles API sowie beim Erstellen von VBScript-Code erhalten Sie kostenpflichtig beim technischen Support von MFiles.