Script: SQL-Ordner kopieren

Dupliziert einen SQL-Ordner inkl. Abfragen

Kopiert den aktuellen SQL-Ordner inklusive aller Abfragen und fügt ihn in einen auszuwählenden Überordner ein.

Nicht kopiert werden die Listeneinstellungen. Falls Sie diese ebenfalls übernehmen möchten, verwenden Sie dafür das Script Listeneinstellungen kopieren.

Version

Version Beschreibung Script
6.6

Script für Vertec Versionen vor 6.7.0.12 sowie zur Ausführung im Script Editor für alle Versionen.
Der neue Überordner wird über die Interne ID angegeben.

CopySQLOrdnerArgobject.py
6.7.0.12

Verwendet selectedobjects. Der neue Überordner wird in einem Auswahldialog abgefragt.

CopySQLOrdner.py
6.8.0.7 Verwendet englische Klassen- und Membernamen sowie die neuen Felder isExpandable, openInNavigationViewassignedDimensionDisplays und visibleExpression. CopySQLFolder.py

Scripttext

#---Designation: Copy SQL folder
#   Classes: SQLFolder
#   Selectedobjectsscript: Yes
#   Condexpression: self->size = 1
#---The script copies the current folder and appends it to a parent folder 
#   to be selected in a selection dialog
#---15.09.2025, sth: Adapted to version 6.8, English, new fields
#   Requires Vertec version 6.8.0.7.

def main(folderlist):
    for folder in folderlist:
        parentfolder = None
        # Evaluate new parent folder
        parentfolder = vtcapp.selectobjectintree("Select parent folder for new folder", [], browsefilter="", selectfilter="AbstractFolder")
        if parentfolder:
            try:
                newfolder = vtcapp.createobject("SqlFolder")
                newfolder.parentfolder = parentfolder
                # copy all members
                newfolder.allowShowAll = folder.allowShowAll
                newfolder.orderClause = folder.orderClause
                newfolder.showDialog = folder.showDialog
                newfolder.whereClause = folder.whereClause
                newfolder.classname = folder.classname
                newfolder.creatorClasses = folder.creatorClasses
                newfolder.dialogParamsInitialized = folder.dialogParamsInitialized
                newfolder.expression = folder.expression
                newfolder.searchConfiguration = folder.searchConfiguration
                newfolder.designation = folder.designation
                newfolder.tabsPerClass = folder.tabsPerClass
                newfolder.idx = folder.idx
                newfolder.persistentIcon = folder.persistentIcon
                newfolder.remarks = folder.remarks
                newfolder.controllerClassname = folder.controllerClassname
                newfolder.isExpandable = folder.isExpandable
                newfolder.openInNavigationView = folder.openInNavigationView
                newfolder.visibleExpression = folder.visibleExpression
                for biview in folder.assignedDimensionDisplays:
                    newfolder.assignedDimensionDisplays.append(biview)                
                vtcapp.msgbox("Copying process completed")
            except Exception as e:
                vtcapp.msgbox('There was a problem creating the new folder. The copying process was aborted.\nThe error is: {}'.format(e))
                continue

main(selectedobjects)

Netherlands

United Kingdom