Notesdatadase.search - Третий Параметр

Dragon108

Well-Known Member
19.01.2010
265
0
30
Россия
#1
Использую Notesdatabase.Search() с третьим параметром для формирования поисковой коллекции. (maxDocs% - the maximum number of documents you want returned) Возвращает коллекцию, в кторой метод Count возвращает необходимое число документов.
Однако при проходе по коллекции бежит по "неограниченной коллекции". Т.е. например всего по критерию поиска подходит 100 документов, я беру Серчем из них 50 с помощью параметра maxDocs. В коллекции, как методом Count так и в Дебагере, показывает что элементов 50, однако при пробеге по полученной коллекции бежит по всем 100 документам.

Что за ??? или это я что то неправильно делаю?
 
#4
Понятно, спасибо)
Только ... :what?: ... а зачем тогда она нужна? Поделитесь если приходилось такое использовать
Она такая не нужна :) Подозреваю, что события развивались примерно так: когда-то давно, основным способом итерации коллекции был collection.getNthDocument ( что, кстати, видно из лотусового хелпа ). При таком подходе, реализовать search с третьим параметром было легче легкого: достаточно правильно выставить count коллекции и можно не заморачиваться на реальное число доков. Что и было благополучно сделано, код отгружен, деньги пропиты, все счастливы.
И все было бы хорошо, но через некоторое время, пацаны выяснили, что ходить по коллекции значительно эффективнее при помощи getNextDocument и это стало мейнстримом. В результате вылезла данная фича. Исправлять не стали, т.к. практическая ценность от фичи невысока, а workaround достаточно прост. Вот как-то так...

P.S. Давно завел привычку ставить третий параметр у db.search в 0, чего и вам желаю.