Массивы и коллекции / Дерево значений

//Доступно при выполнении на сервере
Должности = Новый ДеревоЗначений;
Должности.Колонки.Добавить("Должность");
Должности.Колонки.Добавить("Количество");

ГенДир = Должности.Строки.Добавить();
ГенДир.Должность = "Ген. директор";
ГенДир.Количество = 1;

ФинДир = ГенДир.Строки.Добавить();
ФинДир.Должность = "Фин. директор";
ФинДир.Количество = 1;

КомДир = ГенДир.Строки.Добавить();
КомДир.Должность = "Ком. директор";
КомДир.Количество = 1;

Торг = КомДир.Строки.Добавить();
Торг.Должность = "Торг. представитель";
Торг.Количество = 3;
//Должности = Ген. директор : 1
//              Фин. директор : 1
//              Ком. директор : 1
//                Торг. представитель : 3
Сообщить("Должности = " + Символы.ПС +
    Представление(Должности.Строки"  "));

Функция Представление(Знач Ветви, Знач Отступ)
    Части = Новый Массив;
    Для Каждого Ветвь Из Ветви Цикл
        Части.Добавить(Отступ +
            Ветвь.Должность + " : " +
            Ветвь.Количество);
        Если Ветвь.Строки.Количество() > 0 Тогда
            Части.Добавить(Представление(
                Ветвь.Строки, Отступ + "  "));
        КонецЕсли;
    КонецЦикла;
    Возврат СтрСоединить(Части, Символы.ПС);
КонецФункции