Выборка документов из категоризированного View

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

PavelT100

Есть view категоризированное по полю в котором может быт сразу несколько значений. Из-за этого во вью один и тот же документ может попадать в разные категории.
Задано конкретное значение этого поля. Мне нужно отобрать все документы имеющие это значение.
С помощью view.GetDocumentByKey позиционируюсь на первом документе.
Потом с помощью view.GetNextDocument последоватьльно перебираю документы и проверяю наличие заданого значения в ключевом поле. Если заданное значение в этом поле не найдено то прекращаю отбор. Такой метод очень хорошо работает если ключевое поле может иметь только одно значение и во вью документ встречается только один раз. Но в моем случае после окончания текущей категории в следующей может встретиться уже отобранный документ. Можно ли при последовательном переборе документов как-то вовремя остановиться чтобы лишних документов не брать ?
Вариант с GetAllDocumentsByKey мне применять не хочется, я его рассматриваю как крайний.
При каждом view.GetNextDocument проверять не встречался ли уже такой документ ранее - это как-о не спортивно.
 

Medevic

Что это ? :)
Green Team
10.12.2004
3 334
1
BIT
6
<!--QuoteBegin-PavelT100+15:02:2008, 14:49 -->
<span class="vbquote">(PavelT100 @ 15:02:2008, 14:49 )</span><!--QuoteEBegin-->Вариант с GetAllDocumentsByKey мне применять не хочется, я его рассматриваю как крайний.
[snapback]98263" rel="nofollow" target="_blank[/snapback]​
[/quote]
Почему?

Пихай в List всё. С ключем, например, по NoteID. Тогда повторов не будет.
 
S

Sandr

Загоняйте с помощью GetAllDocumentsByKey в коллекцию... Там повторов не будет...
 
30.05.2006
1 345
12
BIT
0
Дык их никак не будет (повторов). В коллекции будут только док-ты, входящие в заданную категорию.
То, что они могут входить еще в десяток категорий, никого не волнует.
Например, список персонала:
То, что Иван Иванович занимает должность "начальник" не отменяет того, что он "мужчина".

Впрочем, я вас понимаю. Бывает, что и "отменяет". Трюки/способы:
1. отмечать обработанные док-ты
2. вычислять для док-та список всех его категорий и сверять поисковый ключ (GetDocByKey(KEY)) c первым из них
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!