Vertec hat eine Python Engine eingebunden, um benutzerdefinierte Scripts auszuführen und Vertec damit steuern zu können. Aus einem Vertec Python Script heraus ist wiederum das ganze Vertec Objektmodell
zugänglich.
Eine detaillierte Beschreibung aller Vertec Python Funktionen finden Sie im Artikel Vertec Python Funktionen
.
Und hier finden Sie eine Kurzeinführung in die Python Programmierung
.
Scripts können entweder direkt ausgeführt (Linie Standard + Expert) oder registriert (Linie Expert) werden:
Scripts on the fly ausführen
Um Scripts in Vertec direkt auszuführen, gibt es den Script Editor. Diesen öffnen Sie über Menü Einstellungen > Script Editor
.
Zusätzlich kann in der Python Konsole zeilenbasiert Python Code ausgeführt werden. Die Python Konsole öffnet sich über Menü Einstellungen > Python Konsole ein-/ausblenden
oder über die Funktionstaste F3
.
Eine detaillierte Beschreibung des Script Editors sowie der Python Konsole finden Sie im Artikel Der Script Editor
.
Scripts registrieren und über das Menü aufrufen
Scripts, die immer wieder verwendet werden, können in Vertec so registriert werden, dass sie über den Menüpunkt Aktionen
oder im Kontextmenü (rechte Maustaste) direkt aufgerufen werden können (Linie Expert). Siehe dazu den Artikel über das Registrieren von Scripts.
Scripts für Events registrieren
Scripts können auch auf gewisse Ereignisse in Vertec reagieren (Linie Expert). Tritt ein solches Ereignis (Event) ein, wird das Script automatisch getriggert und ausgeführt. Eventscripts eignen sich vor allem, um wiederkehrende Abläufe kundenspezifisch abzubilden.
Alle Informationen dazu finden Sie im Artikel Scripts auf Events
.
Scripts als Module registrieren
In Python ist es möglich, Funktionen aus anderen Scripts aufzurufen. Funktionen, welche öfters bzw. in mehreren Scripts verwendet werden, können in ein eigenes Script ausgelagert werden (Linie Expert). Dieses Script ist dann ein Modul, die Bezeichnung des Scripts der Modulname.
Auch für Custom Renderer und List Controller, sowie für kundenspezifische Anpassungen der Ressourcenplanung und von Schnittstellen (Extensions) werden Scripts als Module verwendet.
Alle Informationen dazu finden Sie im Artikel Scripts als Module
.
Mit der Vertec Installation werden verschiedene Python Module ausgeliefert, welche die Interaktion mit der Vertec Businesslogik ermöglichen. Sie sind nach der Installation automatisch verfügbar. Das wichtigste heisst vtcapp und stellt diverse grundlegende Funktionen bereit. Die vollständige Liste findet sich im Artikel Vertec Python Funktionen
.
Methode/Funktion |
Beschreibung |
Beispielcode |
createobject(klasse: string) |
Erstellt ein neues Objekt der angegebenen Klasse. |
leistung=vtcapp.createobject("OffeneLeistung")
|
currentlogin(): Projektbearbeiter |
Aktuell angemeldeter User |
>>> bearbeiter = vtcapp.currentlogin() >>> bearbeiter.name Christoph Keller
|
evalocl(expression: string): expressiontype |
Globale OCL Expression auswerten. |
projektListe = vtcapp.evalocl("Projekt.allinstances->orderby(code)")
|
"evalocl" (eine OCL Expression auswerten)
Mit evalocl wird auf einem Objekt bzw. auf einer Liste von Objekten eine OCL Expression
ausgewertet.
Beispiel:
# Rechnung
obj = argobject
Leistungen = obj.evalocl("leistungen")
# Summe von Leistungen
SummeLeistungen = Leistungen.evalocl("if self->first.rechnung.verrechnet then\
oclastype(VerrechneteLeistung).wertext else oclastype(OffeneLeistung).wertext endif->sum")
Globale OCL-Variablen (also solche, die sich auf das gesamte Vertec und nicht auf ein einzelnes Objekt oder eine einzelne Liste beziehen) werden über vtcapp.evalocl
ausgewertet (siehe Das Modul vtcapp weiter oben).