|
Как в динамическом списке установить отбор элементов дерева с сохранением подчиненности |
☑ |
0
chigsrOck
01.08.19
✎
18:33
|
Есть справочник с иерархией элементов. В форме выбора с динамическим списком нужно отразить его в виде дерева(по иерархии), но с отбором по некоторому признаку(пусть, например, скрываются помеченные на удаление)
Тогда если у элемента родитель помечен на удаление, то нужно чтобы в дереве родитель не выводился, а родительским элементом стал его "дед" т.е. Родитель.Родитель (если он сам не помечен на удаление), таким образом за счет устранения разрывов иерархии в результате отборов, будет сформирована как бы новая иерархия справочника. Можно такую штуку сделать в запросе динамического списка или тут только вручную рисовать и выводить дерево? Спасибо.
|
|
1
palsergeich
01.08.19
✎
18:43
|
(0) нет в тексте ДС эту задачу не решить, ибо на иерархию в нем ты повлиять не можешь
|
|
2
palsergeich
01.08.19
✎
18:44
|
А что мешает сам справочник привести к требуемому виду?
|
|
3
chigsrOck
01.08.19
✎
20:10
|
(2) Структура справочника - это отдельный разговор, его нужно перестраивать, делать иерархию групп и элементов, чтобы отбор по "детальному" реквизиту не распространялся на групповые элементы и т.д., но это отдельная и долгая тема. Сейчас надо просто упростить подбор элементов в форме выбора, так, чтобы с установленным отбором можно было видеть структуру справочника, поэтому надо, чтобы помимо отбора по конкретному реквизиту "детального" элемента, в дерево выводились все его родители с аналогичным значением реквизита или с пустой ссылкой.
|
|
4
vde69
01.08.19
✎
20:26
|
твоя задача из разряда RLS когда нужно скрыть группы где нет доступных элементов...
у меня есть испытанное решение:
в запросе делаешь условие
ГДЕ УсловиеЧтоЭлементДоступный или Ссылка в (&МассивРазрешенныхГрупп)
при открытии формы списка, или подбора заполняешь этот параметр, а так-же по событиям обновления элементов
|
|
5
palsergeich
01.08.19
✎
20:27
|
(4) да но только на иерархию это не особо работает
|
|
6
palsergeich
01.08.19
✎
20:28
|
(4) + нет подмены групп
|
|
7
vde69
01.08.19
✎
20:29
|
(5) (6) работает везде, просто надо правильно все настроить :)
|
|
8
vde69
01.08.19
✎
20:33
|
(7) +
единственный минус - если слишком много элементов в массиве (более 500)
|
|
9
chigsrOck
01.08.19
✎
20:37
|
(4) Хм...А как динамический список догадается, что разрешенные элементы запрещенной группы-родителя нужно переподчинить вышестоящей по иерархии разрешенной группе? В запросе с "Упорядочить ссылка по иерархии" такая конструкция тоже сработает?Ж8()
|
|
10
vde69
01.08.19
✎
20:41
|
(9) ни как... такое сделать в динамическом списке не возможно...
я про то, как скрыть не нужную иерархию, разумеется включая все подчиненные элементы
например я делю иерархию
1. легалы
1.1 иванов
1.2 петров
2. не легалы
2.1 джамшут
и не хочу, что-бы проверяющий видел группу "не легалы"
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой