Vertec Systemeinstellungen erzeugen

Vertec enthält eine Vielzahl von Systemeinstellungen (Properties), in denen Werte hinterlegt werden können.

Es können auch zusätzliche Systemeinstellungen erzeugt werden. Auf die darin hinterlegten Werte kann später in Scripts, Reports, OCL-Expressions etc. zugegriffen werden (siehe Properties via OCL). Sie eignen sich zur kundenspezifischen Steuerung von Vertec.

Aufbau der Properties

Wir unterscheiden zwischen AuswahlProperty und anderen Property-Typen (BlobProperty, BooleanProperty, CurrencyProperty, DateTimeProperty, IntegerProperty, ObjectProperty und StringProperty).

Die AuswahlProperty ist intern eine IntegerProperty, hat aber ein zusätzliches Attribut Auswahlliste. Dieses enthält eine comma-delimited Liste von Optionen. Auf der Oberfläche wird dann eine Combobox mit diesen Optionen angezeigt. Als Werte werden die Indizes der Optionen (0-basiert) verwendet.

Alle andere Properties können via die Attribute Auswahltyp und Expression konfiguriert werden.

Die verschiedenen Propertytypen haben folgende Attribute:

Attribut

Bedeutung

propertyname

Interner Name des Propertys, ohne Sonderzeichen und Leerschläge. Über diesen Namen wird später auf das Property zugegriffen, er erscheint nicht auf der Oberfläche. Länge: 255 Zeichen.

propertycaption

Beschreibung des Propertys, die in den Systemeinstellungen angezeigt werden soll. Normaler Fliesstext, Länge: 255 Zeichen.

propertyvalue

Eigentlicher Wert des Property. Wird normalerweise vom User (über die Oberfläche) abgefragt. Wenn sie einen Standardwert setzen möchten, können Sie hier einen passenden Wert eingeben (gilt für alle Property-Typen ausser Object-Property).

auswahltyp

Folgende Auswahltypen stehen zur Verfügung:

0: keiner

1: Allgemeine Objekt-Auswahl

  • Wird unterstützt für Object- oder String-Properties
  • Es erscheint ein Objekt-Listendialog.
  • Die angezeigte Auswahl-Liste wird gewonnen durch Anwendung der Property-Expression auf dem System.

2: Adressen-Auswahl

  • Wird unterstützt für Object- oder String-Properties.
  • Es erscheint ein Adressen-Suchdialog.

3: Ordner-Auswahl

  • Es erscheint ein Baum-Dialog zum Auswählen eines Vertec Containers.
  • In der Property Expression kann ein Klassenname angegeben werden, dann werden nur Container aufgelistet, die diese Klasse enthalten können.

4: File-Auswahl

  • Unterstützt für String Properties
  • Es erscheint ein Filesystem Datei-Auswahldialog und es kann eine Datei ausgewählt werden.
  • Setzt den vollen Pfad des Files als Propertywert ein.

5: Pfad-Auswahl

  • Unterstützt für String Properties.
  • Es erscheint ein Filesystem Ordner-Auswahldialog und es kann ein Ordner ausgewählt werden.
  • Setzt den vollen Pfad des Ordners als Propertywert ein.

6: Auswahldialog von Extension

  • Unterstützt für alle String-kompatiblen Properties.
  • Delegiert Anzeige von Dialog an eine Extension.
  • Property-Expression gibt den Namen der Extension an. Diese muss eine Methode SelectPropertyValue(valuename, defaultvalue) haben, welche den gewählten Wert als String zurückgibt. Diese Methode wird aufgerufen mit dem Namen der Property.

expression

Je nach Auswahltyp (siehe oben)

gruppe

Gibt an, in welcher Sektion in den Systemeinstellungen das Property angezeigt werden soll. Es gibt folgende Möglichkeiten:

0: Allgemein

1: Adressen

2: Projekt / Mandat

3: Rechnung / Honorarnote

4: Buchhaltung

5: Benchmarking

8: Ressourcenplanung

9: CRM / Aktivitäten

10: Telefonie

11: Web

99: Unsichtbar

scope

gibt an, ob es eine allgemeines oder ein benutzerspezifisches Property ist.

0: Global

1: Benutzerspezifisch

auswahlliste

