Hallo!
Also, man kann über einen kleinen Trick in einer EmbeddedView fast alles mit dem selektierten Dokument machen. Es stimmt schon, dass die "unprocessedDocuments" immer 0 zurückgeben; der Trick besteht darin, dass man
versucht, das Dokument zu löschen und zuvor über eine oder mehrere Environment-Variablen seine wirkliche Absicht speichert und das eigentliche Löschen über das "QueryDocumentDelete"-Event verhindert und in diesem - mittels der Environment-Variablen - dann entsprechend agiert... und btw. das ganze funktioniert übrigens auch schon unter R5
So, hier die Beschreibung (die gibt es übrigens auch auf notes.net:
http://www-10.lotus.com/ldd/46dom.nsf/0/0454a2d12be2533785256932001f2016?OpenDocument)
1. Button oder Outline (ich glaube mich zu erinnern, dass Outlines am besten funktionieren, da diese nicht den fokus von dem Dokument "wegholen") REM "Hier legen wir fest, was wir eigentlich machen wollen"
@SetEnvironment("ViewAction";"setUnread");
REM "der folgende Agent versucht das doc zu löschen.."
@Command([ToolsRunMacro];"IsEmbeddedView")
2. isEmbeddedView-AgentSub Initialize
Dim s As New NotesSession
Dim ws As New NotesUIWorkspace
Dim uiview As notesuiview
Set uiview=ws.currentview
'check to see if cursor is in the embedded view
If Not (uiview Is Nothing) Then
Call ws.currentdocument.clear
End If
End Sub
3. QueryDocumentDelete CodeSub Querydocumentdelete(Source As Notesuidatabase, Continue As Variant)
Dim s As New NotesSession
Dim doc As NotesDocument
Dim ViewAction as String
ViewAction = s.GetEnvironmentString("ViewAction")
if ViewAction <> "" then
Set doc = source.documents.getfirstdocument 'DAS IST DAS SELEKTIERTE DOKUMENT!!!!
if ViewAction = "setUnread"
'do something
else
'do something else and so on...
end if
'verhindert das löschen
continue = False
'ViewAction zurücksetzen
s.SetEnvironmentVar("ViewAction","")
End If
End Sub
Für mich funktioniert das wunderbar!! Angehängt eine Abbildung, wie wir das ganze einsetzen...