LS Agent从xpage处理所选文档

时间:2013-12-03 16:23:14

标签: xpages lotusscript

我希望为用户提供选择多个文档(或单个文档)的能力,然后单击按钮调用LS代理来循环访问这些文档并进行一些处理。我知道我可以发送一个doc id(如在查询保存代理中),但是如何发送一个数组,或者我在LS代理中解析的多个值的字符串?

TIA

3 个答案:

答案 0 :(得分:3)

在XPage中,您可以使用临时文档将值传递给代理:

var agent = database.getAgent("myagent");
var doc = database.createDocument();
doc.replaceItemValue("docIDs", <your array with IDs>);
agent.runWithDocumentContext(doc)

并在代理

dim session as new notesSession
dim tmpdoc as notesDocument
set tmpdoc = session.documentContext
dim array as variant
array = tmpdoc.docIDs

请注意,您根本不需要保存临时文档。

答案 1 :(得分:0)

如果您的LS代理运行某个条件(如特定视图中的所有条目),并且该视图选择所有带有字段的文档来标记要处理的文档,那么请使用带有复选框的重复控件来添加值到文档上的字段以标记要处理的文档。该值将用于视图选择标准。然后,您可以按计划在此视图上运行LS代理。然后,当您运行代理程序以从视图中删除它们时,您还需要将文档标记为已处理。

答案 2 :(得分:0)

只是另一种解决方案:如果(反应)速度不是必需的,您可以发送自己的应用程序邮件。还有额外的开销,以及您需要的Mail-in Database文档,但优点是它非常透明,您可以将它用于许多其他目的。