Propertys via OCL

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.

Liste der Property-Typen

  • 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.

    Beispiel-Abfrage:

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

    liefert 'Y' oder 'N'.

  • 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.

    Beispiel-Abfrage:

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

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

  • 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='WochenUeberzeitSchwelle')->first.propertyvalue

    liefert einen Minutenwert als Resultat, im Beispiel 2400.

  • currencyproperty: Enthält eine Festkommazahl, zum Beispiel einen Frankenbetrag.

    Beispielabfrage:

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

    liefert eine Festkommazahl zurück.

  • 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.

    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 nicht ausreicht.

    Beispiel-Abfrage:

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

    liefert die entsprechende Referenznummer zurück.


07.05.2004 | 26.11.2013: Korrektur bei Auswahlproperty: Aufteilung der Expression in String und Integer.
Produktlinien: Diverse
Module: Leistung & CRM