Autor Thema: Zu löschende Dokument in eine Ordner verschieben  (Gelesen 2145 mal)

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Hallo zusammen,

ich möchte in einer Datenbank zu löschende Dokumente in einen Ordner verschieben. Der User kann zum Löschen die Entf-Taste oder einen Button verwenden. Ganz wie´s ihm genehm ist.

Dazu habe ich im Database Script folgenden Code:

Code
Sub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
	
	Dim dc As NotesDocumentCollection
	
	continue = False
	
	Set dc = Source.Documents
	If dc.Count = 0 Then
		Print "no documents to delete"
		Goto terminate
	Else
		Call dc.StampAll("OriginalForm", "WordTemplate")
		Call dc.StampAll("Form", "")
		Call dc.PutAllInFolder("($Trash)", True)
		Goto terminate
	End If
	
	continue = True
	
terminate:
	Set dc = Nothing
	Exit Sub
	
End Sub

Problem: Lösche ich ein Dokument wird das Dokument in den Ordner "($Trash)" verschoben. Dann schließe ich die Datenbank, öffne sie erneut, gehe in den Ordner "($Trash)" und die Dokument sind zum Löschen mit dem üblichen "X" markiert, drücke F9 und Notes fragt mich ob ich die Dokumente löschen will????
Ich sag der Prozedur continue = FALSE!!! Also nicht löschen.

Bin ich zu   ??? :P :-:
« Letzte Änderung: 02.11.06 - 16:06:03 von Johnson »
Gruß
Johnson

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zu löschende Dokument in eine Ordner verschieben
« Antwort #1 am: 02.11.06 - 16:09:44 »
Wo sagst Du "Continue = False"? Ich sehe nur Continue = True als entscheidender Wert.

Bernhard

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Zu löschende Dokument in eine Ordner verschieben
« Antwort #2 am: 02.11.06 - 16:17:13 »
In der ersten Anweisung:

Dim dc As NotesDocumentCollection

continue = False

Set dc = Source.Documents

Das "continue = True" gilt nacher für Admins. Das muss noch rein.


Gruß
Johnson

Offline koehlerbv

  • Moderator
  • Gold Platin u.s.w. member:)
  • *****
  • Beiträge: 20.460
  • Geschlecht: Männlich
Re: Zu löschende Dokument in eine Ordner verschieben
« Antwort #3 am: 02.11.06 - 16:54:56 »
Sorry, ich habe Dein Goto terminate überlesen - mea culpa.

Ich habe jetzt Deinen Code kopiert und bei mir getestet (6.5.4), nur den Ordnernamen habe ich geändert (!). Und bei mir funktioniert das ohne weiteres ... Wie hast Du denn den Ordner ($Trash) gestaltet? Nicht, dass es an diesem liegt.

Bernhard

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Zu löschende Dokument in eine Ordner verschieben
« Antwort #4 am: 03.11.06 - 08:45:01 »
Right!
Ich hab den Ordner auch mal umbenannt und siehe da... es funzt.

Gracias.

Es liegt am Ordnernamen "($Trash)". Das ist ein Spezialordner für Notes und anscheinend auch mit Spezialfunktionen. Und genau die würd ich trotzdem gern verstehen.

Aus der Hilfe:
Zitat
Many applications benefit from a trash folder that users can drag documents into. The topics are moved into the trash folder and marked for deletion. In a Notes view, the documents remain in the Trash folder until the user either presses F9 to refresh the view, or until the user closes the database and confirms the deletion. If the user does not want to delete the documents, they remain in the trash folder marked for deletion. The user can drag documents back into another view and remove the deletion mark. For an example of a trash folder in an application, see the Lotus Domino Designer 6 mail template.

Nur will ich gerade verhindern, daß die Dokumente "marked for deletion" sind. Also die Dokumente in den Ordner verschoben werden aber beim Schließen der Datenbank oder beim drücken der F9 Taste keine Meldung kommt.
Hat das was mit den Soft Deletion Einstellungen oder anderen Datenbank Einstellungen zu tun?

Um deinen Frage noch zu beantworten: Ich habe eine ganz ordinären Ordner mit zwei Spalten ("Bezeichnung" und "Beschreibung") erstellt und hab ihm den Namen "($Trash)" und den Alias "Trash" vergeben.
Gruß
Johnson

Glombi

  • Gast
Re: Zu löschende Dokument in eine Ordner verschieben
« Antwort #5 am: 03.11.06 - 08:59:01 »
Wnen ein Ordner "($Trash)" heisst, werden automatisch alle Dokumente, die mittels Entf zum Löschen markiert wurden, dorthin kopiert.
Weiterhin werden alle Dokumente, die in diesen Ordner kopiert werden (manuell oder per Script/Formel) als gelöscht markiert.
Das ist ein Notes-interner Ordnername.
Wenn Du also eine eigene Funktion implementieren möchtest, musst Du einen anderen Namen wählen.

Andreas

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Zu löschende Dokument in eine Ordner verschieben
« Antwort #6 am: 03.11.06 - 09:07:49 »
Ich wollte das Rad nicht neu erfinden.
Die Notesfunktionalität reich mir in meinem Fall vollkommen.

Ich musste noch die "Allow Soft Deletions" Eigenschaft der Datenbank aktivieren. Dann werden die Dokument, wie Glombi gesagt hat, in den ($Trash)-Ordner verschoben. Es erschiet aber keine Meldung bei F9 oder beim Schließen der Datenbank.

Ich freu mich das sich das Rad auch dreht... Yippieyayeah.

Besten Dank ihr beiden
Gruß
Johnson

Offline Johnson

  • Senior Mitglied
  • ****
  • Beiträge: 258
  • Geschlecht: Männlich
Re: Zu löschende Dokument in eine Ordner verschieben
« Antwort #7 am: 10.11.06 - 15:07:14 »
Ich hab hier noch ´n Ding gefunden.

Ich habe Dokumente in einen order mehreren Ordnern. Wenn ich die Dokumente lösche, werden diese in den ($Trash) verschoben (sofern Soft Deletions erlaubt sind).

Muss ich jetzt alle Ordner der Datenbank mit "Forall view in db.View" durchgehen und die Dokumente dann mit "RemoveAllFromFolder(view.Name)" aus den Ordner werfen?

Das wäre ja...hmpf
Gruß
Johnson

 

Impressum Atnotes.de  -  Powered by Syslords Solutions  -  Datenschutz