В глобальник кидаем одну функцию
Функция глПолучитьСписокЭлементов(Иерархически,ТекРодитель,Конт) Экспорт
Спр=СоздатьОбъект("Справочник."+Конт.Вид());
Сп=СоздатьОбъект("СписокЗначений");
Если Иерархически=1 Тогда
Спр.ВключатьПодчиненные(0);
Спр.ИспользоватьРодителя(ТекРодитель);
КонецЕсли;
Спр.ВыбратьЭлементы();
Пока Спр.ПолучитьЭлемент()=1 Цикл
Если Спр.ПометкаУдаления()=0 Тогда
Сп.ДобавитьЗначение(Спр.ТекущийЭлемент());
КонецЕсли;
КонецЦикла;
Возврат Сп;
КонецФункции
В форме списка справочника:
Процедура ПриВыбореРодителя(Элемент)
ИспользоватьСписокЭлементов(глПолучитьСписокЭлементов(1,Элемент,Контекст));
КонецПроцедуры
Процедура ПриОткрытии()
ИспользоватьСписокЭлементов(глПолучитьСписокЭлементов(ИерархическийСписок(),Родитель,Контекст));
КонецПроцедуры //ПриОткрытии
Процедура ПриСменеИерархии(Иерархически)
ИспользоватьСписокЭлементов(глПолучитьСписокЭлементов(Иерархически,Родитель,Контекст));
КонецПроцедуры