如何从共享相同文档编号的文档集合中识别最后使用Lotusscript创建的文档?

时间:2013-07-05 15:49:35

标签: lotus-notes lotus-domino lotusscript

我有一个包含大约20,000个文档的数据库。其中一个视图按文档编号分类,并进行排序,使得最后创建的文档是每个类别中的第一个文档。某些类别(文档编号)仅与文档相关联,但其他类别具有与之关联的多个文档。我想确定在每个类别中最后创建的文档,并写入一个字段,将其标识为最新版本。我觉得这很容易,但是,我遇到了困难。任何帮助将不胜感激。

MJ

1 个答案:

答案 0 :(得分:4)

假设您有一个视图,如您所说的那样排序,使得最后创建的文档是每个类别中的第一个文档,这可能很简单。在这种情况下,如果您要遍历该视图,则只需要在每个类别之后检索第一个文档,并在其中一个文档的项目上设置一个值。

例如,

Dim s as New NotesSession
Dim db as NotesDatabase
Dim view as NotesView
Dim nav As NotesViewNavigator
Dim viewEntry as NotesViewEntry
Dim docEntry as NotesViewEntry
Dim doc as NotesDocument

Set db = s.CurrentDatabase
Set view = db.GetView("My Categorized and Sorted View")
Set nav = view.CreateViewNav
Set viewEntry = nav.GetFirst  ' Should be your first category

While Not (viewEntry Is Nothing)

    Set docEntry = nav.GetNextDocument(viewEntry)  'The first document entry after the category
    Set doc = docEntry.Document
    doc.ReplaceItemValue("Some item", "This is the latest doc")
    doc.Save(false, false)
    Set viewEntry = nav.GetNextCategory(viewEntry)  'Jump to the next category

Wend