|
Как на УФ на форме заполнить существующее дерево значений?
| ☑ |
0
Prog111
05.05.17
✎
12:44
|
Что-то я совсем запутался. Обыскался по интернету - везде один и тот же пример по программному созданию элемента формы вида дерева значений. А мне нужно поработать с существующим (созданным в конфигураторе) деревом значений на форме. Например, добавить колонки, строки, заполнить их.
Вот в конфигураторе на управляемой форме создал реквизит "ОборудованиеКонтрагента" с типом Дерево значений, перенёс его в левую часть панели, обозвал ОборудованиеКонтрагентаФорма.
Как на клиенте добавить колонку и строки на форме?
|
|
1
polosov
05.05.17
✎
13:06
|
(0)
&НаКлиенте
Процедура ДобСтроку(Команда)
А = Дер.ПолучитьЭлементы();
Б = А.Добавить();
Б.Кол1 = "ПерваяСтрока";
В = Б.ПолучитьЭлементы().Добавить();
В.Кол2 = "Вложенная ВтораяСтрока";
КонецПроцедуры
Где Дер - Реквизит формы типа ДеревоЗначений
Кол1 и Кол2 - колонки дерева.
|
|
2
Prog111
05.05.17
✎
13:25
|
(1) Спасибо, так тоже попробую.
|
|
3
Prog111
05.05.17
✎
13:26
|
Сделал так:
ДеревоОбъект = РеквизитФормыВЗначение("ОборудованиеКонтрагента");
ДеревоОбъект.Колонки.Добавить("Узел", Новый ОписаниеТипов("Строка"), "Имя1");
Для к1 = 1 По 3 Цикл
СтрокаУ1 = ДеревоОбъект.Строки.Добавить();
СтрокаУ1.Узел = "Узел"+к1;
Для к2 = 1 По 3 Цикл
СтрокаУ2 = СтрокаУ1.Строки.Добавить();
СтрокаУ2.Узел = СтрокаУ1.Узел+к2;
Для к3 = 1 По 3 Цикл
СтрокаУ3 = СтрокаУ2.Строки.Добавить();
СтрокаУ3.Узел = СтрокаУ2.Узел+к3;
КонецЦикла;
КонецЦикла;
КонецЦикла;
ЗначениеВРеквизитФормы(ДеревоОбъект, "ОборудованиеКонтрагента");
Дерево заполнилось, но почему-то имя колонки не отображается ("Имя1").
|
|
4
DailyLookingOnA Sunse
05.05.17
✎
14:03
|
Элемент формы нужно еще добавить.
|
|
5
тарам пам пам
05.05.17
✎
14:10
|
(3) потому что нужно не РеквизитФормыВЗначение/ЗначениеВРеквизитФормы делать, а вот так:
Колонка = Новый РеквизитФормы("ИмяКолонки", Новый ОписаниеТипов("Число"), "ИмяДереваЗначений");
ДобавляемыеРеквизиты = Новый Массив;
ДобавляемыеРеквизиты.Добавить(Колонка);
ИзменитьРеквизиты(ДобавляемыеРеквизиты);
+ после этого еще поле на форму добавить
|
|