Nimmt das Adresslayout des aktuellen Adresseintrags und überträgt es auf alle Adresseinträge der gleichen Art (Firma, Person, Kontakt oder Paar).
Dieses Script sollte mit Vorsicht und ausschliesslich im Script Editor verwendet werden, da es wirklich alle Layouts der gleichen Adressart überschreibt. Der Vorgang kann nicht rückgängig gemacht werden.
Einzelner Adresseintrag, welcher das zu übertragende Layout beinhaltet.
#---Bezeichnung: Adresslayout einer Adresse auf andere übertragen
# Klassen: Adresseintrag
# ObjectScript: Yes
# ContainerScript: No
# EventType: Kein
#---Dieses Script nimmt das Adresslayout des aktuellen
# Adresseintrags und überträgt es auf alle Adresseinträge, die
# vom gleichen Typ (EinfacheAdresse, Firma, Person oder Kontakt) sind.
#---30.01.2004, Vertec AG: erstellt
#---07.05.2007, sr: Angepasst an argobject und vertec
#---04.03.2008, cp: Ergänzt um dynamische Anrede und Briefanrede
#---30.04.2009, bn: On Error eingefügt um Fehler abzufangen
#---25.10.2013, sr: msgox auf vertec.msgbox geändert
#---22.02.2019, sth: Script in Python umgeschrieben
def main():
vtcapp.updatedatabase
obj = argobject
if obj.eval('oclisKindOf(Adresseintrag)'):
layout = obj.defaultadresse
lay = layout.adresslayout
typ = obj.evalocl("oclType.asString")
adrlist = vtcapp.evalocl(typ + ".allInstances")
for adresse in adrlist:
try:
adresse.anredetemplate = obj.anredetemplate
adresse.briefanredetemplate = obj.briefanredetemplate
layout = adresse.defaultadresse
layout.adresslayout = lay
except:
if vtcapp.msgbox("Das Adresslayout konnte für folgende Adresse nicht gesetzt werden: %s. Wollen sie fortfahren?" % adresse.evalocl("self.asstring"),4) == 6:
continue
else:
return
else:
vtcapp.msgbox("Dieses Skript muss auf einer einzelnen Adresse ausgeführt werden, von welcher das Layout auf alle Adressen dieses Typs übertragen wird.")
vtcapp.updatedatabase
main()