Das Notes Forum
Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: Matthias22 am 21.06.06 - 13:19:21
-
Hallo,
ich möchte für NotesDatenbanken die Deletion Stubs ermitteln.
Dies sollte mit Lotus Script funktionen.
Das manuelle Ermitteln per NotesPeek ist mir bekannt.
Hat jemand einen Tip für mich? Vielen Dank!
Gruß
Matthias
-
Mein Tipp, Miracel-Whip!
Schau dir mal die Designer-Hilfe an.
Search "Deletion Stub" bringt mich zur "IsValid" property vom Notesdocument.
Weitere Tipps geb' ich erst, wenn du damit nicht mehr weiterkommst ;D
Grüsse
Moritz
-
Wahlweise kannst Du dir auch mal das Beispiel zum PostDocumentDelete Event in der Designerhilfe anschauen.
-
Hallo,
"IsValid" hatte ich im Designer-Hilfe schon gefunden.
Die Dokumente lese ich über eine View aus, teste diese mit "IsValid",
dabei finde ich keine Deletion Stubs.
In der View (select @all) selbst (view.AllEntries.Count) sind
auch keine enthalten.
Ebenso liefert mir
Set collection = db.AllDocuments
print collection.Count
nur die Anzahl der Dokumente die keine Deletion Stubs sind.
Auch bei db.Alldocuments.Count erhalte ich nur die Dokumentanzahl
für gültige Dokumente.
Wende ich "IsValid" falsch an!?
Gruß
Matthias
-
Die kurze Antwort "Ja"
Da dir die kurze Antwort aber wahrscheinlich nichts nützt, hier noch der Tip. Du darfst nicht über eine normale View gehen, da in diesen ja keine gelöschten Dokumente enthalten sind. Meiner Meinung nach musst du hier über die Klasse NoteCollection eine selbige erstellen. In dieser sollten dann auch die Deletion Stubs sein.
Grüße
Ralf
-
Hallo Ralf,
erstmal danke!
Habe folgendes probiert:
Dim nc As NotesNoteCollection
Set nc = dbrep.CreateNoteCollection(False)
Call nc.SelectAllNotes(True)
Call nc.BuildCollection
Messagebox nc.Count
Dim nid As String, nextid As String
nid = nc.GetFirstNoteId
For i = 1 To nc.Count
'get the next note ID before removing any notes
nextid = nc.GetNextNoteId(nid)
Set doc = db.GetDocumentByID(nid)
If doc.IsValid = False Then
'hier zählen Deletion Stubs
End If
nid = nextid
Next
Messagebox ...Zähler Deletion Stubs
nc.Count liefert mir eine größere Zahl als Dokumente in der Datenbank sind, soweit gut, aber bei doc.IsValid = False findet er keine Deletion Stubs.
Gruß
Matthias
-
Es tut mir Leid, ich habe mich geirrt. Ich war ziemlich sicher, dass die NoteCollection auch gelöschte Dokumente enthält, aber dem ist leider nicht der Fall. Dann sehe ich leider keine Möglichkeit zu den gelöschten Dokumenten über Lotus script zu kommen.
Grüße
Ralf