Последняя версия DataExpress 3 beta от 20 сентября 2018 года. Скачать. Энциклопедия DX. Форум на Develop-Soft

Запрос на форме с иерархией

Создание, изменение, фильтрация и выбор данных.
cordek
Интересующийся
Сообщения: 236
Зарегистрирован: Вс май 14, 2017 2:53 pm

Запрос на форме с иерархией

Сообщение cordek » Ср мар 07, 2018 9:45 pm

Здравствуйте, коллеги!
Понадобилось мне сделать запрос по показателям продукции.
Продукция входит в разные группы, группы образуют иерархию, поэтому я предположил что будет удобно прописывать показатели не для каждого вида продукции, а для группы. При чем, чем ближе к корню поднимаемся, тем меньше общих показателей.
Сделал форму связь с полями (Группа, Продукция, Показатель). и запрос на форме продукция с источником форма Связь с фильтрацией по группе или продукции.
И вот мне то надо, чтобы отбирались те показатели, которые указаны и для корневых групп и для текущей группы продукции. а запрос работает наоборот, для корневой группы отбирает все показатели дочерних.
пример приложил.
Вложения
112.zip
(49.41 КБ) 14 скачиваний

Аватара пользователя
admin
Разработчик
Сообщения: 3781
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Запрос на форме с иерархией

Сообщение admin » Ср мар 07, 2018 10:11 pm

Фильтрация по иерархии только так и работает: текущая группа и все ее подгруппы. Хранить значения нужно только для конечных узлов дерева. Т. е. в данном случае нельзя сопоставлять показателям промежуточные группы (Корень, Корень\Группа 1), т. к. эти группы имеют подгруппы.

cordek
Интересующийся
Сообщения: 236
Зарегистрирован: Вс май 14, 2017 2:53 pm

Re: Запрос на форме с иерархией

Сообщение cordek » Чт мар 08, 2018 7:38 am

Ясно, значит придётся на форме связь прописывать отдельные поля под каждый элемент пути иерархии. И по ним фильтровать.

cordek
Интересующийся
Сообщения: 236
Зарегистрирован: Вс май 14, 2017 2:53 pm

Re: Запрос на форме с иерархией

Сообщение cordek » Вс мар 11, 2018 8:52 pm

Сделал правильный отбор в запросе, пришлось добавить одно поле на форму с вычислением фрагмента пути, а в запросе сделать фильтр сранвения со всеми возможными фрагментами пути.
Вложения
отбор по иерархии.zip
(46.94 КБ) 14 скачиваний

Аватара пользователя
admin
Разработчик
Сообщения: 3781
Зарегистрирован: Пн мар 14, 2016 11:32 am
Откуда: Ленинградская

Re: Запрос на форме с иерархией

Сообщение admin » Вс мар 11, 2018 10:11 pm

Интересное решение. Но отбор будет неправильный, если в иерархии будут встречаться группы с одинаковыми названиями. Добавил в группу "Г 1 - 2" подгруппу "Г 1 - 1" и связал его с новым показателем. Новый показатель попадает в выборку не зависимо от того, какая группа "Г 1 - 1" была выбрана. Может быть еще номер уровня добавить в условие?

cordek
Интересующийся
Сообщения: 236
Зарегистрирован: Вс май 14, 2017 2:53 pm

Re: Запрос на форме с иерархией

Сообщение cordek » Вс мар 11, 2018 10:28 pm

Названия групп врядли будут повторяться.
Можно конечно к каждой ещё идентификатор добавлять. Тогда будет совсем индивидуально, или даже фильтровать только по идентификатору.