Domino 9 und frühere Versionen > Entwicklung
Selected Documents: Markierung aufheben
TMC:
Hi,
im Rahmen meiner Agent-Doku wollte ich folgendes dokumentieren:
--- Zitat ---Um ausgewählte Dokumente einer View mit einem Scriptagenten abzuarbeiten (um in den einzelnen Dokumenten z.B. Items zu löschen), kann man einen Agenten verwenden mit Trigger: „Agent menu selection (R5: Manually From Actions Menu)“ und Target: „Selected documents“.
Allerdings wird nach dem Abarbeiten der Dokumente die Selektion nicht aufgehoben. (...)Man kann mit 2 Agenten arbeiten, die man über eine Aktionsschaltfläche aufruft:
- @Command([ToolsRunMacro]; "(RemoveItems)");
- @Command([ToolsRunMacro]; "(DeselectAllDocs)")
--- Ende Zitat ---
Nun musste ich aber erfreulichrweise feststellen, dass die Selektion nach dem Lauf des Agenten aufgehoben wird.
Testszenario:
- Client R5.0.11 und R6.5
- Agent wird über Button aufgerufen via @Command([ToolsRunMacro];"...")
- Der Agent ist ein Script-Agent und macht folgendes:
--- Code: ---Sub Initialize
'**********************************************************************
'Purpose: Deletes all specified items in the selected documents
'**********************************************************************
On Error Goto ERRORHANDLER
Dim session As New NotesSession
Dim db As NotesDatabase
Dim collection As NotesDocumentCollection
Dim doc As NotesDocument
Dim item As NotesItem
Dim vDeleteItems As Variant
Set db = session.CurrentDatabase
Set collection = db.UnprocessedDocuments
Set doc = collection.GetFirstDocument
'-----> Items you want to remove
Redim vDeleteItems(20)
vDeleteItems(1) = "Feld1"
vDeleteItems(2) = "Feld2"
vDeleteItems(3) = "Itemname3"
vDeleteItems(4) = "Itemname4"
'........and so on.........
'<-----
While Not(doc Is Nothing)
Forall i In vDeleteItems
While (doc.HasItem(i))
Set item = doc.GetFirstItem(i)
Call item.Remove
Call doc.Save(True, True)
Wend
End Forall
Set doc = collection.GetNextDocument(doc)
Wend
EXIT_SCRIPT:
Exit Sub
ERRORHANDLER:
Msgbox "Error: " & Err & " - " & Error$ & Chr(10) & Chr(10)_
& "Procedure: Agent '(RemoveItems)'"& Chr(10) & Chr(10)_
& "Line: " & Erl & Chr(10), _
48, "An error occured"
Resume EXIT_SCRIPT
End Sub
--- Ende Code ---
Ich war aber immer der Meinung, dass Doks in der View nicht deselektiert werden nach einem Scriptagenten.
Die Forumsrecherche führte mich u.a. auch auf folgenden Thread, der mir das ganze eigentlich bestätigt:
http://www.atnotes.de/index.php?board=7;action=display;threadid=5469
Gab es da mal einen 'Bugfix' / Verbesserung bei R5 ?
Weiß da jemand von Euch näheres hierzu?
Semeaphoros:
Scheinbar gibt es Unterschiede, ob man den Agenten über "Simple Actions" oder mit ToolsRunMacro aus @Formel aufruft. Weiter habe ich letzte Woche mal unter 6.5.0 Probleme genau damit gehabt, dass die Selection nicht aufgehoben wurde, bin da aber noch nicht auf einen definitiven Befund gekommen.
Glombi:
Nach dem Agentlauf - egal ob Script oder Formelsprache - sind die Dokumente nicht mehr selektiert.
Anders sieht es aus, wenn der Scriptcode in einer Aktion ist. Dann bleibt die Markierung erhalten.
Das sind meine Erfahrungen.
Andreas
TMC:
Danke schonmal für die Bestätigung Jens.
Sehr seltsam das ganze.
Vielleicht sollte ich mal 'Miss Agent' Julie eine Mail schreiben diesbezüglich ob sie da näheres weiss (auch wenn dabei vielleicht nur ein Donuts-Rezept zurückkommt aufgrund ihrer aktuellen Betätigungen im Konditoreiumfeld :))
Vorher würde ich aber nochmal im LDD-Forum recherchieren und das Problem auch mal dort posten.
Aber erst mal warte ich noch ab, vielleicht haben andere AtNotes-User das Problem schon mal im Detail evaluiert ;)
Glombi:
Hier noch was aus der KBASE:
Problem
A LotusScript agent designed to run on selected documents in a view does not deselect the documents when it finishes.
This issue occurs in cases where the agent uses either the ComposeDocument or EditDocument method (of the NotesUIWorkspace class). This issue has been reported to Lotus Quality Engineering.
There is no workaround beyond deselecting the documents manually. It is recommended to use Edit, Deselect All.
Supporting Information:
Note: When using View Actions, documents are also left selected, but this is a separate issue. See the related document titled: "View Actions Leave Documents Selected After Execution" (#178402 ) for additional information on this topic.
Related Documents:
View Actions Leave Documents Selected After Execution
Document #: 178402
Highlighted Document Not Recognized in LotusScript Shared Action Calling a Script Library
Document #: 178707
Navigation
[0] Themen-Index
[#] Nächste Seite
Zur normalen Ansicht wechseln