|
Как в УФ изменить список выбора поля дерева? |
☑ |
0
vde69
09.03.17
✎
10:31
|
в обычных формах есть работающий код,
Процедура ДеревоНастроекВидОперацииНачалоВыбораИзСписка(Элемент, СтандартнаяОбработка)
Элемент.СписокВыбора.Очистить();
мСтр = ЭлементыФормы.ДеревоНастроек.ТекущаяСтрока;
Если мСтр.Уровень() = 0 Тогда
Элемент.СписокВыбора.Добавить("CashFlow");
ИначеЕсли мСтр.Уровень() = 1 Тогда
Элемент.СписокВыбора.Добавить("ОборотДТ");
Элемент.СписокВыбора.Добавить("ОборотКТ");
ИначеЕсли мСтр.Уровень() = 2 Тогда
мИмяРодителя = мСтр.Родитель.Наименование;
Если мИмяРодителя = "Отбор" Тогда
Элемент.СписокВыбора.Добавить("ОборотДТ");
Элемент.СписокВыбора.Добавить("ОборотКТ");
ИначеЕсли мИмяРодителя = "Вывод" Тогда
Элемент.СписокВыбора.Добавить("ОборотДТ");
Элемент.СписокВыбора.Добавить("ОборотКТ");
ИначеЕсли мИмяРодителя = "Распределение" Тогда
Элемент.СписокВыбора.Добавить("База");
Элемент.СписокВыбора.Добавить("Коэффициент");
КонецЕсли;
КонецЕсли;
КонецПроцедуры
не могу понять как получить текущую строку дерева, и его поля в
Процедура ДеревоНастроекВыгрузкаВидОперацииНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
....
|
|
1
DrShad
09.03.17
✎
10:32
|
ДанныеВыбора
|
|
2
vde69
09.03.17
✎
10:32
|
работающий код на обычных формах
|
|
3
vde69
09.03.17
✎
10:32
|
(1) там пусто
|
|
4
DrShad
09.03.17
✎
10:34
|
(3) это на УФ аналог списка выбора
|
|
5
vde69
09.03.17
✎
10:36
|
(4) изменять список выбора можно так
Элемент.СписокВыбора.Очистить();
Элемент.СписокВыбора.Добавить("CashFlow");
а у меня другой вопрос, как получить поле текущей строки, аналог этих двух строк:
мСтр = ЭлементыФормы.ДеревоНастроек.ТекущаяСтрока;
Если мСтр.Уровень() = 0 Тогда
|
|
6
DrShad
09.03.17
✎
10:43
|
Элементы.ДеревоНастроек.ТекущаяСтрока что дает?
|
|
7
vde69
09.03.17
✎
10:43
|
нашел
Элементы.ДеревоНастроекВыгрузка.ТекущиеДанные
|
|
8
DrShad
09.03.17
✎
10:43
|
если число, то это ИД строки и по нему можно получить строку
|
|
9
НЕА123
09.03.17
✎
10:47
|
мСтр = ДеревоНастроек(Элементы.ДеревоНастроек.ТекущаяСтрока)
|
|
10
vde69
10.03.17
✎
12:58
|
теперь другой вопрос
Как получить ИД строки родителя текущей?
|
|
11
НЕА123
10.03.17
✎
13:10
|
ДеревоНастроек[Элементы.ДеревоНастроек.ТекущаяСтрока].ПОлучитьРодителя().ПолучитьИдентификатор()
|
|
12
НЕА123
10.03.17
✎
13:12
|
(11)+ это про ДанныеФормыЭлементДерева
|
|
13
vde69
10.03.17
✎
13:13
|
(11) спасибо
сделал так
&НаКлиенте
Процедура ДеревоНастроекВыгрузкаПриИзменении(Элемент)
мРодитель = ДеревоНастроекВыгрузка.НайтиПоИдентификатору(Элемент.ТекущаяСтрока).ПолучитьРодителя();
Элемент.ТекущиеДанные.Уровень = мРодитель.Уровень + 1;
Элемент.ТекущиеДанные.ИмяРодителя = мРодитель.Наименование;
КонецПроцедуры
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший