Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как в динамическом списке установить отбор элементов дерева с сохранением подчиненности

Как в динамическом списке установить отбор элементов дерева с сохранением подчиненности
Я
   chigsrOck
 
01.08.19 - 18:33
Есть справочник с иерархией элементов. В форме выбора с динамическим списком нужно отразить его в виде дерева(по иерархии), но с отбором по некоторому признаку(пусть, например, скрываются помеченные на удаление)
Тогда если у элемента родитель помечен на удаление, то нужно чтобы в дереве родитель не выводился, а родительским элементом стал его "дед" т.е. Родитель.Родитель (если он сам не помечен на удаление), таким образом за счет устранения разрывов иерархии в результате отборов, будет сформирована как бы новая иерархия справочника. Можно такую штуку сделать в запросе динамического списка или тут только вручную рисовать и выводить дерево? Спасибо.
 
 
   palsergeich
 
1 - 01.08.19 - 18:43
(0) нет в тексте ДС эту задачу не решить, ибо на иерархию в нем ты повлиять не можешь
   palsergeich
 
2 - 01.08.19 - 18:44
А что мешает сам справочник привести к требуемому виду?
   chigsrOck
 
3 - 01.08.19 - 20:10
(2) Структура справочника -  это отдельный разговор, его нужно перестраивать, делать иерархию групп и элементов, чтобы отбор по "детальному" реквизиту не распространялся на групповые элементы и т.д., но это отдельная и долгая тема. Сейчас надо просто упростить подбор элементов в форме выбора, так, чтобы с установленным отбором можно было видеть структуру справочника, поэтому надо, чтобы помимо отбора по конкретному реквизиту "детального" элемента, в дерево выводились все его родители с аналогичным значением реквизита или с пустой ссылкой.
   vde69
 
4 - 01.08.19 - 20:26
твоя задача из разряда RLS когда нужно скрыть группы где нет доступных элементов...

у меня есть испытанное решение:

в запросе делаешь условие
ГДЕ УсловиеЧтоЭлементДоступный или Ссылка в (&МассивРазрешенныхГрупп)

при открытии формы списка, или подбора заполняешь этот параметр, а так-же по событиям обновления элементов
   palsergeich
 
5 - 01.08.19 - 20:27
(4) да но только на иерархию это не особо работает
   palsergeich
 
6 - 01.08.19 - 20:28
(4) + нет подмены групп
   vde69
 
7 - 01.08.19 - 20:29
(5) (6) работает везде, просто надо правильно все настроить :)
   vde69
 
8 - 01.08.19 - 20:33
(7) +
единственный минус - если слишком много элементов в массиве (более 500)
   chigsrOck
 
9 - 01.08.19 - 20:37
(4) Хм...А как динамический список догадается, что разрешенные элементы запрещенной группы-родителя нужно переподчинить вышестоящей по иерархии разрешенной группе? В запросе с "Упорядочить ссылка по иерархии" такая конструкция тоже сработает?Ж8()
   vde69
 
10 - 01.08.19 - 20:41
(9) ни как... такое сделать в динамическом списке не возможно...

я про то, как скрыть не нужную иерархию, разумеется включая все подчиненные элементы


например я делю иерархию
1. легалы
 1.1 иванов
 1.2 петров
2. не легалы
 2.1 джамшут

и не хочу, что-бы проверяющий видел группу "не легалы"

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.