Nur bei AuswahlProperties. Enthält eine comma-delimited Liste von Optionen. Auf der Oberfläche wird dann eine Combobox mit diesen Optionen angezeigt.

masked

Nur bei String-Properties. Zeigt den Wert maskiert an, z.B. für Passwörter.

Codebeispiele

StringProperty

Bei einem Stringproperty handelt es sich um ein Property, wo ein alphanumerischer Text oder ein Pfad eingegeben wird.

Einfaches Feld

Es kann z.B. ein Feld sein, in das der Wert von Hand getippt wird:

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("StringProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Bezeichnung"
p.member("auswahltyp") = 0
p.member("gruppe") = 0 'Allgemein

Browser Filesystem

oder aber auch über einen Browser (im Filesystem oder in einem externen Programm wie z.B. der Buchhaltung:

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("StringProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Bezeichnung"
p.member("auswahltyp") = 5
p.member("gruppe") = 0 'Allgemein

BooleanProperty

Ja/Nein-Werte. Boolean-Properties werden standardmässig auf Nein initialisiert. Sie können den Standard explizit setzen, indem Sie wie hier im Beispiel den propertyvalue setzen.

  • 0: Nein
  • -1: Ja

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("BooleanProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Bezeichnung"
p.member("auswahltyp") = 0
p.member("gruppe") = 0 'Allgemein
p.member("propertyvalue") = -1 'Standardwert: ja

AuswahlProperty

Wert auswählen aus einer Liste mittels Combobox.

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("AuswahlProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Bezeichnung"
p.member("auswahltyp") = 0
p.member("gruppe") = 0 'Allgemein
p.member("auswahlliste") = """Wert 1""," & """Wert 2""," & """Wert 3"""

DatetimeProperty

Datumswerte.

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("DatetimeProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Bezeichnung"
p.member("auswahltyp") = 0
p.member("gruppe") = 0 'Allgemein

IntegerProperty

Ganzzahliger Wert (wie z.B. bei der Länge der Rechnungsnummer).

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("IntegerProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Bezeichnung"
p.member("auswahltyp") = 0
p.member("gruppe") = 0 'Allgemein

MinutenProperty

Eingabe eines Minutenwerts. Anzeige des Wertes auf der Oberfläche gemäss Einstellung der Systemeinstellungen Projekt > Anzeige Minuten. Wird intern als Integer gespeichert.

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("MinutenProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Minutenwert"
p.member("auswahltyp") = 0
p.member("gruppe") = 0 'Allgemein

CurrencyProperty

Enthält eine Festkommazahl, zum Beispiel einen Frankenbetrag.

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("CurrencyProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Ein Currency-Property"
p.member("auswahltyp") = 0
p.member("gruppe") = 0 'Allgemein

ObjectProperty

Internes Vertec Objekt. Das Feld sieht gleich aus wie die stringproperties, mit einem Button mit drei Punkten. Zur Auswahl kommt aber eine Liste mit Einträgen aus Vertec gemäss der OCL-Expression.

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("ObjectProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Bezeichnung"
p.member("auswahltyp") = 1
p.member("gruppe") = 9 'CRM/Aktivitäten
p.member("expression") = "aktivitaetstyp" 'OCL-Expression

Um einen Wert zuzuweisen im Code, kann nicht wie bei den anderen Properties die propertyValue gesetzt werden, da ObjectProperty.propertyValue derived ist. Die Zuweisung erfolgt hier über das Member objectBoldID:

p.member("objectBoldID") = 12345 '(ID des zugewiesenen Objekts)

BlobProperty

Ein Wert, der in der Datenbank in einem Blob-Feld abgespeichert wird. Wird zum Beispiel für sehr lange Referenznummern verwendet, für die ein normales String-Feld nicht ausreicht.

Wird wie folgt erzeugt:

option explicit
dim p

set p = Vertec.CreateObject("BlobProperty")

p.member("propertyname") = "name_property"
p.member("propertycaption") = "Bezeichnung"
p.member("auswahltyp") = 0
p.member("gruppe") = 1 'Adressen

18.02.2013 | 12.08.2014: Hinweis auf ObjectProperty.propertyValue derived eingefügt.
Produktlinien: Expert
Module: Leistung & CRM