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) mit beliebigen Stichworten (Tags) befüllt werden kann.
Gesetzt werden die Tags mit der COM- oder Python Methode addtag(tagname), z.B.
argobject.addtag('mytag')
Abstände in den Tagnamen sind erlaubt. 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.
Der Rückgabewert ist true, wenn der Tag gesetzt ist, und false, wenn es ihn nicht gibt.
So können Listen mit Abfragen der Art leistungen->select(hasTag('istmarkiert')) schnell und peformant gefiltert werden.
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')