Domino 9 und frühere Versionen > ND6: Entwicklung
Aus Vorlage erstellten Ordner öffnen
Barbara:
Hallo zusammen,
ich beziehe mich auf folgenden Thread: http://atnotes.de/index.php/topic,33592.0.html
Will Ihn nicht wieder hochholen, da es nun um das weiterführende Problem geht.
Also,
- View, dessen Gestaltung verwendet werden soll, als Objekt holen
- über NotesView.UniversalID und NotesDatabase.GetDocumentByUNID den View als Dokument-Objekt holen
- Dokument mit notesDocument.CopyToDatabase kopieren
- entsprechende Felder in dem Dokument ändern und speichern
funktioniert. Ordner ist da, kann angesprochen und gefüllt werden. Jetzt möchte ich ihn auch im Frontend geöffnet haben, dabei laufe ich an die Wand.
Habe mit uidatabase.close und ws.opendatabase rumprobiert, bekomme immer die Meldung:
Ungültiges oder nicht vorhandenes Dokument - und zwar immer dann, wenn ich den Ordner öffnen will.
Wie schließt und öffnet man eine Datenbank richtig? Oder anders gefragt, wie erkläre ich der Datenbank, dass sie den Ordner sehr wohl besitzt?
Gruß
Barbara
Driri:
Wie versuchst Du denn, den Ordner zu öffnen ?
Barbara:
Hallo Ingo,
ich poste mal das ursprüngliche script.
If key<>"" Then
'Ordner leeren , wenn nicht da neu erstellen
viewname="Kalender_" & key
Set view=db.getView(viewname)
If Not view Is Nothing Then
Set vc = view.AllEntries
Call vc.RemoveAllFromFolder(view.Name)
Else
ID=template.UniversalID
Set viewdoc=db.GetDocumentByUNID(ID)
Set newdoc= viewdoc.CopyToDatabase(db)
Call newdoc.ReplaceItemValue("$Name",viewname)
Call newdoc.ReplaceItemValue("$Title",viewname)
Call newdoc.Save(True,True)
Set view=db.getView(viewname)
End If
'Ordner neu befüllen
Suche= { @contains(FirmaStandort;"} & key & {") & Ereignis != "3"}
Set col=db.Search(Suche,Nothing,0)
Call col.PutAllInFolder( view.name)
Call ws.OpenFrameSet("Root")
Call ws.settargetframe("RootMain")
Call dbui.OpenView(viewname)
Call ws.ViewRefresh
End If
später habe ich dann vor und nach dem Rahmen setzten versucht mit dbui.close etc. die Datenbank zu schließen und wieder zu öffnen - da bin ich dann gescheitert. Habe dann irgendwann den Überblick verloren.
Ich hoffe auf den berühmten Schubs von Euch :)
Gruß
Barbara
Driri:
Weil mir das irgendwie bekannt vorkam, habe ich mal in der KB gesucht :
Folders created using back-end LotusScript methods do not appear in database
Da scheinst Du mit leben zu müssen. Angeblich soll ein Reopen der Datenbank helfen.
Barbara:
genau, soweit war ich auch schon und hier liegt mein Problem:
wie geht das mit dem "Reopen"
hier meine Bemühungen, die in dem Fehler "Ansicht oder Navigator "Name" existiert nicht" enden:
ID=template.UniversalID
Set viewdoc=db.GetDocumentByUNID(ID)
Set newdoc= viewdoc.CopyToDatabase(db)
Call newdoc.ReplaceItemValue("$Name",viewname)
Call newdoc.ReplaceItemValue("$Title",viewname)
Call newdoc.Save(True,True)
Call dbui.Close
Set dbui=Nothing
Set db=Nothing
Set dbui=ws.CurrentDatabase
Set db=dbui.Database
Set view=db.getView(viewname)
Call ws.OpenDatabase(db.Server, db.FilePath)
Call ws.OpenFrameSet("Root")
Call ws.settargetframe("RootMain")
Call dbui.OpenView(viewname)
Im debugger sieht man alle Objekte, scheinbar alles ok.
Barbara
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln