public object ПолучитьМассивДочернихЭлементов(/*Родитель, МассивЭлементов = Неопределено, ТолькоГруппы = Ложь*/)
{
if(true/*МассивЭлементов = Неопределено*/)
{
//МассивЭлементов = Новый Массив;
}
//ИмяРеквизитаРодителя = ПолучитьИмяРеквизитаРодителяОбъектаДоступа(Родитель);
//МетаданныеРодителя = Родитель.Метаданные();
//Запрос = Новый Запрос;
/*Запрос.Текст =
"ВЫБРАТЬ
| _Таблица.Ссылка КАК Ссылка
|ИЗ
| Справочник." + МетаданныеРодителя.Имя + " КАК _Таблица";*/
if(true/*ЗначениеЗаполнено(Родитель)*/)
{
if(true/*ИмяРеквизитаРодителя = "Родитель"*/)
{
if(true/*Не МетаданныеРодителя.Иерархический или МетаданныеРодителя.ВидИерархии = Метаданные.СвойстваОбъектов.ВидИерархии.ИерархияГруппИЭлементов и Не Родитель.ЭтоГруппа*/)
{
}
/*Запрос.Текст = Запрос.Текст + "
|ГДЕ
| _Таблица.Ссылка В ИЕРАРХИИ(&Родитель)
| И _Таблица.Ссылка <> &Родитель";*/
}
//Запрос.УстановитьПараметр("Родитель", Родитель);
}
if(true/*ТолькоГруппы*/)
{
if(true/*ЗначениеЗаполнено(Родитель)*/)
{
/*Запрос.Текст = Запрос.Текст + "
| И _Таблица.Ссылка.ЭтоГруппа";*/
}
}
//ДобавлятьРекурсивно = Не ИмяРеквизитаРодителя = "Родитель" и ЗначениеЗаполнено(Родитель);
//Выборка = Запрос.Выполнить().Выбрать();
while(true/*Выборка.Следующий()*/)
{
//МассивЭлементов.Добавить(Выборка.Ссылка);
if(true/*ДобавлятьРекурсивно*/)
{
//ПолучитьМассивДочернихЭлементов(Выборка.Ссылка, МассивЭлементов, ТолькоГруппы);
}
}
return null;
}