Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: bruder am 05.11.02 - 10:38:34
-
Hallo,
nachdem wir auf R5 umgestellt haben, bin ich dabei, die erste DB unter R5 zu machen.
Die DB hat 3 Frames (Navigation, Ansichten, Dokumente). Nun möchte ich ein angezeigtes Dokument über den Navigationsframe löschen. Das ganze funzt allerdings nicht. Habe mich schon totgesucht und auch Versuche mit LotusScript gestartet, aber..... (Entweder wird mir gesagt, dass der Befehl nicht ausgeführt werden kann, oder dass das Dokument keine ID hätte).
Kann mir jemand helfen?
Danke schonmal
Jürgen
-
Ich bin selbst Anfänger, aber vielleicht kann ich trotzdem was Sinnvolles beitragen:
Hast du schon versucht, das angezeigte Dokument im Frontend (also im NotesUIWorkspace, NotesUIDocument) zu schließen und dann im Backend (NotesDocument) zu löschen?
Ich könnte mir vorstellen, dass es Probleme gibt, ein Dokument aus einer DB zu löschen, das gerade noch angezeigt wird...
Ich hoffe, das hat was gebracht ::)
Viele Grüße
Jérôme
-
Hallo,
hört sich logisch an, aber, wie geht das?!?!?!??
(Wie gesagt, bin Anfänger!!!)
Gruß
Jürgen
-
ui, am besten schaust du dir mal die Klassem "NotesUIWorkSpace", "NotesUIDocument" und "NotesDocument" an.
Normalerweise hast du ja das Dokument, das gerade in deinem anderen Frame angezeigt wird, irgendwie geöffnet, hast also ein NotesDocument-Objekt, in dem es gespeichert ist.
In der Klasse "NotesUIWorkspace" gibt es eine Methode "EditDocument", mit der du ein NotesUIDocument zurückgeliefert bekommst, das du mit der Methode "Close" schließen kannst.
Im NotesUIDocument gibt es eine Eigenschaft "Document", die dir ein NotesDocument zurückliefert, das du eigentlich dann löschen können müsstest.
-
Hi,
hier das Beispiel aus der Notes-Hilfe (ausgelöst durch eine Schaltfläche im gerade aktuell geöffneten Dokument):
Drittes Beispiel für: Remove method
This script gets the universal ID of the current UI document, marks the document for deletion and closes it. The script then retrieves the back-end NotesDocument object from the database and removes it with the NotesDocument Remove method.
Dim session As New NotesSession
Dim db As NotesDatabase
Dim workspace As New NotesUIWorkspace
Dim uidoc As NotesUIDocument
Dim docA As NotesDocument
Dim s As String
Set db = session.CurrentDatabase
Set uidoc = workspace.CurrentDocument
Set docA = uidoc.document
s = docA.UniversalID
Call uidoc.deletedocument()
Set docB = db.getDocumentByUNID(s)
Call docB.Remove(True)
Call workspace.viewrefresh()
Kann aber ganz schöne Probleme bei den Usern geben ("Wieso gelöscht, ich habe doch nur auf speichern geklickt, ach so, ja, die sieht ja genauso aus, etc.")
Löschflag setzen und dadurch nicht mehr in der Ansicht anzeigen lassen, könnte Kopfschmerzen ersparen...
!!!!
P.S. : Leider wird beim Verlassen der Datenbank nochmal eine Bestätigung der Löschung abgefragt (hat bei mir nur keine Auswirkung - egal ob ja/nein das Dokument ist weg).
!!!!
sloe