Scripts auf Events
Neu ist es möglich, dass Scripts durch bestimmte Änderungen, sogenannte Events, gestartet werden. Sobald eine solche Änderung eintrifft, läuft das hinterlegte Script automatisch ab, ohne zusätzliche Interaktion des Users.
Ein Event-Script wird wie ein normales Script im Vertec erzeugt: Über Einstellungen > Skripts, rechte Maustaste > Neu > Scripteintrag.

Bezeichnung: Hier kann eine beliebige Bezeichnung eingegeben werden. Eventscripts erscheinen nicht in einem Menü.
Klassen: Hier darf bei Eventskripts nichts eingegeben werden, sonst würde das Event-Skript im entsprechenden Menü erscheinen, was nicht erwünscht ist.
auf einzelne Objekte anwendbar: Wird bei Event-Scripts nicht benötigt.
auf Listen anwendbar: Wird bei Event-Scripts nicht benötigt.
Eventscript für: Auf folgende Arten von Events können Scripts registriert werden:
- Neu: Das Script wird gestartet, sobald ein Objekt der bezeichneten Klasse (siehe nachfolgende Tabelle) neu erzeugt wird.
- Geändert: Das Script wird gestartet, sobald eine sich eine Änderung ergibt an einem Objekt der bezeichneten Klasse (siehe nachfolgende Tabelle) und einem bestimmten Feld (siehe weiter unten).
- Login: Das Script wird gestartet, sobald sich ein Benutzer an Vertec anmeldet.
Event Klasse bezeichnen Felder bezeichnen
Neu ja nein
Geändert ja ja
Login nein nein
Erweiterte Berechtigungen: siehe nachfolgendes Kapitel Erweiterte Berechtigungen.
Klasse: Gibt an, auf welche Klasse sich das Script bezieht. Bei Event-Scripts der Art Login muss keine Klasse gesetzt werden.
Felder: Hier kann ein einzelnes Feld auf der Klasse angegeben werden, auf dessen Änderung reagiert werden soll. Die Angabe eines Feldes macht nur Sinn bei Event-Scripts der Art Geändert.
Falls auf mehrere Felder reagiert werden soll, können diese mit Komma getrennt nachein-ander angegeben werden. Es können auch Zusatzfelder angegeben werden, indem einfach der Name des Zusatzfeldes angegeben wird.
Auf derived Attributes (berechneten Feldern) dürfen keine Eventscripts registriert werden.
Erweiterte Berechtigungen
Einem Scripteintrag können erweiterte Rechte erlaubt werden. Dadurch wird erreicht, dass das Script gewisse erweiterte Möglichkeiten hat (Zum Beispiel, dass es auch bei Benutzern mit eingeschränkten Berechtigungen funktioniert).
Wenn die Option Erweiterte Berechtigungen auf dem Script aktiviert wird, können folgende Methoden in den Scripttext eingebaut werden:
- vertec.beginSystemContext, vertec.endSystemContext:
Es können Bereiche des Scripts mit den Methoden beginsystemcontext und endSystemContext eingefasst werden. Für den dazwischenliegenden Code gelten dann erweiterte (Admin-) Berechtigungen. BeginSystemContext gilt so lange, bis entweder endSystemContext aufgerufen wird oder das Script beendet ist. Wir empfehlen, diese Methode nur dort anzuwenden, wo die erweiterte Berechtigung wirklich vonnöten ist. - vertec.enableEvents, vertec.disableEvents:
Diese beiden Methoden werden verwendet, um die Ausführung von EventScripts temporär zu unterbinden. DisableEvents verhindert die Ausführung von Event-Scripts so lange, wie wiederum EnableEvents aufgerufen wird. Diese Methoden sind nötig, um den endlosen Aufruf eines Scripts zu verhindern. Beispielsweise soll das Ändern eines Stundensatzes einer Leistung auf einer Rechnung dazu führen, dass bei allen Leistungen auf dieser Rechnung ein anderer Stundensatz eingesetzt wird. Ohne Verwendung von DisableEvents würde jede geänderte Leistung das gleiche Script erneut aufrufen, was zu einer Endlos-Schleife führen würde. DisableEvents gilt so lange, bis entweder EnableEvents aufgerufen wird oder das Script beendet ist.
Scripts, bei denen die Option Erweiterte Berechtigungen gesetzt ist, können aus Sicherheitsgründen nur von einem User mit Administratorenrechten bearbeitet werden. Ist diese Option nicht gesetzt, bringen die Methoden beginSystemContext und disableEvents einen Fehler.
Scripts auf Events ausschalten
Beachten Sie bei der Verwendung von Scripts auf Events folgende Hinweise:
- Komplizierte Berechnungen bei Datenänderungen können die Performance von Vertec verlangsamen.
- Endlose Scripts, die sich immer wieder selbst aufrufen, können Vertec zum abstürzen bringen.
- Scripts, welche in die Funktionalität von Vertec eingreifen (z.B. das Setzen eines Stundensatzes auf einer neu erzeugten Leistung), können zu einem undurchsichtigen Verhalten von Vertec führen.
Aus diesen Gründen gibt es die Möglichkeit, Vertec mit einem Parameter /noevents zu starten. Dadurch werden im Vertec werden keine Eventscripts mehr ausgeführt.
| erstellt: | 03.12.2007 |
|---|---|
| geändert: | 26.02.2010 |
