Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: TomLudwig am 17.11.03 - 10:24:03

Titel: Problem mit Responses
Beitrag von: TomLudwig am 17.11.03 - 10:24:03
Hallo ich habe folgenden Quellcode und möchte damit alle meine Antwortdokumente löschen

Sub deleteChilds (source As Notesuidocument)
   
   Dim doc As NotesDocument
   Dim responses As NotesDocumentCollection
   Dim dummy As NotesDocument
   Dim tmpdoc As NotesDocument
   
   Set doc = source.document
   Set responses = doc.Responses
   Set dummy = responses.GetFirstDocument
   While Not (dummy Is Nothing)
      Set tmpdoc = responses.GetNextDocument(dummy)
      Call dummy.Remove(True)
      Set dummy = tmpdoc
   Wend
   
End Sub

Die Variable "responses" ist aber nicht gesetzt. Muss das Hauptdokument gespeichert sein umd die Antwortdokumente zu löschen?
Titel: Re:Problem mit Responses
Beitrag von: klaussal am 17.11.03 - 10:30:13
... in der designer hilfe ist ein gutes beispiel. ein bisschen "verbiegen" und es sollte mit deiner anforderung gehen.
Titel: Re:Problem mit Responses
Beitrag von: TomLudwig am 17.11.03 - 10:40:09
Ich hab in der Hilfe nur ein Beispiel gefunden, welches beschreibt, wie man Dokumente in irgendwelche Ordner verschiebt.

Da wird aber nichts davon gesagt ob das Hauptdokument gespeichert sein muss. Oder wie man das umgeht....
Titel: Re:Problem mit Responses
Beitrag von: klaussal am 17.11.03 - 10:47:04
... also: das hauptdok muss gespeichert sein (sonst gäbe es ja wohl keine antwort-docs, oder ?).
in dem beispiel gibt es einen knopf, der alle doks incl haupt-dok in einen ordner verschiebt. verbiegen = anstatt in ordner verschieben = löschen und das hauptdok unangetastet lassen.
Titel: Re:Problem mit Responses
Beitrag von: TomLudwig am 17.11.03 - 10:51:21
Meine Antwortdokumente estelle ich mit LotusScript. Diese sind auch gespeichert.

Wenn ich nun das Hauptdokument nicht speichern will, sollen automatisch die erstellten Antwortdokumente und das Hauptdokument gelöscht werden.

Also müsste ich theoretisch:
1. Das Hauptdokument speichern
2. Die Antwortdokumente löschen
3. Das Hauptdokument schließen
4. Das Hauptdokument löschen

 Das löschen der Antwortdokumente wird in QueryClose aufgerufen.
Zwischen Punkt 3. und 4. hab ich dann ein Problem. Wie lösche ich ein geschlossenen Dokument? In welcher Ereignis Routine?
Titel: Re:Problem mit Responses
Beitrag von: klaussal am 17.11.03 - 11:07:00
....ungefähr so:

Sub Queryclose(Source As Notesuidocument, Continue As Variant)
  Dim doc As NotesDocument
 Set doc = source.document
 doc.FLAGDELETE = "1"
 Call doc.save (True, True)
End Sub
-----------------------------------------------------
'in der view sind alle docs mit flagdelete = "1"

Set view = db.getView(".DELETEVIEW")
 Call view.Refresh
 Set doc = view.getFirstDocument
 Do While Not doc Is Nothing
  Call doc.remove(True)   
  Call view.refresh
  Set doc = view.getFirstDocument
 Loop
Call ws.viewRefresh
Exit Sub
Titel: Re:Problem mit Responses
Beitrag von: TomLudwig am 17.11.03 - 11:49:39
Ich habe das Flag auf 1 gesetzt. Es ist somit in meiner Ansicht.
Nun möchte ich alle Dokumente in der Ansicht löschen. Das funktioniert aber erst, wenn ich das Hauptdokument geschlossen habe.

Wo kann ich das löschen aller Dokumente implementieren? Es gibt meineswissens keine Ereignisroutine "PostClose" oder der gleichen.

Bitte um Hilfe....
Titel: Re:Problem mit Responses
Beitrag von: klaussal am 17.11.03 - 12:09:05
im querysave abfragen, ob doc gespeichert werden soll oder nicht. wenn "nein", dann alle antwort-docs löschen, wenn "ja", dann eben nicht löschen.