Фильтрация или органичение выборки

GROMILA

Well-Known Member
08.04.2004
297
0
41
Минск
#1
ЧЕРНОВИК (извиняйте, пишу по мере возможности, так что это пока черновик)
Скоро тут будет полное решение


По теме фильтрации представлений было уже много написано, но рискну предложить еще одно решение, которое меня в большинстве случаев устраивает.

Общие сведения
Программа определяет в каком подразделении находится пользователь и по кнопке выдает в диалоге список пользователей всех подчиненных подразделений, причем в диалоге работает контекстный поиск и сортировка!!!

Способ решения
Решение основано на использовании приватных папок.
1. Создаем папку, приватную при первом использовании
2. Формируем коллекцию документов любым из доступных способов: поиск по виду, DbSearch или FTSEarch
3. Помещаем документы коллекции в нашу папку
4. Папку используем в диалоге выбора PickListCollection
5. Физическое создание папки у пользователя обеспечиваем путем создания отдельного фрейма и вывода в него папки
6. Программную очисту папки делаем просто: получаем коллекцию документов с более общим критерием поиска чем в фильтре и удаляем их из папки.
Примечание Модератора - не легче ли саму папку удалить?
Ответ: Не удалишь, она же приватная уже!!!!

7. Производительность работы полагаем достаточной, так как в диалогах не следует отображать миллионы документов. Фильтрация все и ограничит.

Примчание: Предполагается, что дизайн папки не будет изменяться, так как диалоговые выборки простые и отображают 1-3 поля. Спроектируем его сразу и хорошо (уточняется в процессе внутреннего тестирования, не на пользователях!!!).

Таким образом, все известные проблемы использования локальных папок для нашего варианта использования решены.

Исходный код и Шаблон примера