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?»
Script zum Testen der Performance von einzelnen Spalten eines Ordners
Produktlinie
Standard
|
Expert
Betriebsart
CLOUD ABO
|
ON-PREMISES
Module
Leistung & CRM
Budget & Teilprojekt
Fremdkosten
Ressourcenplanung
Business Intelligence
Erstellt: 01.03.2021
Aktualisiert: 01.03.2021
Dieses Python Script ermöglicht es, die Performance eines (über die ID angegebenen) Ordners zu ermitteln. Als Resultat wird eine Liste zurückgeliefert mit der Ladezeit der einzelnen Spalten.
Eruieren Sie dann die Interne Id des Ordners, den Sie analysieren wollen: Klicken Sie mit der rechten Maustaste auf den Ordner und wählen Sie Eigenschaften. Darin finden Sie die Interne Id:
Nun wechseln Sie in den Script Editor und klicken auf den Pfeil Ausführen (Ctrl+E). Es erscheint eine Inputbox, wo Sie die oben ermittelte ID des Ordners angeben:
Klicken Sie auf OK.
Im Ausgabefenster erscheint die Liste der Spalten mit den jeweiligen Ladezeiten:
Für die zu ermittelnden Spalten müssen Listeneinstellungen vorhanden sein, sonst erscheint die Meldung
Der angegebene Ordner hat keine persistenten Spaltendefinitionen. Sie können erstellt werden durch eine minimale Änderung, z.B. einer Spaltenbreite.
Wenn diese Meldung erscheint, können Sie im entsprechenden Ordner einfach eine Spalte etwas breiter machen oder sonst etwas ändern, danach funktioniert das Script.
Version
Ab Vertec Version 5.8.
In Cloud Clients mit eingeschaltetem Restrict Scripting ab Vertec 6.3.0.16 (verwendet das Modul time).
#
import time
import vtcapp
# Zu evaluierenden Ordner per interne ID definieren
ordid = vtcapp.inputbox("Ordnerperformance", "ID des Ordners eingeben", "")
try:
ord = vtcapp.getobjectbyid(ordid)
except:
vtcapp.msgbox("Kein Ordner mit dieser ID gefunden.",0,"Ordnerperformance")
else:
if not ord.evalocl("self->oclIsKindOf(AbstractOrdner)"):
vtcapp.msgbox("Kein Ordner mit dieser ID gefunden.",0,"Ordnerperformance")
else:
# Objekte des Ordners laden.
start = time.time()
lstobj = ord.evalocl("eintraege.list")
end = time.time()
print("{} Ordnerobjekte laden: {}".format(len(lstobj), str(end-start)))
# Spaltendefinitionen des Ordners(boldId) als Liste erzeugen
lstcols = ord.evalocl("gridDefs.gridcols->orderby(orderidx)")
# Falls keine Spaltendefinitionen vorhanden sind, dann gibt
# es vermutlich keine persistenten. Den User darauf hinweisen.
if not lstcols:
vtcapp.msgbox("Der angegebene Ordner hat keine persistenten Spaltendefinitionen. Sie können erstellt werden durch eine minimale Änderung, z.B. einer Spaltenbreite.",0,"Ordnerperformance")
else:
# zur Messung der Laufzeit durch Liste der Spalten iterieren
for col in lstcols:
start = time.time()
#zusätzlich durch die Ordnerelemente iterieren, um das
#Berechnen der OCL-Expression für jede Zeile/Zelle zu simulieren
for obj in lstobj:
temp = obj.evalocl(col.expression)
end = time.time()
if col.titel:
titel = col.titel
else:
titel = "(kein Spaltentitel)"
print(titel.encode() + ':', str(end-start))