我试图在Domino中创建一个视图,以查找每个类别中最后创建的文档 . Domino数据库保存了大学课程报告的记录,我创建了一个视图,第一列为CollegeClass,第二列为DateCreated,第三列为ReportTitle . CollegeClass列显然可以有多个报表条目,我想要做的是使用DateCreated列上的Lotus Notes公式来仅显示每个College Class的最后一个报表 . 我曾尝试过以某种方式使用@created但尚未成功 . 如何过滤此选项以仅显示最新报告?
2 回答
你无法通过视图实现这一目标 . 视图中的文档不能依赖于另一个文档而隐藏 .
如果这是一个Notes客户端应用程序(也许如果它也是一个Web应用程序)那么你最好的选择是制作两个视图 . 一个显示您想要的内容(除了它显示所有报告,但首先显示最新报告),另一个是具有相同视图列的文件夹 .
然后编写一个LotusScript脚本库,该脚本库具有设置/清除此LatestReportInCategory字段的功能,以便第二个视图准确显示您所需的内容 . 我想这个功能会......
获取该文件夹中所有文档的NotesViewEntryCollection .
(例如
Set col = db.GetView("LatestReportsPerCategory").AllEntries
)获取视图的NotesViewNavigator对象 .
使用NotesViewNavigator遍历获取每个类别中的第一个文档并...
Set doc = entry.Document
doc.PutInFolder "LatestReportsPerCategory"
col.Subtract doc
col.RemoveAllFromFolder "LatestReportsInCategory"
一旦完成了工作,就可以从运行在New / Modified文档上的代理程序调用该函数,或者每晚从报告文档的保存和/或删除事件中调用该函数,或者在适当的任何其他时间调用该函数 . 此外,如果通过Notes客户端使用,请将文件夹的QueryAddToFolder事件设置为返回False,因为需要代码而非用户更改此文件夹 .