Страница 1 из 1

Множественная фильтрация по назначению в VSCHETP

Добавлено: 17 ноя 2017, 19:32
Buddy
Требуется в стандартное окно фильтра ДО (L_BASEDOC::VSCHETP) добавить множественный фильтр по назначению (BaseDoc.cKatNazna).
Что уже сделано:
- визуально добавлен фильтр с возможностью выбора нескольких назначений;
- выбранные назначения сохраняются в маркер и из него их нреки сохраняются во временную таблицу tmpKatNazna в столбец nrec.
Добавил в альтере к create view условие and BaseDoc.cNazna == tmpKatNazna.nrec.
Собственно, никак не получается применить фильтр к BaseDoc, т.е. из BaseDoc выбрать только те записи, где cNazna = tmpKatNazna.nrec, при этом, конечно, чтобы другие существующие фильтры тоже продолжали работать.
Чувствую, это делается как-то очень просто, но не могу понять как. Подскажите, плиз, как правильно отфильтровать таблицу по нескольким назначениям.

Re: Множественная фильтрация по назначению в VSCHETP

Добавлено: 19 ноя 2017, 00:41
edward_K
bounds byNazna BaseDoc.cNazna /== tmpKatNazna.nrec - жесткая подцепка = inner join
соотв. в функции наложения стандартных фильтров нужно что то такое

Код: Выделить всё

if BoundActive(tbByNazna) Sub_Bounds(tbByNazna)
inherited::....
if ...
  ADD_Bounds(tbByNazna)
Накрайняк можно и PushConDitionEX сделать(для FoundMarker уже) - но это в несколько раз медленее. Ну еще фишка есть - поменять таблицу у browse через функции конфигуратора,в bounds поменять поля местами , но там работы на порядок больше - надо проверять все события вставки, обновления и так далее.

Re: Множественная фильтрация по назначению в VSCHETP

Добавлено: 19 ноя 2017, 00:44
Buddy
Edward_K, спасибо, попробую с баундсами.

Re: Множественная фильтрация по назначению в VSCHETP

Добавлено: 20 ноя 2017, 12:23
Den
Buddy, множественный фильтр по назначениям, при большом количестве basedoc-ов - будет тормоз (

Re: Множественная фильтрация по назначению в VSCHETP

Добавлено: 20 ноя 2017, 12:32
Buddy
Знаю, коллеги уже подсказывали. Но если клиент хочет...

Re: Множественная фильтрация по назначению в VSCHETP

Добавлено: 21 ноя 2017, 21:10
Buddy
Edward_K, спасибо, ваш совет помог, фильтрация работает :cool: