В данном примере добавим колонку "Водитель" на форме обработки, которая управляет доставкой.
Сначала создаём колонку в процедуре "ПриСозданииНаСервере".
&НаСервере
Процедура расш_ПриСозданииНаСервереПосле(Отказ, СтандартнаяОбработка)
расш_СоздатьКолонкуВодитель();
расш_ЗаполнитьКолонкуВодитель();
КонецПроцедуры
Но создать колонку только в процедуре "ПриСозданииНаСервере" недостаточно.
Необходимо создавать её при каждом выполнении процедуры "СохранитьЗаданияОбновитьСписки", потому что дерево будет формироваться каждый раз заново.
&НаСервере
&После("СохранитьЗаданияОбновитьСписки")
Процедура расш_СохранитьЗаданияОбновитьСписки()
расш_СоздатьКолонкуВодитель();
расш_ЗаполнитьКолонкуВодитель();
КонецПроцедуры
Проверяем, существует ли уже колонка, и создаём, если она ещё не создана.
Внимательно смотрим, в какую группу вставить свой элемент. На форме могут быть колонки, объединённые в группы.
&НаСервере
Процедура расш_СоздатьКолонкуВодитель()
расш_Дерево = РеквизитФормыВЗначение("ЗаданияНаПеревозкуПланируемые");
Если расш_Дерево.Колонки.Найти("расш_Водитель") = Неопределено Тогда
МассивДобавляемыхРеквизитов = Новый Массив;
ТипРеквизитаСтрока = Новый ОписаниеТипов("Строка");
МассивДобавляемыхРеквизитов.Добавить(Новый РеквизитФормы("расш_Водитель", ТипРеквизитаСтрока, "ЗаданияНаПеревозкуПланируемые"));
ИзменитьРеквизиты(МассивДобавляемыхРеквизитов);
расш_ВодительЭлемент = Элементы.Вставить("расш_ВодительЭлемент", Тип("ПолеФормы"), ЭтаФорма.Элементы.ЗаданияНаПеревозкуПланируемыеГруппаТранспорт, ЭтаФорма.Элементы.ЗаданияНаПеревозкуПланируемыеТранспорт);
расш_ВодительЭлемент.Вид = ВидПоляФормы.ПолеВвода;
расш_ВодительЭлемент.ПутьКДанным = "ЗаданияНаПеревозкуПланируемые.расш_Водитель";
расш_ВодительЭлемент.Заголовок = "Водитель";
КонецЕсли;
КонецПроцедуры
Заполняем нашу колонку значениями.
Напрямую взаимодействовать с деревом значений не получится.
Нужно использовать метод РеквизитФормыВЗначение("ЗаданияНаПеревозкуПланируемые").
&НаСервере
Процедура расш_ЗаполнитьКолонкуВодитель()
расш_Дерево = РеквизитФормыВЗначение("ЗаданияНаПеревозкуПланируемые");
Для каждого СтрокаДЗ Из расш_Дерево.Строки Цикл
СтрокаДЗ.расш_Водитель = ""+СтрокаДЗ.Ссылка.Водитель;
КонецЦикла;
ЗначениеВРеквизитФормы(расш_Дерево,"ЗаданияНаПеревозкуПланируемые");
КонецПроцедуры