Script: SQL-Ordner kopieren

Dupliziert einen SQL-Ordner inkl. Abfragen

Standard

|

Expert

CLOUD ABO

|

ON-PREMISES

Leistung & CRM

Budget & Teilprojekt

Fremdkosten

Ressourcenplanung

Business Intelligence

Erstellt: 27.09.2016
Aktualisiert: 19.10.2023 | Python-Script ersetzt: Kopiert auch den List Controller Namen.

Kopiert den aktuellen SQL-Ordner inklusive aller Abfragen und fügt ihn in einen Zielordner ein. Der Zielordner wird über die ID angegeben. Diese finden Sie auf dem Zielordner mit rechter Maustaste > Eigenschaften > Interne Id.

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 in Python. Kopiert auch den List Controller Namen. CopySQLOrdner.py

Scripttext

#---Bezeichnung: SQL-Ordner kopieren
#   Klassen: Eintrag
#   ObjectScript: No
#   ContainerScript: Yes
#   EventType: Kein
#---Das Skript kopiert den aktuellen Ordner als Sub-Ordner
#   eines anderen Ordners.
#   Der neue Parenordner muss über die ID angegeben werden.
#   Die ID finden Sie auf dem Ordner mit rechter Maustaste > Eigenschaften.
#---11.11.2011, cp: erstellt.
#---27.09.2016, sr: msgbox durch vertec.msgbox und inputbox
#   durch vertec.inputbox ersetzt.
#---15.06.2018, sth: Script in Python übersetzt. Voraussetzung: Vertec 6.2
#---19.10.2023, sth: Kopiert auch das Feld List Controller ab Vertec 6.6

def main(ordner):
    parentord = None
    if not ordner.eval('oclisKindOf(SqlOrdner)'):
        vtcapp.msgbox('Sie können dieses Skript nur auf einem SQL-Ordner ausführen.')
    else:
        # Neuen Parentordner bestimmen
        parentid = vtcapp.inputbox('Vertec','Geben Sie die ID des neuen Parentordners an.','')
        if parentid:
            try:
                parentord = vtcapp.getobjectbyid(parentid)
            except:
                vtcapp.msgbox('Es wurde kein Ordner mit dieser ID gefunden. Der Kopiervorgang wurde abgebrochen.')
            else:
                try:
                    newordner = vtcapp.createobject("SqlOrdner")
                    newordner.parentordner = parentord
                    # kopiere alle Member
                    newordner.allowShowAll = ordner.allowShowAll
                    newordner.orderClause = ordner.orderClause
                    newordner.showDialog = ordner.showDialog
                    newordner.whereClause = ordner.whereClause
                    newordner.classname = ordner.classname
                    newordner.creatorTypes = ordner.creatorTypes
                    newordner.dialogParamsInitialized = ordner.dialogParamsInitialized
                    newordner.expression = ordner.expression
                    newordner.searchConfiguration = ordner.searchConfiguration
                    newordner.bezeichnung = ordner.bezeichnung
                    newordner.tabsProKlasse = ordner.tabsProKlasse
                    newordner.idx = ordner.idx
                    newordner.persistentIcon = ordner.persistentIcon
                    newordner.bemerkung = ordner.bemerkung
                    newordner.controllerclassname = ordner.controllerclassname
                except Exception as e:
                    vtcapp.msgbox('Beim Erstellen des neuen Ordners ist ein Problem aufgetreten. Der Kopiervorgang wurde abgebrochen.\nDer Fehler lautet: %s' % str(e))

main(argobject)
Bitte wählen Sie Ihren Standort