如何使用Lotus Script获得选定的NotesViewEntry?

问题描述 投票:0回答:1

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

[问题是,向用户显示一个具有两个月1类类别的Notes视图:如“ Jan / 2019”等,然后是2帐单类型,如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

请帮助!

lotusscript notesview
1个回答
0
投票

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

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

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

创建具有相同分类但未选中'ODBC Access'的第二个视图。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.