Tags auf User-Einträgen

Tags auf UserEintrag

Produktlinie

Standard

|

Expert

Betriebsart

CLOUD ABO

|

ON-PREMISES

Module

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 11.04.2017
Aktualisiert: 28.03.2024 | Hinweis auf Setzen von Tags via Custom Renderer eingefügt.

In Vertec werden Objekte (z.B. Projekte, Leistungen) vielfach über Boolean Zusatzfelder kategorisiert. Die daraus resultierenden OCL-Abfragen der Art

  leistungen->select(zusatzfeldbool('istmarkiert'))

sind nicht performant, da für jedes Element in der Liste die Zusatzfelder geladen werden müssen.

Um diese Anforderung performant abbilden zu können, wurde mit Vertec Version 6.1.0.10 die Möglichkeit geschaffen, User-Einträge mit Tags zu versehen, nach denen gefiltert werden kann.

Dafür gibt es ein Tags Feld auf jedem UserEintrag (UserEinträge sind alle Objekte in Vertec, welche in Ordnern abgelegt werden können, wie Adressen, Projekte, Bearbeiter, Leistungen, etc.), welches via Python oder COM mit beliebigen Stichworten (Tags) befüllt werden kann.

Via Custom Renderer gibt es die Möglichkeit, Tags direkt in der Liste bzw. per Checkbox zu setzen. Die Anleitung dafür finden Sie im Abschnitt Anwendungsfälle - Einen Tag setzen .

Setzen eines Tags

Gesetzt werden die Tags mit der COM- oder Python Methode addtag(tagname), z.B.

argobject.addtag('mytag')

Abstände in den Tagnamen sind erlaubt. Anführungszeichen und Kommas sollten nicht verwendet werden, da es sonst Probleme mit der Abfrage geben kann aufgrund des Escapings.

Ist ein Tag bereits vorhanden, wird er nicht erneut hinzugefügt.

Die maximale Länge aller auf einem User-Eintrag gesetzten Tags ist gesamthaft 1000 Zeichen. Wird diese Länge überschritten, erscheint eine Fehlermeldung.

Abfragen von Tags

Abgefragt werden können die Tags via COM, Python oder OCL per hasTag:

hastag(tagname): boolean/integer

Der Rückgabewert ist

  • OCL/COM: True, wenn der Tag gesetzt ist, und False, wenn es ihn nicht gibt.
  • Python: 1, wenn der Tag gesetzt ist, und 0, wenn es ihn nicht gibt.

So können Listen mit Abfragen der Art leistungen->select(hasTag('istmarkiert')) schnell und performant gefiltert werden.

Abfragen von Tags via SQL

Tags können auch via SQL abgefragt werden, zum Beispiel in SQL-Ordnern. Die entsprechende Abfrage geschieht mit einem Vergleich, z.B.

tags like '%tagname%'

Löschen von Tags

Um Tags zu löschen, steht die COM- oder Python Methode removetag(tagname) zur Verfügung, z.B.

argobject.removetag('mytag')
Wird ein Tag gelöscht, den es nicht gibt, dann geschieht nichts, es gibt keinen Fehler.
Bitte wählen Sie Ihren Standort