LotusScript getNextDocument文档的文档数量 我有一个名为“status”的NotesView,选择:documentStatus=0 我有一个lotusscript代理,它从“status”视图获取所有文档,并将documentStatus值更改为1

LotusScript getNextDocument文档的文档数量 我有一个名为“status”的NotesView,选择:documentStatus=0 我有一个lotusscript代理,它从“status”视图获取所有文档,并将documentStatus值更改为1,view,lotus-domino,lotusscript,agent,View,Lotus Domino,Lotusscript,Agent,代理运行后,“状态”视图应为空,但存在代理未处理的文档 我错了吗 有一个LotusScript代码: 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

代理运行后,“状态”视图应为空,但存在代理未处理的文档

我错了吗

有一个LotusScript代码:

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.AutoUpdate = false
这将防止在代理运行期间刷新视图

好吧,我想起来了

我认为view.GetNextDocument(doc)没有将文档分配给docNext变量,而是分配了文档在视图中的位置。代理保存文档后,它被从视图中删除(因为选择条件),并循环获取错误的文档,缺少一些

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

我将代码修改为:

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.GetNextDocument(doc)没有将文档分配给docNext变量,而是分配了文档在视图中的位置。代理保存文档后,它被从视图中删除(因为选择条件),并循环获取错误的文档,缺少一些

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

我将代码修改为:

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
将停止在您工作时刷新视图,因此将停止服务器接收许多更新以重新编制视图索引


如果有非常多,你可能想考虑复制复制,直到你完成了

,最好把这些文档收集到一个集合中,然后通过集合使你的修改

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


如果有非常多的内容,您可能需要考虑复制复制,直到完成,

这是可行的,但是您可能会多次更新同一文档,因为在每个文档保存之后,视图可能不刷新。特别是当服务器非常繁忙时,这种情况会发生。最好使用
view.AutoUpdate=false
…这样做有效,但您可能会多次更新同一文档,因为每次保存文档后视图可能不会刷新。特别是当服务器非常繁忙时,这种情况会发生。最好使用
view.AutoUpdate=false
。。。