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

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

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

ГлБух = ГенДир.Строки.Добавить();
ГлБух.Должность = "Гл. бухгалтер";
ГлБух.Зарплата = 70000;

ЗамГлБух = ГлБух.Строки.Добавить();
ЗамГлБух.Должность = "Зам. гл. бухгалтера";
ЗамГлБух.Зарплата = 60000;

БухРасчет = ГлБух.Строки.Добавить();
БухРасчет.Должность = "Бух. расч. отдела";
БухРасчет.Зарплата = 50000;

ИндексироватьЗарплату(Должности, 10);

Сообщить("Зарплата БухРасчет: " +
    БухРасчет.Зарплата);
//Сообщает: Зарплата БухРасчет: 55 000

&НаСервере
Процедура ИндексироватьЗарплату(Дерево, Процент)
    Для Каждого Позиция Из Дерево.Строки Цикл
        Позиция.Зарплата = Позиция.Зарплата *
            (100 + Процент) / 100;
        ИндексироватьЗарплату(Позиция, Процент);
    КонецЦикла;
КонецПроцедуры