Vertec AI Chatbot

Der Chatbot hilft Ihnen bei Fragen rund um das Produkt und die Anpassbarkeit der Software. Wie bei allen AI-generierten Daten sollten die Antworten bei kritischen Informationen verifiziert werden. Nehmen Sie dafür gerne Kontakt mit uns auf. Weitere Informationen zur Verarbeitung der Chat-Daten bieten wir auf der Datenschutzseite.

Die besten Antworten liefert der Chatbot, wenn Ihr Input möglichst viele Informationen enthält. Zum Beispiel:

«Welche Apps stehen im Vertec Cloud Abo zur Verfügung?»

Scripts registrieren

So registrieren Sie Scripts in Vertec

Produktlinie

Standard

|

Expert

Betriebsart

CLOUD ABO

|

ON-PREMISES

Module

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 26.06.2003
Aktualisiert: 19.08.2024 | Artikel erneuert und angepasst an Version 6.7.0.12

Scripts in Vertec können als Menüpunkte, als Eventscripts oder als Module registriert werden.

Hier in diesem Artikel geht es um das Registrieren von Scripts als Menüpunkte. Das Registrieren von Scripts auf Events oder Scripts als Module finden Sie in den separaten Artikeln.

Für das Registrieren von Scripts braucht es Administratorrechte.

Script als Menüpunkt registrieren

Klicken Sie unter Einstellungen > Berichte & Scripts mit der rechten Maustaste auf Scripts und wählen Sie Neu > Scripteintrag.

Aktivieren Sie die Checkbox In Vertec Menüs anzeigen:

In Vertec Versionen vor 6.7.0.12 gibt es diese Checkbox noch nicht. Lesen Sie in diesem Fall einfach weiter. 

Bezeichnung

Unter diesem Namen erscheint das Script später im Menü Aktionen. Es sollte also darauf geachtet werden, dass der Name aussagekräftig ist, aber nicht allzu lang.

Plattform

Hier kann angegeben werden, um welche (Code-)Sprache es sich bei dem Script handelt:

  • Python: Das ist der Standard und bei neuen Scripteinträgen voreingestellt. Python Scripts sind cloudfähig und auch in der Cloud App und der Web App ausführbar. Ab Vertec 6.7.0.12 können nur noch Python Scripts als Menüpunkte registriert werden.
  • VBScript: Diese Einstellung ist verfügbar aus Rückwärtskompatibilitätsgründen. VBScripts in Vertec sind nur in der Desktop App lauffähig (On-Premises) und nicht cloudfähig. Wir empfehlen deshalb, nur noch Python Scripts zu verwenden.

In Vertec Versionen vor 6.6 gibt es dieses Feld noch nicht. In diesem Fall muss der Script Text mit einem # beginnen, wenn es sich um ein Python Script handelt.

Klassen

Geben Sie hier an, für welche Art von Objekten (Klassen) in Vertec das Script ausgeführt werden kann. Der Menüpunkt erscheint im Menü Aktionen (bzw. im Kontextmenü) nur dort, wofür es registriert wurde. Ist eine Klasse in der Auswahl nicht vorhanden, kann sie auch einfach von Hand ins Feld eingetippt werden. Beachten Sie dabei, dass Klassennamen mit grossem Anfangsbuchstaben geschrieben werden müssen.

Versionen vor 6.7.0.12: Gültig sind alle Klassen in Vertec, die von der Klasse UserEintrag erben. Scripts können also nicht auf Container (Ordner) registriert werden.

Versionen ab 6.7.0.12 bei Scripts nach neuer Art (siehe Abschnitt Änderungen ab Vertec Version 6.7.0.12): Gültig sind alle Klassen in Vertec, die von der Klasse Eintrag erben. Scripts können also auch auf Container (Ordner, Expression-Ordner, Link Container etc.) registriert werden.

Anzeigebedingung

