Das Notes Forum
Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: MrMagoo am 28.05.03 - 12:47:32
-
Hallo zusammen,
ich habe folgendes Problem:
Ich habe ein Hauptdokument mit Antworten und Rückantworten und darauf wieder Rückantworten. Normalerweise ist es ja so, das wenn ein Haupftdok gelöscht wird auch die Antworten und alle Rückantworte gelöscht werden.
Wie verhält sich das aber bei z.B. Rückantworten und Rückantworten als Antwortdokument auf die erste Rückantwort?
-
Normalerweise ist es ja so, das wenn ein Haupftdok gelöscht wird auch die Antworten und alle Rückantworte gelöscht werden.
Hi,
wieso soll das normalerweise so sein?
Normal ist das so, wenn du ein Hauptdokument löschst, dann ist es weg (logisch, so soll's ja auch sein). Aber evt. vorhandene Antwortdoks sind nach wie vor noch in der DB als Leichen vorhanden. Sie werden nicht gelösct.
Das ist bei Antwortdocs die Rückantworten haben genauso. Wird das Antwortdokument gelöscht, bleibt die Rückantwort als Leiche im Keller.
Du musst selbst dafür sorgen, dass evt. vorhandene Antworten mit gelöscht werden.
Füge dazu im Datenbankscript im PostDocumentDelete - Event folgenden Code ein:
Sub Postdocumentdelete(Source As Notesuidatabase)
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim i As Integer
Set collection = Source.Documents
If collection.Count = 0 Then
Exit Sub
Else
For i = 1 To collection.Count
Set doc = collection.GetNthDocument(i)
Call DeleteResponseDocs(doc)
Call doc.Remove(True)
Next 'For i = 1 To collection.Count
End If 'If collection.Count = 0 Then
End Sub
Die dazugehörige Funktion DeleteResponseDocs sieht so aus:
Sub DeleteResponseDocs (doc As NotesDocument)
Dim responses As NotesDocumentCollection
Dim tmpdoc As NotesDocument
Dim dummy As NotesDocument
Set responses = doc.Responses
Set dummy = responses.GetFirstDocument
While Not (dummy Is Nothing)
Set tmpdoc = responses.GetNextDocument(dummy)
Call DeleteResponseDocs(dummy)
Call dummy.Remove(True)
Set dummy = tmpDoc
Wend 'While Not (dummy Is Nothing)
End Sub
Axel
-
Normalerweise ist es ja so, das wenn ein Haupftdok gelöscht wird auch die Antworten und alle Rückantworte gelöscht werden.
Hi,
wieso soll das normalerweise so sein?
Normal ist das so, wenn du ein Hauptdokument löschst, dann ist es weg (logisch, so soll's ja auch sein). Aber evt. vorhandene Antwortdoks sind nach wie vor noch in der DB als Leichen vorhanden. Sie werden nicht gelösct.
Wird das Hauptdokument gelöscht, haben die nachfolgenden Antwort- und Rückantwortdokumente quasi keine Existenzberechtigung mehr-sie werden ebenfalls gelöscht.
vgl. Anwendungsentwicklung unter Lotus Notes von Knäpper, Perc u. Perplies S.128
Dann steht das falsch in dem Buch oder zumindest unglücklich ausgedrückt. Das hatte mich verwirrt.
Aber danke für die Antwort, ich probiere das mal
Gruß
-
... das bezieht sich wohl auf die versionsverwaltung, die ein paar zeilen höher angesprochen wird. aber es stimmt, das ist besch.. geschrieben ;D
-
MrMagoo
da hilft eher eine "normale" rekursive Funktion ;D ;D ;D
cu
-
Hi,
ich hab mir die entsprechende Seite durchgelesen. Ich glaube, dass was dort über das Löschen von Haupt- und Antwortdokumenten steht, schlicht weg falsch ist. Ich denke nicht, dass sich das auf die Versionsverwaltung bezieht, denn das sind auch nur Haupt- und Antwortdokumente.
Hier noch zwei Auszüge aus anderen Büchern zum Vergleich.
Auszug aus Domino/Notes5 - Netz-Applikationen entwickeln und managen, Seite 469
...
Beachten Sie bitte: Wird ein Hauptdokument gelöscht, so verschwinden auch alle unmittelbaren und mittelbarenAntworten aus der Ansicht, obwohl sie physikalisch noch vorhanden sind. In einer Ansicht ohne Antworthierarchie können Sie die Antwortdokumente weiterhin sehen.
...
Auszug aus Domino Designer R5, Seite 305
...
Antwort-Dokumente werden dem jeweiligen Eltern-Dokument in hierarchischen Ansichten zugeordnet und unterhalb von diesem angezeigt. Wird das Elterndokument gelöscht, werden die Antwort-Dokumente nicht mehr in der hierarchischen Ansicht angezeigt, obwohl sie sehr wohl noch vorhanden sind.
...
Axel