You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Lotus Notes使用Select@all的视图未展示全部文档UNID问题咨询

Lotus Notes Select@All视图缺失文档排查方案

先排查视图本身配置问题

  • 检查读者域过滤规则:如果文档的读者域(Readers字段)未包含当前查询身份,哪怕是数据库管理者,默认配置下Select @All也不会展示对应文档。你可以在数据库ACL设置中为当前账号勾选「Full Access Administrator」权限,开启全文档访问权限后重新打开视图验证。
  • 检查视图显示过滤配置:确认视图的「显示选项」未设置「仅显示未读文档」「仅显示指定分类文档」,也没有额外添加保存、修改时间范围的过滤规则,这类视图级显示规则会过滤符合Select @All条件的文档。
  • 强制重建视图索引:损坏的旧视图索引会导致统计异常,你可以在服务器控制台执行Updall -r 数据库文件路径命令,强制重建视图的完整索引,完成后重新统计视图文档数量。

直接枚举全库文档定位缺失项

如果调整视图配置后仍然找不到缺失文档,可以通过脚本直接遍历全库文档定位:

  • 运行以下LotusScript片段,对比全库文档和视图内文档的UNID,直接输出缺失文档的信息:
Dim session As New NotesSession
Dim db As NotesDatabase
Dim allDocs As NotesDocumentCollection
Dim doc As NotesDocument
Dim targetView As NotesView
Dim viewUnidList List As Boolean

Set db = session.CurrentDatabase
' 替换为你创建的UNID视图的实际名称
Set targetView = db.GetView("Your_UNID_View_Name")

' 提取视图内所有文档UNID存入列表
Set doc = targetView.GetFirstDocument
While Not doc Is Nothing
    viewUnidList(doc.UniversalID) = True
    Set doc = targetView.GetNextDocument(doc)
Wend

' 遍历全库文档找出不在视图中的项
Set allDocs = db.AllDocuments
Set doc = allDocs.GetFirstDocument
While Not doc Is Nothing
    If Not IsElement(viewUnidList(doc.UniversalID)) Then
        Messagebox "缺失文档UNID:" & doc.UniversalID & Chr(13) & "所属表单:" & doc.Form(0)
    End If
    Set doc = allDocs.GetNextDocument(doc)
Wend
  • 排查总文档数统计范围:你在数据库属性中看到的总文档数默认包含表单、视图、代理等设计元素,而Select @All默认不会返回设计类文档。可以查看数据库属性「文档」选项卡中的「仅数据文档数」,确认统计基数是否匹配。
  • 检查冲突文档过滤:部分视图默认会隐藏保存冲突文档,可以临时将视图选择公式修改为SELECT @All | @DocConflict | @IsResponseDoc,刷新后查看是否出现缺失的2份文档。

内容的提问来源于stack exchange,提问作者keerthana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 22:24:00