Hier kann eine Anzeigebedingung als OCL Expression angegeben werden, mit welcher gesteuert werden kann, ob das Script im Menü Aktionen (bzw. im Kontextmenü) erscheint oder nicht. Durch Klick auf den Button mit den drei Punkten öffnet sich der Expression Editor. Das Resultat dieser Expression muss einen Ja/Nein Wert (Boolean) zurückliefern. Nur wenn die Bedingung erfüllt ist, erscheint das Script im Menü Aktionen.

Versionen vor 6.7.0.12

Die Bedingung gilt nur für Scripts auf einzelnen Objekten. Bei Scripts, die zur Anzeige auf Listen konfiguriert sind, wird die Bedingung nicht ausgewertet. Die OCL Expression bezieht sich auf das argobject. Beispiel:

  • verrechnet für ein Script, das nur auf Rechnungen erscheinen soll, die bereits verrechnet sind.
Versionen ab 6.7.0.12

Bei Scripts nach neuer Art (siehe Abschnitt Änderungen ab Vertec Version 6.7.0.12) bezieht sich die Anzeigebedingung auf die Liste der ausgewählten Objekte (selectedobjects). Im OCL Expression Editor entspricht self dieser Liste. Beispiele:

  • self->size = 1 für Scripts, die sich so verhalten sollen wie früher Scripts auf einzelnen Objekten. Erscheinen also nur, wenn nur genau ein Objekt ausgewählt ist.
  • self.oclAsType(Rechnung)->select(not verrechnet)->size = 0 für ein Rechnungsscript, das nur erscheinen sein soll, wenn alle ausgewählten Rechnungen bereits verrechnet sind.
  • self->first.objid = xxxx für Containerscripts, die nur auf einem ganz bestimmten Ordner angezeigt werden sollen. Alternativ auch mit Eintrag ID möglich.
  • self->collect(oclType.asstring)->asSet->size = 1 für ein Script, das nur erscheinen soll, wenn alle ausgewählten Objekte den gleichen Typ haben.

Auf einzelne Objekte anwendbar

Vertec Versionen vor 6.7.0.12. Setzen Sie hier ein Häkchen, falls das Script auf dem einzelnen Objekt (z.B. auf einer Rechnung) angewendet werden kann.

Bei Scripts, die vor 6.7.0.12 registriert wurden, befindet sich diese Checkbox nach dem Update auf 6.7.0.12 auf der Seite Weitere Info. Siehe dazu Abschnitt Änderungen ab Vertec Version 6.7.0.12.

Auf Listen (Container) anwendbar

Vertec Versionen vor 6.7.0.12. Setzen Sie hier ein Häkchen, falls das Script auf einer Liste von Objekten (z.B. auf einer Projektliste) angewendet werden kann.

Bei Scripts, die vor 6.7.0.12 registriert wurden, befindet sich diese Checkbox nach dem Update auf 6.7.0.12 auf der Seite Weitere Info. Siehe dazu Abschnitt Änderungen ab Vertec Version 6.7.0.12.

Erweiterte Berechtigungen

Sollen registrierte Scripts später auch von Usern mit eingeschränkten Benutzerrechten ausgeführt werden können, kann für die entsprechenden Codestellen eine erweiterte Berechtigung erteilt werden. Siehe dazu den Artikel Erweiterte Berechtigungen in Scripts.

Script Text

Hier wird der Script Code eingefügt. Siehe dazu den Abschnitt Code in Scripts als Menüpunkte weiter unten.

Ausführen...
Um das Script zu Testzwecken auszuführen, klicken Sie auf den Button Ausführen. Achten Sie darauf, dass der aktuelle Kontext stimmen muss, um ein Script so zu testen. Andernfalls müssen Sie den Test auf dem betreffenden Eintrag über den Menübutton Aktionen ausführen.
Script Editor...

Öffnet das Script, falls es sich um ein Python Script handelt, im Script Editor. Der Script Editor ist dann mit dem Scripteintrag verbunden. Das heisst: wird im Script Editor Code angepasst, ändert sich der Script Text im Scripteintrag ebenfalls.

