Script: SQL-Ordner kopieren

Produktlinien: Expert
Module: Leistung & CRM
Erstellt: 27.09.2016, Änderung:
Python-Script ersetzt: Das Script kann auf Eintrag, Container registriert werden. Header angepasst.
Mehr ansehen

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
5.8 - 6.1 Verwendet die Vertec-Funktionen msgbox und inputbox (siehe dazu msgbox/inputbox: Beschreibung der Parameter) CopySQLOrdner.txt
6.2 Script in Python. Verwendet die SQL-Ordner ab Version 6.2 inkl. Sofort-Suche. 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

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