Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: mb am 02.12.03 - 16:36:10
-
Hallo!
Ich will automatisiert MailDBs anlegen.
DB kann ich erstellen.
ACL kann ich einstellen.
In allem anderen sind die DBs identisch (gleicher Name und Titel aber unterschiedliche Server).
Nur das Feld "Besitzer dieser Datenbank" (Web) "Diese Maildatei gehört:" (Notes-Client) muß ich noch anpassen. [Erreicht man zufuß über werkzeuge/Vorgaben.] Ich glaube, es heißt Owner.
Wie bekomme ich das per LS hin?
Wird das in einem Profildokument gespeichert?
Wenn ja, wie heißt es?
Meine bisherigen Versuche haben das Feld nicht verändert.
[Gespeichert wird das Dok. natürlich doc.save(true,false).]
Marc
-
Hi,
Wird das in einem Profildokument gespeichert?
Wenn ja, wie heißt es?
Es ist das calendarprofile. Es ist auch das Owner-Feld.
Zwei Sachen, die mir so spontan noch dazu einfallen:
- Den Namen im Kanonischen Format eintragen
- Das $BusyName-Feld sollte besser mit gefüllt werden. Entweder direkt den Namen mit eintragen oder ein computewithform im Script mit einbauen.
-
Greife ich das Profildok. dann so:
set doc = db.getprofiledocument("calendarprofile") ?
Marc
-
Genau so.
Der korrekte Name des ProfileDocs ist übrigens "CalendarProfile", aber bei der Schreibweise ist Notes ja nicht so pingelig ;-)
Und wie Harvey schon schrieb: Mach' sicherheitshalber NACH dem Setzen des Owner-Felds ein ComputeWithForm. Check' dann mal nach Deinem ersten Versuch das $BusyName.
HTH,
Bernhard
-
Hat funktioniert, danke!
ComputeWithForm hatte ich vorher schon drin und $BusyName kommt jetzt auch mit rein.
Marc
-
Hi, Marc,
ComputerWithForm nach Eintrag von Owner ssollte schon reichen, da $BusyName ein berechnetes Feld ist ;-)
Bernhard
-
Ich kriege aber unmittelbar, nachdem der agent fertig ist, die Fehlermeldung:
02/12/2003 17.40.38 SchedMgr: Error processing calendar profile document
(NoteID: NT000008FA) in database mail/ust_ahe.nsf: Can't find $BusyName field
on profile
Code:
profilname = "CalendarProfile"
Set doc = db_ziel.GetProfileDocument(profilname)
Call doc.ReplaceItemValue("Owner",acl_name)
Call doc.AppendItemValue("$BusyName",acl_name)
Call doc.ComputeWithForm(True,False)
Call doc.save(True,False)
Bei $BusyName hab ich es vorher auch schon mit ReplaceItemValue versucht.
-
Was steht denn in $BusyName nach Deiner Aktion tatsächlich drin ?
Lass sonst mal spassenhalber die Belegung des $BusyNames weg - das macht ja ComputeWithForm. $BusyNames ist ein Names-Feld, Du legst aber ein Textfeld an - vielleicht mag er das nicht ? Lass es mal ComputeWithForm erledigen.
Ist Dein acl_name auch ein gültiger hierarchischer Notes-Name ?
Tip für kürzere Schreibweise:
doc.Owner = acl_name
Für den Spezialfall Systemfelder (mit Dollar) musst Du Mathilde bemühen:
doc.~$BusyName = doc.Owner (0) (oder = acl_name)
Bernhard
-
Mathilde ..... :D