Das Notes Forum

Domino 9 und frühere Versionen => ND7: Entwicklung => Thema gestartet von: botschi am 10.11.08 - 17:44:06

Titel: Doppelte Frage beim Löschen
Beitrag von: botschi am 10.11.08 - 17:44:06
Hallo,

ich brauche eine doppelte Frage, ob man das Dok wirklich löschen will.

Wenn man in einer View "ENTF" und "F9" drückt (oder per Button und refresht, völlig egal), wird man von Notes gefragt "...wollen Sie löschen?" . Wenn man die Frage mit "Ja" beantwortet, soll meine Frage nochmal das gleiche Fragen.

Ich wollte die Ereignisse im Datenbankscript nutzen, bekomme es aber nicht hin.
Das "Postdocumentdelete" ist wohl zu spät und das "Querydocumentdelete" scheint zu früh zu sein. Könnt ihr mir auf die Sprünge helfen, wie ich die Reihenfolge richtig gestalte?
Formel oder Script, ist egal.

Danke für Hilfe!
Matthias
Titel: Re: Doppelte Frage beim Löschen
Beitrag von: HH am 10.11.08 - 18:06:14
QuerydocumentDelete ist schon richtig. Dort mit einer verschachtelten if Abfrage mit msgbox abfragen und in Abhängigkeit von den Antworten das Dokument löschen.

Hubert
Titel: Re: Doppelte Frage beim Löschen
Beitrag von: botschi am 11.11.08 - 10:34:03
Das Problem ist, ich brauche erst die Meldung von Notes "... möchten Sie löschen?" und dann meine Frage mit "... möchten Sie WIRKLICH löschen?".

Ich bin schon fast der Meinung, dass es so herum eben nicht geht. Ich bekomme immer erst meine Frage und dann die Frage von Notes.

Matthias
Titel: Re: Doppelte Frage beim Löschen
Beitrag von: Axel am 11.11.08 - 11:17:09
Ich sehe da eigentlich wenig Chancen.

Sobald du im PostDocumentDelete eingreifst, was deine einzigste Chance ist wenn du deine Meldung nach der Notes-Meldung haben willst, wird die Notes-Meldung nicht mehr angezeigt.

Wieso willst du denn eigentlich zwei Meldungen haben? Was macht das für einen Sinn, irgendwann sind die User genervt.

Axel
Titel: Re: Doppelte Frage beim Löschen
Beitrag von: botschi am 11.11.08 - 11:42:25
Das ist eine Anforderung, die ich bislang nicht wegargumentieren konnte...
Jeder soll Löschrechte bekommen und durch die doppelte Fragestellung versprechen sich die Leute vielleicht mehr Achtsamkeit?
Ich hab keine Ahnung...

Lässt sich aber tatsächlich nicht umsetzen....

Matthias
Titel: Re: Doppelte Frage beim Löschen
Beitrag von: Thomas Schulte am 11.11.08 - 13:11:08
Ich würde da die Löschung so umbiegen, das das Löschen nicht wirklich löscht sondern ein Flag ist gelöscht setzt und den Benutzer der das Löschen will nach einer Begründung fragt.

Mehrfaches Fragen so nach dem Motto willst du wirklich löschen? Du meinst du willst WIRKLICH löschen? Bist du sicher das du das WIRKLICH LÖSCHEN willst? Führt spätestens nach der dritten Anwendung zu blind klickenden oder bestätigenden Benutzern.
Titel: Re: Doppelte Frage beim Löschen
Beitrag von: botschi am 11.11.08 - 16:12:13
Ich stimme dir zu, keine Frage! Nun gibt es keine Frage mehr, sondern die Dokumente wandern in einen Papierkorb (Ansicht ($SoftDeletions)) und das muss genügen.

Dazu hätte ich aber auch noch ein Problem:
Wenn die Doks gelöscht werden, wandern sie in die Ansicht und werden auch nur da angezeigt- sehr gut!
Wenn ich die Doks aber wiederherstelle per Button (@Command([EditRestoreDocument])) wird das Dok auch wieder in die Ansicht geschoben, ist aber immer noch im Papierkorb...
Bleibt das da? Kann doch nicht sein! Es müsste doch aus dem Papierkorb verschwinden  ???

Matthias
Titel: Re: Doppelte Frage beim Löschen
Beitrag von: botschi am 12.11.08 - 13:31:54
Ich habe den Fehler gefunden.
Mein Script im Querydocumentdelete im Datenbankscript
Code
Dim s As New NotesSession
	Dim collection As NotesDocumentCollection
	
	Stop
	
	Set collection = source.documents		
	Dim doc As NotesDocument
	Set doc = collection.GetFirstDocument
	
	If collection.Count = 0 Then
		Exit Sub
	End If
	Stop
	
	If continue <> False Then
		Dim answer As Integer
		'& Chr(10) & "Möchten Sie " & collection.Count & " aus der Datenbank " & source.Database.Title & " wirklich löschen?", _
		answer = Msgbox("Achtung, Sie haben den Löschvorgang gestartet. "_
		& Chr(10) & "Möchten Sie wirklich fortsetzen?", _
		36, "Wirklich löschen?")
		
		If answer = 6 Then
			Call collection.RemoveAll(True)
		Else
			continue = False
			Exit Sub
		End If
	End If
sort (für mich unverständlich) dafür, dass die Mail aus dem Papierkorb zwar wiederhergestellt wird, aber nicht aus dem Papierkorb verschwindet!

Also falls jemand mal den selben "Fehler" hat --> guckt ins Datenbankscript.

Matthias