Das Notes Forum

Domino 9 und frühere Versionen => ND6: Entwicklung => Thema gestartet von: oson00 am 27.03.07 - 11:52:13

Titel: Mails in den Papierkorb verschieben
Beitrag von: oson00 am 27.03.07 - 11:52:13
Hallo,

ich habe eine Frage. Ich habe einen Agenten, der im Backend läuft. Dieser soll nun einige Mails aus der Mail-DB herauslöschen. Allerdings sollen diese nicht hart gelöscht, sondern als erstes in den Papierkorb verschoben werden.

Ist das möglich?

Gruß

Basti
Titel: Re: Mails in den Papierkorb verschieben
Beitrag von: HH am 27.03.07 - 12:33:48
@command([MoveToTrash]) oder
notesDocument.remove( force )

Hubert
Titel: Re: Mails in den Papierkorb verschieben
Beitrag von: iukhdh am 27.03.07 - 12:41:29
Bist du sicher?
Mit movetotrash setzt man doch  nur die Löschmarkierung, oder lese ich das falsch in der  Hilfe?

Zitat
MoveToTrash hat dieselbe Funktion wie das Auswählen eines Dokuments in einer Ansicht und das anschließende Drücken der ENTF-Taste. Sie können zwischen beiden wechseln. Genauso, wie Sie die Löschmarkierung eines ausgewählten Dokuments in einer Ansicht durch Drücken der ENTF-Taste entfernen können, können Sie den MoveToTrash-Befehl ein zweites Mal auswählen, um die Löschmarkierung des Dokuments zu entfernen.
Titel: Re: Mails in den Papierkorb verschieben
Beitrag von: MadMetzger am 27.03.07 - 12:49:46
Das war doch so gewünscht, dass nicht hart gelöscht wird. Aber da steht doch in der Designer Hilfe einiges zu wiederherstellbaren Löschungen. Such danach mal in der Designerhilfe, da steht sowas in einem Beispiel erläutert.

In einem Agent kannst du auch @DeleteDocument für das aktuelle Dokument nutzen, wenn dieser in Formelsprache geschrieben ist.
Titel: Re: Mails in den Papierkorb verschieben
Beitrag von: HH am 27.03.07 - 13:57:38
@Thomas: Ja, ich bin mir sicher. Bau dir mal einen Agent in deiner Mail-DB und probier es aus.

Hubert
Titel: Re: Mails in den Papierkorb verschieben
Beitrag von: oson00 am 29.03.07 - 10:44:24
So ich habe es nun probiert und es klappt tatsächlich einfach per Script und der Methode .remove

Ich habe folgendes Script laufen lassen und alle meine Dokumente sind in den Papierkorb gewandert.

Code
	Dim s As New NotesSession
	Dim docCol As NotesDocumentCollection
	
	Set docCol = s.CurrentDatabase.AllDocuments
	
	Dim doc, delDoc As NotesDocument
	Set doc = docCol.GetFirstDocument
	
	Do Until doc Is Nothing
		Set delDoc = doc
		
		Set doc = docCol.GetNextDocument(doc)
		
		Call delDoc.Remove(True)
	Loop



Manchmal ist es doch einfacher als man vermutet. Danke für die Hilfe.
Titel: Re: Mails in den Papierkorb verschieben
Beitrag von: Tode am 29.03.07 - 14:35:56
ACHTUNG: Diese Methode funktioniert nur in Datenbanken mit aktivierten Soft- Deletions !!!
Sind die Soft- Deletions in den Datenbankeigenschaften nicht aktiviert, dann führt ein doc.Remove unweigerlich zu einem unwiederbringlich gelöschten Dokument.

Das ist jetzt weniger für Dich @oson, sondern eher für jemanden, der das ganze später mal liest.

Die Soft- Deletions der Mail- Datenbanken sind nämlich erst seit R6 standardmässig aktiviert, und in selbst entwickelten Datenbanken sind sie meist deaktiviert.

Gruß
Tode
Titel: Re: Mails in den Papierkorb verschieben
Beitrag von: iukhdh am 30.03.07 - 08:07:38
Na dann ergänze ich auch noch  :)

Bei meiner Anmerkung oben gilt das gleiche. Wenn Soft-Delitions nicht gesetzt ist, dann verschwindet die Mail mit @command([MoveToTrash]) auch nicht im Papierkorb, sondern wird nur zum löschen markiert.

Thomas