Имя: Пароль:
1C
1С v8
Текущая строка ДереваЗначений в управляемой форме
0 Богдан
 
03.12.12
17:14
Здравствуйте. На управляемой форме табличное поле, связанное с ДЗ. Нужно в обработчике поля ввода "При изменении" получить объект Дерево значения и текущую строку дерева для дальнейшей работы.
Элементы.ДЗ.ТекущаяСтрока выдает идентификатор, который бесполезен при работе с объектом, только с даннми формы.
Модно получить ДанныеФормыЭлементДерева  через ДЗ.НайтиПоИдентификатору(Элементы.ДЗ.ТекущаяСтрока).
Но ДанныеФормыВЗначение(ДЗ.НайтиПоИдентификатору(Элементы.ДЗ.ТекущаяСтрока),Тип("СтрокаДереваЗначений")) не работает.
Это что, с деревом можно работать только через ДанныеФормыДерево?
1 Wobland
 
03.12.12
17:19
а на сервере поработать с деревом?
2 Богдан
 
03.12.12
17:21
(1) конечно, работаю на сервере. Проблема в том, как найти текущую строку.
Сейчас подумал, что идентификатор наверное все-таки можно применить. Если это аналог индекса (только без учета иерархии), то можно пройтись циклом по всей вложенности пока не доберешься до нужного элемента.
3 Богдан
 
03.12.12
17:25
Из синтаксис помощника

"В качестве значений для свойств ТекущаяСтрока, ТекущийРодитель и элемента коллекции, содержащейся в свойстве ВыделенныеСтроки, используется идентификатор строки."

Интересно, можно надеяться, что идентификатор считается с начала дерева или он может работать только в пределах видимых строк?
4 Wobland
 
03.12.12
17:28
"идентификатор считается с начала дерева", "он может работать только в пределах видимых строк" - бред какой-то
5 Богдан
 
03.12.12
17:31
(4) да, вполне возможно, я уже слегка того... Не подскажете как бы вы получили текущую строку ДереваЗначений на форме?
6 Wobland
 
03.12.12
17:32
(5) пробовать не хочу. смотрел бы в свойства элемента
7 Wobland
 
03.12.12
17:33
вон же: ТекущаяСтрока
8 Богдан
 
03.12.12
17:35
"вон же: ТекущаяСтрока" - подумал я пару часов назад. А там ЧИСЛО. В дереве!
9 Wobland
 
03.12.12
17:37
(8) что такого?
Свойство ТекущиеДанные и метод ДанныеСтроки возвращают структуру, заполненную копией данных
10 Wobland
 
03.12.12
17:37
+(9) читал же это уже
11 Богдан
 
03.12.12
17:43
ТекущиеДанные не сервере = "ошибка чтения значения".
ДанныеСтроки не знаю как применить, но вернет все равно  ДанныеФормыЭлементДерева, а не СтрокаДереваЗначений.

Понимаете? Нормального перехода от ДанныеФормыЭлементДерева к СтрокаДереваЗначений похоже просто нет.
12 Wobland
 
03.12.12
17:44
а идентификатор отдать серверу, не?
13 Богдан
 
03.12.12
17:46
(12) Идентификатор есть и на сервере, только это число. А у объекта ДеревоЗначений нет метода, возвращающего СтрокаДереваЗначений по числовому идентификатору, можно получать только элементы дерева по индексу в пределах каждого уровня  иерархии отдельно.
14 Wobland
 
03.12.12
17:47
(13) ты ж сам в (3) обратнок писал
15 Богдан
 
03.12.12
17:47
Для ТаблицыЗначений тут проблем, видимо, нет. Идентификатор элемента формы = Индекс строки объекта.
16 samozvanec
 
03.12.12
17:49
посмотреть там значение какое-нибудь, запомнить, найти на сервере его
17 samozvanec
 
03.12.12
17:50
тебе вобще нафига дерево на сервере? мелочь с одной строкой можно и на клиенте обернуть
18 Богдан
 
03.12.12
17:50
(16) О! это уже мысль! Спасибо.
19 Богдан
 
03.12.12
17:51
(17) у меня может меняться состав строк
20 samozvanec
 
03.12.12
17:51
(19) ЗначениеВРеквизитФормы() не?
21 samozvanec
 
03.12.12
17:51
(20) наоборот)
22 Богдан
 
03.12.12
17:52
(19,20) в (0) указал, что не дает
23 Wobland
 
03.12.12
17:53
что-то сдаётся мне, пора переходить к вопросу "на зачем?"
24 Богдан
 
03.12.12
17:54
(23) э нет! тут интересна именно ситуация, способы решения придумать я и сам могу.