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

Программирование на Атлантисе (VIP, FCOM, ARD), FastReport

Модераторы: m0p3e, edward_K, Модераторы

Ответить
Buddy
Постоянный обитатель
Сообщения: 119
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

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

Сообщение Buddy »

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

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

Сообщение 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 поменять поля местами , но там работы на порядок больше - надо проверять все события вставки, обновления и так далее.
Buddy
Постоянный обитатель
Сообщения: 119
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

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

Сообщение Buddy »

Edward_K, спасибо, попробую с баундсами.
Den
Местный житель
Сообщения: 1842
Зарегистрирован: 29 мар 2005, 17:49
Откуда: Ярославская область ОАО "Часовой завод Чайка" г. Углич
Контактная информация:

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

Сообщение Den »

Buddy, множественный фильтр по назначениям, при большом количестве basedoc-ов - будет тормоз (
Buddy
Постоянный обитатель
Сообщения: 119
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

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

Сообщение Buddy »

Знаю, коллеги уже подсказывали. Но если клиент хочет...
Buddy
Постоянный обитатель
Сообщения: 119
Зарегистрирован: 02 июн 2016, 15:18
Откуда: Галактика СПб

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

Сообщение Buddy »

Edward_K, спасибо, ваш совет помог, фильтрация работает :cool:
Ответить