|
Иерархия по двум справочникам. | ☑ | ||
---|---|---|---|---|
0
kumena
15.11.14
✎
10:12
|
Мини конфигурация с примером, 2 справочника подразделения с иерархией элементов и сотрудники, сотрудники имеют реквизит подразделение.
Необходимо выстроить иерархию в дереве по подразделениям и сотрудникам. Пока получилось выстроить деревом только подразделения, с таким кодом. &НаКлиенте Процедура Заполнить(Команда) // Вставить содержимое обработчика. ЗаполнитьДеревоНаСервере(); КонецПроцедуры Процедура ЗаполнитьДеревоНаСервере() Запрос = Новый Запрос; Запрос.Текст = "Выбрать | | Ссылка КАК ПодразделениеСотрудник | |Из Справочник.ПодразделенияОрганизаций | |Упорядочить по ПодразделениеСотрудник Иерархия | |"; Результат = Запрос.Выполнить(); Если Результат.Пустой() Тогда Возврат; КонецЕсли; ДеревоИерархии = РеквизитФормыВЗначение("Дерево"); //Вариант 1. //ДеревоИерархии = Результат.Выгрузить(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); //Вариант 1=======. //Вариант 2. Выборка = Результат.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); Если Выборка.Количество() > 0 Тогда ДобавитьСтрокиВДерево(Выборка, Неопределено, ДеревоИерархии); КонецЕсли; //Вариант 2=======. ЗначениеВДанныеФормы(ДеревоИерархии, Дерево); КонецПроцедуры Процедура ДобавитьСтрокиВДерево(Выборка, СтрокаРодитель, ДеревоИерархии) Пока Выборка.Следующий() Цикл Если СтрокаРодитель = Неопределено Тогда НоваяСтрока = ДеревоИерархии.Строки.Добавить(); Иначе НоваяСтрока = СтрокаРодитель.Строки.Добавить(); КонецЕсли; НоваяСтрока.ПодразделениеСотрудник = Выборка.ПодразделениеСотрудник; ПодчиненнаяВыборка = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией); Если ПодчиненнаяВыборка.Количество() > 0 Тогда ДобавитьСтрокиВДерево(ПодчиненнаяВыборка, НоваяСтрока, ДеревоИерархии); КонецЕсли; КонецЦикла; КонецПроцедуры т.е. получается так https://cloud.mail.ru/public/ee2b939657d1/2333.png а нужно так https://cloud.mail.ru/public/eee1cf42ccbe/2334.png задача - нужно дописать выборку сотрудников. кому интересно - вот тут демоконфигурация примера на 8.2 https://cloud.mail.ru/public/bcb8e21b47fe/demo2.dt |
|||
1
kumena
15.11.14
✎
10:18
|
ссылки на скриншоты кривовато вонзились, еще раз.
https://cloud.mail.ru/public/ee2b939657d1/2333.png https://cloud.mail.ru/public/eee1cf42ccbe/2334.png |
|||
2
kumena
15.11.14
✎
12:25
|
всем спасибо за понимание, все получилось!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |