Properties via OCL

Module: Leistung & CRM
Erstellt: 07.05.2004, Änderung: 29.12.2016
Artikel überarbeitet, neue Screenshots.
Mehr ansehen

Sie können die Werte in den Systemeinstellungen auch via OCL auswerten. Ein Wert in den Systemeinstellungen wird als Property bezeichnet.

Über den Namen (propertyName) kann das Property eingelesen werden. Jedes Property ist von einem bestimmten Typ (siehe nachfolgende Liste). Der Wert des Propertys (propertyValue) muss jeweils auf dem entsprechenden Typ abgefrag werden. Der entsprechende PropertyName und Typ ist bei der Beschreibung der jeweiligen Systemeinstellung zu finden.

Folgende Expression liefert den propertyName, falls nur die Beschriftung bekannt ist:

property->select(propertyCaption->sqllike('Beschriftung Property%'))->first.propertyName

Folgende Expression liefert den Typ eines Propertys:

property->select(propertyName='Name des Propertys')->first.oclType.asstring

Um den Wert eines Properys abzufragen muss man je nach Property-Typ vorgehen. Hier anschliessend finden Sie die vollständige Liste zur Abfrage von Propertys nach Typ.

StringProperty

Bei einem Stringproperty handelt es sich um ein Property, wo ein alphanumerischer Text oder ein Pfad eingegeben wird. Es kann z.B. ein Feld sein, in das der Wert von Hand getippt wird:

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

Beispiel-Abfrage

stringproperty->select(propertyName='VESRKndnNr')->first.propertyvalue

liefert einen String zurück mit dem Wert, wie er im Feld steht.

BooleanProperty

Ja/Nein-Werte. Zeigt eine Checkbox an.

Beispiel-Abfrage

booleanproperty->select(propertyName='AutoSaveSessionSettings')->first.propertyvalue

liefert True oder False.

AuswahlProperty

Wert auswählen aus einer Liste mittels Combobox.

Beispiel-Abfrage

auswahlproperty->select(propertyName='Jargon')->first.asstring

liefert einen String (gleich geschrieben wie in der Auswahlliste selbst). Über die Abfrage:

auswahlproperty->select(propertyName='Jargon')->first.propertyvalue

erhält man den Index der Auswahl (hier im Beispiel 0 für Projekte und 1 für Mandate) als Integer.

DatetimeProperty

Datumswerte. Zeigt einen Datepicker an.

Beispiel-Abfrage

datetimeproperty->select(propertyName='Sperrdatum')->first.propertyvalue

liefert einen Datumswert (Date) in der entsprechenden Formatierung (z.B. 30.11.2016).

IntegerProperty

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

Beispiel-Abfrage

integerproperty->select(propertyName='LaengeRechnungsnummer')->first.propertyvalue

liefert die entsprechende Zahl.

MinutenProperty

Funktioniert intern gleich wie das IntegerProperty (siehe oben), das heisst, der eingegebene Wert wird als ganzzahliger Minutenwert gespeichert. Die Anzeige wird gesteuert durch die Systemeinstellung Projekt > Anzeige Minuten.

Beispiel-Abfrage

minutenproperty->select(propertyName='name_property')->first.propertyvalue

liefert einen Minutenwert als Resultat, im Beispiel 2400.

CurrencyProperty

Enthält eine Festkommazahl, zum Beispiel einen Frankenbetrag.

Beispiel-Abfrage

currencyproperty->select(propertyName='name_property')->first.propertyvalue

liefert eine Festkommazahl zurück.

ObjectProperty

Enthält ein Vertec Objekt. Zur Auswahl kommt eine Liste mit Einträgen aus Vertec.

Beispiel-Abfrage

objectproperty->select(propertyName='AktivitaetstypDokument')->first.propertyvalue

liefert eine ObjectReference, also das entsprechende Objekt zurück. Soll es weiterverwendet werden, muss es auf den jeweiligen Typ gecastet werden.

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 (255 Zeichen) nicht ausreicht.

Beispiel-Abfrage

blobproperty->select(propertyName='PropOutlookFolder')->first.propertyvalue

liefert die entsprechende Referenznummer zurück.