|   |   | 
| 
 | Иерархия по двум справочникам. | ☑ | ||
|---|---|---|---|---|
| 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 | 
        всем спасибо за понимание, все получилось!     | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |