LotusScript getNextDocument 文档数量

LotusScript getNextDocument quantity of documents

  1. 我有一个名为 "status" 的 NotesView,选择:documentStatus = 0,
  2. 我有一个 lotusscript 代理,它从 "status" 视图获取所有文档并将 documentStatus 值更改为 1。

在代理 运行 之后,"status" 视图应该是空的,但是有些文档代理没有处理。

我是不是搞错了?

有Lotussript代码:

Set doc = view.Getfirstdocument()
While Not ( doc Is Nothing)
    Set docNext = view.Getnextdocument(doc)
    Call doc.Replaceitemvalue("documentStatus", 1)
    Call doc.Save(True, True)
    Set doc = docNext
Wend

用一行代码开始你的代码

view.AutoUpdate = false

这可以防止您的视图在代理 运行 期间被刷新。

好的,我想通了。

我认为 view.GetNextDocument(doc) 没有将文档分配给 docNext 变量,而是文档在视图中的位置。代理保存文档后,它从视图中删除(由于选择标准)并且循环得到错误的文档,缺少一些。

而不是 view.GetNextDocument(doc) 我在循环结束时使用了 view.GetFirstDocument() 。

我将我的代码修改为:

Set doc = view.Getfirstdocument()
While Not ( doc Is Nothing)
    Set docNext = view.Getnextdocument(doc)
    Call doc.Replaceitemvalue("documentStatus", 1)
    Call doc.Save(True, True)
    Set doc = view.Getfirstdocument()
Wend

最好将文档收集到一个集合中,然后通过该集合逐步进行更改

view.AutoUpdate = false

将阻止在您工作时刷新视图,因此将阻止服务器接收许多更新以重新编制视图索引

如果有非常非常多,您可能需要考虑关闭复制,直到您也完成为止