1С 8.3 Вывести Дерево Значений на форму
Данные > Примеры кода 1С > 1С 8.3 Дерево значений
Перейти в раздел примеры кода 1С 8.3:
Вывести ДеревоЗначений на форму в 1С 8.3:
&НаСервере
Процедура ВывестиДеревоЗначенийНаФорму(ДЗ, Форма)
// Создание Реквизита формы типа ДанныеФормыДерево
МассивРеквизитов = Новый Массив;
МассивРеквизитов.Добавить(Новый РеквизитФормы("Дерево", Новый ОписаниеТипов("ДеревоЗначений")));
Для Каждого КолонкаДЗ Из ДЗ.Колонки Цикл
МассивРеквизитов.Добавить(Новый РеквизитФормы(КолонкаДЗ.Имя, КолонкаДЗ.ТипЗначения, "Дерево"));
КонецЦикла;
Форма.ИзменитьРеквизиты(МассивРеквизитов);//(<ДобавляемыеРеквизиты>, <УдаляемыеРеквизиты>)
// Преобразование объекта "ДеревоЗначений" в реквизит УФ (данные формы)
Форма.ЗначениеВРеквизитФормы(ДЗ, "Дерево"); //(<Значение>, <ИмяРеквизита>)
// Создание элемента формы типа "ТаблицаФормы" для отображения дерева
ДеревоЭлемент = Форма.Элементы.Добавить("Дерево", Тип("ТаблицаФормы"));
ДеревоЭлемент.ПутьКДанным = "Дерево";
ДеревоЭлемент.Отображение = ОтображениеТаблицы.Дерево;
// Цикл по дереву значений
Для Каждого КолонкаДЗ Из ДЗ.Колонки Цикл
НовыйЭлемент = Форма.Элементы.Добавить(КолонкаДЗ.Имя, Тип("ПолеФормы"), ДеревоЭлемент);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "Дерево." + КолонкаДЗ.Имя;
КонецЦикла;
КонецПроцедуры
Процедура ВывестиДеревоЗначенийНаФорму(ДЗ, Форма)
// Создание Реквизита формы типа ДанныеФормыДерево
МассивРеквизитов = Новый Массив;
МассивРеквизитов.Добавить(Новый РеквизитФормы("Дерево", Новый ОписаниеТипов("ДеревоЗначений")));
Для Каждого КолонкаДЗ Из ДЗ.Колонки Цикл
МассивРеквизитов.Добавить(Новый РеквизитФормы(КолонкаДЗ.Имя, КолонкаДЗ.ТипЗначения, "Дерево"));
КонецЦикла;
Форма.ИзменитьРеквизиты(МассивРеквизитов);//(<ДобавляемыеРеквизиты>, <УдаляемыеРеквизиты>)
// Преобразование объекта "ДеревоЗначений" в реквизит УФ (данные формы)
Форма.ЗначениеВРеквизитФормы(ДЗ, "Дерево"); //(<Значение>, <ИмяРеквизита>)
// Создание элемента формы типа "ТаблицаФормы" для отображения дерева
ДеревоЭлемент = Форма.Элементы.Добавить("Дерево", Тип("ТаблицаФормы"));
ДеревоЭлемент.ПутьКДанным = "Дерево";
ДеревоЭлемент.Отображение = ОтображениеТаблицы.Дерево;
// Цикл по дереву значений
Для Каждого КолонкаДЗ Из ДЗ.Колонки Цикл
НовыйЭлемент = Форма.Элементы.Добавить(КолонкаДЗ.Имя, Тип("ПолеФормы"), ДеревоЭлемент);
НовыйЭлемент.Вид = ВидПоляФормы.ПолеВвода;
НовыйЭлемент.ПутьКДанным = "Дерево." + КолонкаДЗ.Имя;
КонецЦикла;
КонецПроцедуры
0
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник