首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LotusScript getNextDocument文档数量

LotusScript getNextDocument文档数量
EN

Stack Overflow用户
提问于 2016-08-29 10:44:04
回答 3查看 471关注 0票数 1
  1. 我有一个名为“NotesView”的选项: documentStatus = 0,
  2. 我有一个lotusscript代理,它从"status“视图获取所有文档,并将documentStatus值更改为1。

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

我犯了个错误吗?

有一个Lotussript代码:

代码语言:javascript
复制
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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-29 11:07:50

使用一行代码启动代码

代码语言:javascript
复制
view.AutoUpdate = false

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

票数 3
EN

Stack Overflow用户

发布于 2016-11-21 10:22:46

最好将文档收集到集合中,然后逐步遍历进行更改的集合

代码语言:javascript
复制
view.AutoUpdate = false

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

如果有很多,您可能需要考虑关闭复制,直到您完成。

票数 1
EN

Stack Overflow用户

发布于 2016-08-29 11:12:48

好吧,我想通了。

我认为view.GetNextDocument(doc)没有将文档分配给docNext变量,而是将文档放在视图中。代理保存文档后,它被从视图中删除(因为选择标准),循环得到错误的文档,丢失一些文档。

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

我将代码修改为:

代码语言:javascript
复制
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
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39204312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档