Как я могу идентифицировать документ, созданный последним с помощью Lotusscript, из набора документов с одинаковым номером документа?

У меня есть база данных, в которой содержится около 20 000 документов. Одно из представлений классифицируется по номеру документа и сортируется таким образом, что документ, созданный последним, является первым документом в каждой категории. Некоторые категории (номера документов) имеют только связанный с ними документ, а с другими связано несколько документов. Я хотел бы идентифицировать документ, созданный последним в каждой категории, и писать в поле, определяя его как последнюю редакцию. Я думал, что это будет легко, но у меня возникли трудности. Любая помощь будет оценена.

MJ


person Mike Jackson    schedule 05.07.2013    source источник


Ответы (1)


Это может быть просто, если предположить, что у вас есть представление, которое, как вы говорите, отсортировано таким образом, что документ, созданный последним, является первым документом в каждой категории. В этом случае, если бы вы просматривали это представление, вам просто нужно было бы получить первый документ после каждой категории и установить значение для одного из элементов документа.

Например,

Dim s as New NotesSession
Dim db as NotesDatabase
Dim view as NotesView
Dim nav As NotesViewNavigator
Dim viewEntry as NotesViewEntry
Dim docEntry as NotesViewEntry
Dim doc as NotesDocument

Set db = s.CurrentDatabase
Set view = db.GetView("My Categorized and Sorted View")
Set nav = view.CreateViewNav
Set viewEntry = nav.GetFirst  ' Should be your first category

While Not (viewEntry Is Nothing)

    Set docEntry = nav.GetNextDocument(viewEntry)  'The first document entry after the category
    Set doc = docEntry.Document
    doc.ReplaceItemValue("Some item", "This is the latest doc")
    doc.Save(false, false)
    Set viewEntry = nav.GetNextCategory(viewEntry)  'Jump to the next category

Wend
person Ken Pespisa    schedule 05.07.2013