Copies the list settings of folders, link containers, and resource planning views
Product line
Standard
|Expert
Operating mode
CLOUD ABO
|ON-PREMISES
Modules
Services & CRM
Budget & Phases
Purchases
Resource Planning
Business Intelligence
Copies the list setting of a folder, link container, or resource planning view to the current view.
It is important to pay careful attention to what is being transferred. If list settings are transferred to locations where they do not fit, Vertec can crash.
Therefore, we recommend that you do not register the script, but use it through the Script Editor.
You can also define list settings that you want to use for all lists of a class (e.g. all address lists) as default. See the article about list settings – Button Als Standard speichern
.
Vertec version | Special feature Version | Scripting |
---|---|---|
From Vertec 6.6 | Takes into account dynamic columns and can also run on resource planning views. | Copylistsettings.py |
The script must be run on the folder / link container that you want to get the list settings.
Select it and then open the Script Editor .
Run the script. A browser will appear where you can select the folder / link container from which you want to copy the list settings.
The list settings of tables in resource planning are done as usual via the button Listeneinstellungen
directly on the table.
However, the copying takes place on the definition of the resource planning view. These are under Einstellungen > Ressourcenplanung > Ressourcenplanungsansichten
to find.
Open the resource planning view to which you want to transfer list settings, then open the Script Editor and run the script.
A browser appears where you can select the resource planning view from which the list settings are to be copied.
# coding: windows-1252 # #---Bezeichnung: Listeneinstellungen kopieren # Klassen: Eintrag # CondExpression: # ObjectScript: No # ContainerScript: Yes # EventType: Kein # EventClass: # EventMembers: # ExtendedRights: N #---Kopiert die Listeneinstellung eines anderen # Ordners in den aktuellen Ordner. Muss auf dem Ordner # ausgeführt werden, der die Listeneinstellungen erhalten soll. # Der Ordner, von dem die Listeneinstellungen übernommen werden sollen, # kann über eine Ordnerauswahl ausgewählt werden. #---28.11.2005, Vertec AG: erstellt #---15.10.2013, mw: Angepasst auf 5.8: xTranslation gelöscht, Abbruchbedingungen implementiert. #---10.03.2017, sr: Script in Python erstellt #---21.03.2017, tk: Script ist auch auf LinkContainern ausführbar #--- Kopieren der Attribute editing, ghostrow und controlDefinition #---20.03.18, tik: Angepasst auf 6.2: Verweis auf alte Attribute entfernt (fontSize, fontName etc.) #--- Exceptionhandling geändert, sodass Fehlermeldungen an den Anwender durchgereicht werden #---08.10.2021, ll: Zeile if not sourceid.isnumeric(): angepasst. #---24.11.2021, Funktion copymlmember und selectobjectintree hinzugefügt. #---01.03.2022, uhe: Sprache DD hinzugefügt. #---02.08.2022, sth: Member 'isFixed' hinzugefügt. #---04.05.2023, tha: Angepasst an 6.6: Funktionalität um ViewTypes erweitert, Member 'isDynamic' hinzugefügt #---08.05.2023, sth: copymlmember korrigiert, Abschlussmeldung hinzugefügt lngList = ['DE','DD','EN','FR','IT','NV'] def copymember(sourcegridcol, destinationgridcol, name): setattr(destinationgridcol, name, getattr(sourcegridcol, name)) def copymlmember(sourcegridcol, destinationgridcol, name): for lng in list(lngList): mlStr = sourcegridcol.getmlvalue(name, lng) if mlStr: destinationgridcol.setmlvalue(name, mlStr, lng) def main(destination): #Ist das aktuelle Objekt ein Ordner if not destination.eval("oclisKindOf(AbstractOrdner) or oclisKindOf(LinkContainer) or oclisKindOf(ViewType)"): vtcapp.msgbox('Sie können dieses Skript nur auf Ordnern, LinkContainern und Ressourcenplanungsansichten ausführen') return if destination.eval("oclIsKindOf(LinkContainer)"): destination = destination.rolle if destination: source = vtcapp.selectobjectintree("Zu kopierende Listeneinstellungen auswählen ", [], browsefilter="", selectfilter="AbstractOrdner, LinkContainer, ViewType") if source: #Analog zur destination if source.eval("oclIsKindOf(LinkContainer)"): source = source.rolle #Erst werden die bestehenden GridDef's gelöscht. for griddef in list(destination.griddefs): destination.griddefs.remove(griddef) #Hole nun die GridDefs des Source-Ordners for griddefs in source.griddefs: griddefd = vtcapp.createobject('GridDef') destination.griddefs.append(griddefd) #Kopiere die GridDefs copymember(griddefs, griddefd, 'klasse') copymember(griddefs, griddefd, 'zeilenhoehe') copymember(griddefs, griddefd, 'editing') copymember(griddefs, griddefd, 'ghostrow') #---Kann nun die gridcoldefs kopieren. for gridcols in griddefs.gridcols: gridcold = vtcapp.createobject('GridColDef') griddefd.gridcols.append(gridcold) copymember(gridcols, gridcold, 'alignment') copymember(gridcols, gridcold, 'breite') copymember(gridcols, gridcold, 'color') copymember(gridcols, gridcold, 'controlName') copymember(gridcols, gridcold, 'expression') copymember(gridcols, gridcold, 'writeableExpression') copymember(gridcols, gridcold, 'fontColor') copymember(gridcols, gridcold, 'nurLesen') copymember(gridcols, gridcold, 'orderIdx') copymember(gridcols, gridcold, 'isFixed') copymember(gridcols, gridcold, 'isDynamic') copymember(gridcols, gridcold, 'rendererName') copymember(gridcols, gridcold, 'sortOrder') copymember(gridcols, gridcold, 'summiert') copymember(gridcols, gridcold, 'tabStop') copymlmember(gridcols, gridcold, 'titel') copymember(gridcols, gridcold, 'controlDefinition') # Nur für Ordner: if source.eval('oclisKindOf(AbstractOrdner)') and destination.eval('oclisKindOf(AbstractOrdner)'): destination.tabsproklasse = source.tabsproklasse vtcapp.msgbox('Kopiervorgang beendet') main(argobject)