Обычно запросом получают данные с итогами и потом обходом результата запроса по группировкам строят дерево.
Вы можете получать данные по уровням через найтиСтроки в таблице значений.
Есть два вида языков, одни постоянно ругают, а вторыми никто не пользуется.