Autor Thema: Designupdate - Überschreiben Vererbung eines einzelnen Designelements  (Gelesen 2051 mal)

Matze84

  • Gast
Hallo zusammen!

Ich habe ein Template (ntf) , welches als Mastertemplate für eine Reihe von Notes Datenbanken (nsf) fungiert.  Das Template enthält eine Maske und eine Scriptbibliothek, die von einem anderen Template erben.

Nach Änderungen im Template, soll die Vererbung bei der Maske und der Scriptbibliothek überschrieben werden (d.h. es soll nicht mehr von einem anderen Template geerbt werden). Wenn ich diese Änderungen im Template vornehme, dann wird das über den Design-Refresh Prozess jedoch nicht an die Notes Datenbanken weitergegeben, sondern die beiden Designelemente bleiben vor Änderungen geschützt.

Gibt es eine Möglichkeit wie ich die Änderungen aus dem Template in die Notes Datenbanken bekomme, ohne jede Datenbank im Designer zu öffnen und die Property "Inherit from the design template" bei den zwei Designelemente zu deaktiveren?

Gruß

Matthias

Matze84

  • Gast
Ich habe einen Lösungsansatz bei Stackoverflow gefunden:

http://stackoverflow.com/questions/1255549/remove-lotus-notes-design-element-inheritance-programatically

Code
Private Sub clearDesignInheritance(db As notesdatabase)
	On Error Goto errorthrower

	Dim nc As NotesNoteCollection
	Set nc = db.CreateNoteCollection(True) ' Select all note types...
	nc.SelectDocuments=False ' ...except data documents.

	Call nc.BuildCollection

	Dim noteid As String
	noteid = nc.GetFirstNoteId

	Dim doc As notesdocument

	Do Until noteid=""
		Set doc = db.GetDocumentByID(noteid)
		If doc.HasItem("$Class") Then
			Call doc.RemoveItem("$Class")
			Call doc.save(False,False,False)
		End If
		noteid = nc.GetNextNoteId(noteid)
	Loop

	Exit Sub
ErrorThrower:
	Error Err, Error & Chr(13) + "Module: " & Cstr( Getthreadinfo(1) ) & ", Line: " & Cstr( Erl )
End Sub

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz