0
1dvd
19.11.13
✎
07:55
|
Помогите разобраться с выводом в дерево значений результата запроса по средствам выборки с иерархией
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ
| НастройкиПользователей.Пользователь КАК Пользователь,
| НастройкиПользователей.Настройка,
| НастройкиПользователей.Значение
|ИЗ
| РегистрСведений.НастройкиПользователей КАК НастройкиПользователей
|ГДЕ
| НастройкиПользователей.Настройка В(&Настройки)
|ИТОГИ ПО
| Пользователь ИЕРАРХИЯ";
Запрос.УстановитьПараметр("Настройки", МассивНастроекПользователяПоПравам);
ВыборкаПользователь = Запрос.Выполнить().Выбрать(ОбходРезультатаЗапроса.ПоГруппировкамСИерархией);
ДобавитьПользователя(Результат, ВыборкаПользователь);
...
Процедура ДобавитьПользователя(Дерево, Выборка)
Пока Выборка.Следующий() Цикл
НовыйПользователь = Дерево.Строки.Добавить();
НовыйПользователь.Пользователь = Выборка.Пользователь;
Если НовыйПользователь.Пользователь.ЭтоГруппа Тогда
НоваяВыборка = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам, Выборка.Группировка());
ДобавитьПользователя(НовыйПользователь, НоваяВыборка);
Иначе
ВыборкаНастроек = Выборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
Пока ВыборкаНастроек.Следующий() Цикл
ИмяНастройки = ПланыВидовХарактеристик.НастройкиПользователей.ПолучитьИмяПредопределенного(ВыборкаНастроек.Настройка);
НовыйПользователь[ИмяНастройки] = ВыборкаНастроек.Значение;
КонецЦикла;
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Всё замечательно, но выходит только первый уровень справочника. Что делаю не так?
|
|