• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Collection = View.getalldocumentsbykey

  • Автор темы Автор темы NetWood
  • Дата начала Дата начала

NetWood

Lotus Team
17.04.2008
565
96
Hi! all
В представлении доки отсортированы по определенному полю
Set vCalView = web.database.GetView("(ThreadsCat)") ''Вью со всеми категориями

Забираю доки в коллекшон
category = web.document.Categories(0) '' имя категории в меню
Set vDocCollection = vCalView.GetAllDocumentsByKey(category, True)
далее
'Loop all table and display entries.
Set vDoc = vDocCollection.GetFirstDocument
Do
... вывод table ...

Сответственно GetAllDocumentsByKey сортирует доки по своему, не так как было в представе.

Как бы сделать коллекшон без нарушения сортировки? Другой метод? Папку? хм...
 
Идите прямо по представлению.
Код:
Set doc = view.GetFirstDocument()
Do Until doc.Category(0)=category Or doc Is Nothing
Set doc=view.GetNextDocument(doc)
Loop

If Not doc Is Nothing And doc.category(0)=category Then
Do Until doc.category(0)<>category Or doc Is Nothing
' обработка
Set doc=view.GetNextDocument(doc)
Loop
End If

Это, конечно довольно медленно, но другого пути сохранить сортировку я не знаю.
 
NetWood
может попробуйте поработаь с NotesViewEntryCollection

This class provides you mainly with a collection of documents in a view-sorted order.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab