Vla*_*adP 7 lotus-notes lotus-domino xpages
我的xPage SSJS失败了:
viewEntry = view.getNext(viewEntry);
Run Code Online (Sandbox Code Playgroud)
有错误
注释错误:索引中找不到条目
我确实将此选项设置为false但它没有帮助:
view.setAutoUpdate(false);
Run Code Online (Sandbox Code Playgroud)
所以我怀疑它失败了,因为用户因为阅读器访问集而无法访问NEXT文档.因此,在视图中但在TOTALS中无法看到此类文档.怎么解决?
副问题是如果崩溃Domino服务器那么
这是我的代码:
var view:NotesView = database.getView("xxxxxxx");
view.setAutoUpdate(false);
var viewNav:NotesViewNavigator = view.createViewNav();
var viewEntry:NotesViewEntry = viewNav.getFirst();
while (viewEntry != null) {
if (viewEntry.isCategory()){
// I work with category entry data
} else if(viewEntry.isTotal()){
// I collect totals
} else {
// I work with view entry
}
var tmpEntry:NotesViewEntry = viewNav.getNext(viewEntry);
viewEntry.recycle();
viewEntry = tmpEntry;
}
Run Code Online (Sandbox Code Playgroud)
它失败了:viewNav.getNext(viewEntry)
Script interpreter error, line=1001, col=37: [TypeError] Exception occurred calling method NotesViewNavigator.getNext(lotus.domino.local.ViewEntry)
Notes error: Entry not found in index ((xxxxxxx))
tmpEntry:NotesViewEntry = viewNav.getNext(viewEntry);
Run Code Online (Sandbox Code Playgroud)
那么,如果当前或下一个条目无效,我该如何真正进入下一个条目呢?
还可能值得验证索引中未找到哪个条目。它可能是第一个,具体取决于代码的上下文。例如,它可能已被更新以将其从视图中删除。首先检查是否为空。读者访问也可能是一个问题,如果您使用 ViewNavigator 工作,则访问的原因有不同。使用 try/catch 来验证您的假设 - sessionAsSigner(或 ODA 的本机会话)将有权访问下一个文档,这将允许日志记录进行确认。一旦确定了原因,就可以围绕它进行编码。
ViewEntry.isValid() 验证软删除或用户是否无访问权限,如 ViewEntry 和 Document 的文档中所述,两者具有相同的方法。
归档时间: |
|
查看次数: |
357 次 |
最近记录: |