0

简单地说,我想要 db.UnprocessedNotesViewEntries 之类的东西,就像 db.UnprocessedDocuments 一样。

问题是用户会看到一个备注视图,其中包含几个类别 1 个月:如“Jan / 2019”等,然后是 2-Bill 类型,如 HVAC 或电力或维护等。

该视图不应该有 UnProcessedDocuments。用户应该选择一个或多个类别,我想掌握所选类别,然后继续处理这些类别。

下面的代码允许我获取类别,但无法仅获取选定的类别:

    Dim workspace As New NotesUIWorkspace       
    Dim session As New notessession
    Dim db As notesdatabase
    Dim view As NotesUIView 
    Dim nav As NotesViewNavigator   
    Dim entry As NotesViewEntry

    Set db = session.CurrentDatabase    
    Set view = workspace.CurrentView
    Set nav = view.View.CreateViewNav()
    Set entry = nav.GetFirst


    ''Navigate through the selected entries (categories and detail rows) one by one.
    Do Until entry Is Nothing

        If entry.IsCategory Then
            ''just a debugging code which works as expected.
            Print entry.IndentLevel         
            Print entry.ColumnValues(0)
            Print entry.ColumnValues(1)
            Print entry.ColumnValues(2)
            Print entry.ColumnValues(3)         
        End If
        Set entry = nav.GetNext(entry)
    Loop

请帮忙!

4

1 回答 1

0

我不认为这是可能的。视图条目是从后端视图生成的,并且没有指向用户选择的链接。在 uiView 中,您只能获取 caretNoteId,其中包含突出显示的文档的 id(不是类别)。您也有 caretCategory,但这仅返回(再次)突出显示的文档的最低类别级别。

为了做类似的事情,我们使用以下(蹩脚的)解决方法:创建一个将“ODBC 访问”设置为“在索引中生成唯一键”的视图。

在此视图中,创建类别列和一个包含固定文本的单列(类似于“选择此类别”)。

创建具有相同分类但未选中“ODBC 访问”的第二个视图。

让用户在第一个视图中选择“选择此类别”行。然后在脚本中使用“unprocessedDocuments”来获取选定的行。现在您可以在第二个视图中进行搜索 (getdocumentbykey) 以获取与所选文档具有相同类别的所有文档。

不幸的是,这仅在您使用单值字段生成类别时才有效(否则您不知道选择了哪个值)

于 2019-12-03T12:03:48.183 回答