Eigenschaftsdefinitionen / Automatische Werte |
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.
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.