(0) Через метаданные.
Например:
ОбъектМетаданных: Справочник (MetadataObject: Catalog)
КоличествоУровней (LevelCount)
Использование:
Только чтение.
Описание:
Тип: Число.
Максимальное количество уровней иерархии справочника при условии, что свойство ОграничиватьКоличествоУровней имеет значение Истина. Если ОграничиватьКоличествоУровней имеет значение Ложь, то максимальное количество уровней иерархии неограниченно.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.1.
Но суть в любом случае сведется к встраиванию в программу описания всех свойств каждого типа метаданных например в виде макета.
Аналогичный функционал есть и в https://github.com/salexdv/bsl_console . Возможно с нуля там будет проще разобраться.