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?»

Script: Ordnerperformance testen

Script zum Testen der Performance von einzelnen Spalten eines Ordners

Standard

|

Expert

CLOUD ABO

|

ON-PREMISES

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.

Vorgehen

Kopieren Sie untenstehenden Scripttext in den Script Editor.

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).

Script

EvalOrdnerperformance.py

Scripttext

#
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))
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