делаю вьюху

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#1
Всем доброго дня коллеги!


Делаю вьюху в которой через чек-боксы можно включать фильтры по документам. Как правильно в экшене для чек бокса записать следующий фильтр:

1. показать все документы в которых поле1 или поле2 содержат "abc"

2. следующий чекбокс: показать с учетом первого фильтра только с вложениями (соответственно он должен работать при любом положении первого чекбокса) ... насчет взаимосвязанных чекбоксов пока сомневаюсь в реализации..

@If(@Contains(field 1;"abc")...

попутно сижу лопачу книги..
 

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#3
т.е. в пределах одного представления я не смогу показывать документы по разным признакам?
а какой выход тогда? делать несколько видов и по чекбоксу переключать их?
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
2
36
Россия, Калуга
#4
Можно сказать, что не сможешь.
Есть разные способы имитировать фильтр. Это использование встроенных представлений, отбор в папки. Поищи по слово "Фильтр" по форуму.
 

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#5
окей, спасибо...

все комбинации требуемых мне фильтров я могу с иммитировать 9-ю вьюхами.... а можно их из формы переключать чекбоксами или подобным?
 

Kee_Keekkenen

Well-Known Member
05.09.2006
639
6
Москва
#6
как вариант, если вьюха системная - ее не используют пользователи, то можно изменять формулу отбора документов и использовать документы, снова менять и т.д. если для бд не критично индексировать ее в таком варианте то вперед.. в принципе можно использовать только одну колонку чтоб меньше было индексов..

например сделать цикл
Код:
dim formulas(8) as sting
formulas(0) = "SELECT @All"
"и .т.д
forall formula in formulas
set view = db.getview("view")
view.SelectionFormula = formula
view.refresh
set vec = view.allenries
if vec.count > 0 then
forall v in vec
set doc = v.document
' обработка дока
endforall
endforall
 

phantom76

Well-Known Member
Lotus team
25.02.2005
360
9
41
RU г.Москва
#7
Спасибо..
въюха как раз для юзеров,
пользователей всего 2-3, но база ок 50Гб ,... в принципе это mailjurnal ...
 
A

Alex_Sun

Гость
#8
Как вариант можно воспользоваться @SetViewInfo( [SETVIEWFILTER] ; filterString ; columnName ; isCategory )
Правда если в поле несеолько значений и надо проверить вхождение( Contains ) то это тебя не спасёт.