//Доступно при выполнении на сервере
Должности = Новый ДеревоЗначений;
Должности.Колонки.Добавить("Должность");
Должности.Колонки.Добавить("Количество");
ГенДир = Должности.Строки.Добавить();
ГенДир.Должность = "Ген. директор";
ГенДир.Количество = 1;
ГлБух = ГенДир.Строки.Добавить();
ГлБух.Должность = "Гл. бухгалтер";
ГлБух.Количество = 1;
ЗамГлБух = ГлБух.Строки.Добавить();
ЗамГлБух.Должность = "Зам. гл. бухгалтера";
ЗамГлБух.Количество = 1;
БухРасчет = ГлБух.Строки.Добавить();
БухРасчет.Должность = "Бух. расч. отдела";
БухРасчет.Количество = 3;
ПоказатьДерево(Должности);
//Сообщает: Ген. директор: 1 ед.
// Гл. бухгалтер: 1 ед.
// Зам. гл. бухгалтера: 1 ед.
// Бух. расч. отдела: 3 ед.
&НаСервере
Процедура ПоказатьДерево(Дерево, Уровень = 1)
Пробелы = " ";
Для Каждого Позиция Из Дерево.Строки Цикл
Стр = Позиция.Должность + ": " +
Позиция.Количество + " ед.";
//Отступ для подчинённых строк
Отступ = Лев(Пробелы, (Уровень - 1)*2);
Сообщить(Отступ + Стр);
ПоказатьДерево(Позиция, Уровень + 1);
КонецЦикла;
КонецПроцедуры