Scripts via Menüpunkt ausführen

Scripts auf einzelnen Objekten

Scripts auf einzelnen Objekten können entweder über das Menü Aktionen:

Oder via Rechtsklick ausgeführt werden:

Scripts auf Listen

Scripts auf Listen können über das Menü Aktionen oder per Rechtsklick auf den Ordner ausgeführt werden:

Scripts per Rechtsklick auf selektierten Objekten ausführen 

Bei Scripts nach neuer Art (siehe Abschnitt Änderungen ab Vertec Version 6.7.0.12) können Scripts auch auf selektierten Objekten ausgeführt werden:

Wird ein solches Script wie ein herkömmliches Listenscript via Menü Aktionen oder per Rechtsklick auf den Container (Ordner) ausgeführt, werden alle Einträge der Liste übergeben:

Code in Scripts als Menüpunkte

Beim Script Code muss es sich um gültigen Python Code (oder veraltet auch VBScript) handeln. Aus dem Script heraus ist das ganze Vertec Objektmodell zugänglich.

Änderungen ab Vertec Version 6.7.0.12

Die Checkboxen Auf einzelne Objekte anwendbar oder Auf Listen (Container) anwendbar werden von der Hauptseite des Scripteintrags entfernt.

  • Ist eine oder beide Checkboxen gesetzt, werden sie auf der Seite Weitere Info angezeigt. In diesem Fall greift das bisherige Verhalten (Code vor Vertec 6.7.0.12).
  • Ist keine der Checkboxen gesetzt, verschwinden sie komplett von der Detailseite. Stattdessen wird die Checkbox In Vertec Menüs anzeigen auf der Hauptseite angezeigt. In diesem Fall greift das neue Verhalten (Code ab Vertec 6.7.0.12).

Code ab Vertec 6.7.0.12

Die Variable argobject steht im Script nicht zur Verfügung. Stattdessen gibt es die Variable selectedobjects. Diese enthält die Liste der für die Ausführung des Scripts gewählten Objekte:

  • Nutzt man die Funktion per Rechtsklick auf eines oder mehrere Elemente in der Liste, ist dies eine Liste mit den gewählten Objekten als Inhalt.
    • Ist nur ein Objekt ausgewählt oder wird das Script auf einem einzelnen Eintrag aufgerufen, ist es eine Liste mit einem Element.
  • Nutzt man die Funktion mit Rechtsklick auf einen Container (Ordner), ist es eine Liste der Containereinträge.
    • Ist das Script auf einen Container bzw. Ordner registriert (Feld Klassen), ist es eine Liste mit dem (oder den) ausgewählten Container(n).
for obj in selectedobjects: 
    ...

Code vor Vertec 6.7.0.12

Die Variable argobject liefert das zurzeit aktuelle Objekt (den aktuellen Eintrag) in Vertec.

  • Bei Scripts, die auf einzelne Objekte anwendbar sind, ist dies ist der Eintrag, von welchem aus das Script ausgeführt wird.
    projekt = argobject
    • Wird das Script per Rechtsklick auf einen einzelnen Eintrag in einer Liste ausgeführt, gibt es zusätzlich de Variable currentobject, welche den übergeordneten Container (Ordner) enthält.
  • Bei Scripts, die auf Listen (Container) anwendbar sind, enthält es den Container, auf welchem das Script ausgeführt wird. Die Einträge in der Liste sind über argobject.eintraege aufrufbar.
    projektlist = argobject.eintraege
    for projekt in projektlist:
        ...

 

 

 

Kontakt

Montag bis Freitag
9-12 und 14-17 Uhr

Vertec 30 Tage kostenlos ausprobieren

Lernen Sie unsere Software mit allen Kernfunktionen kennen

Jetzt testen
Bitte wählen Sie Ihren Standort