Das Notes Forum

Domino 9 und frühere Versionen => Entwicklung => Thema gestartet von: tuxie am 28.04.04 - 11:23:49

Titel: Löschen einer Dokumentenstruktur
Beitrag von: tuxie am 28.04.04 - 11:23:49
Hallo,

ich habe eine Frage, ich habe eíne Datenbank mit einer Dokomentenstruktur

Hauptdokument
Antwortdokument
Rückantwortdokument

Wie kann ich am besten, diese Struktur löschen gibt es da eine Funktion, kann man das mit Formeln machen oder nur mit LN Script.

Und gibt es eine möglichkeit das hertkömmliche Löschen zu Sperren.

TSchau Ingo
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: koehlerbv am 28.04.04 - 11:31:31
Zu Frage 1: Das müsstest Du etwas genauer erklären. Willst Du ausgehend von einem Haupt-Dokumente alle Responses löschen ? Oder von einem bestimmten Dokument aus alle Responses ? Oder wie ?

Zu Frage 2: Entweder, Du entziehst Deinen Usern das Löschrecht, oder Du klinkst Dich in das DatabaseScript/QueryDocumentDelete ein.

Bernhard
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: tuxie am 28.04.04 - 11:45:49
Hallo,

also ich möchte das Hauptdokument mit allen Antwortdokumenten löschen.

Das löschen soll quasie nur über die Löschfunktion die ich versuche zu implementieren machbar sein. So das nicht das Hauptdokument ohne die Antwortdokumente gelöscht werden.

Tschau Ingo
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: koehlerbv am 28.04.04 - 11:49:53
Dann ist QueryDocumentDelete die richtige Stelle. Das ganze ist selbstverständlich nur mit LS zu realisieren und muss rekursiv verlaufen:
- Ist es ein Dokument mit Responses (das braucht ja kein Hautpdokument sein - Responses können wiederum Responses haben)
- Wenn nein - keine Aktion erforderlich
- Wenn ja, bilde Collection aller Responses
- Doc für Doc in der Collection untersuchen: Hat dieses wiederum Responses ?
- Wenn ja: Wiederum Collection aller Responses bilden und weiter wie oben beschrieben
- Wenn nein: Dokument löschen.

HTH,
Bernhard
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: Axel am 28.04.04 - 12:35:35
Hi,

ich hab mal so was gebaut.

Im PostDocumentDelete - Event des Datenbank-Scriptes steht folgender Code:

   
   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
   

Unter dem (Options) -Abschnitt ist eingetragen (da die Routine DeleteResponseDocs in der Bibliothek Tools enthalten ist):
Use "Tools"


Die Routine selbst 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
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: tuxie am 28.04.04 - 13:25:56
Hallo,

wo finde ich das PostDocumentDelete?

TSchau Ingo
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: Semeaphoros am 28.04.04 - 13:33:24
Hast Du schon mal unter den Tisch geguggt? Vielleicht ist es runtergefallen ...  ;D




Unter Resources / ...... Other  / DatabaseScript

Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: tuxie am 28.04.04 - 14:02:04
Hähhä hast recht, es lag im Papierkorb  ;D ;D ;D

Tschau Ingo

Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: Semeaphoros am 28.04.04 - 14:07:44
Zum Glück hast Du es vor der Putzfrau gefunden ....  ;D
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: tuxie am 28.04.04 - 14:12:59
Irgendwie findet er DeleteResponseDocs nicht obwohl ich sie in den Scriptbibliothek als mit dem Name Tools angelegt habe.

versteh ich irgendwie nicht in den Optionen des Datenbankscriptes habe ich auch USE "Tools" eingetragen. WOran könnte es liegen.


Tschau Ingo
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: Semeaphoros am 28.04.04 - 14:14:33
Kopiere die Routine doch einfach in das Datenbankscript hinein, im Moment besteht für Dich kein zwingender Grund, eine ScriptLib zu verwenden.
Titel: Re:Löschen einer Dokumentenstruktur
Beitrag von: tuxie am 28.04.04 - 14:15:57
Notes Beenden und wieder Starten und schon Stimmt alles.

Dankeschön