Имя: Пароль:
1C
1С v8
Как получить имена колонок дерева значений ?
,
0 rogachev
 
20.08.19
23:19
обход коллекции в цикле не прокатывает
1 palsergeich
 
20.08.19
23:31
(0) Для каждого колонка Из дерево.колонки цикл
ИМЯКОЛОНКИ = колонка.Имя
Конеццикла
2 palsergeich
 
20.08.19
23:33
Но если дерево - реквизит формы те имеет тип не дерево значений а Данныеформыблаблабла то только с выгрузкой именно в дерево, иначе никак.
3 rogachev
 
20.08.19
23:35
(1) Для каждого колонка Из Элементы.ДеревоЦен.колонки цикл
так?
4 palsergeich
 
20.08.19
23:38
(3) Нет.
Так не пойдет.
Это не дерево, а данныеФормы что то там.
Так можно получить только колонки, которые отображаются на форме.
Реального способа точно получить все колонки на клиенте - нет, я в свое время провел изыскания.
вариант 1 - обратиться на сервер и сделать там -
Дерево = МойРеквизит.Выгрузить()
Для каждого колонка Из дерево.колонки цикл
ИМЯКОЛОНКИ = колонка.Имя
Конеццикла
Вариант 2 - При создании на сервере и при изменении реквизитного состава кешировать имена колонок например в реквизит формы.
5 palsergeich
 
20.08.19
23:39
Дерево = РеквизитФормыВЗначение("ИмяРеквизита")
Для каждого колонка Из дерево.колонки цикл
ИМЯКОЛОНКИ = колонка.Имя
Конеццикла
Пардон код поправил
6 palsergeich
 
20.08.19
23:40
Для меня в свое время было очень большой болью узнать что чисто на клиенте достоверно узнать все колонки таблицы или дерева - невозможно.
Можно только то, что отображается, скрытые увы.
Обратиться можно, а вот узнать все -нет.
7 rogachev
 
20.08.19
23:41
(6) а если реквизиты формы програмно созданы в общем мод
8 palsergeich
 
20.08.19
23:43
(7) Не важно где они созданы.
На клиенте можно узнать только отображаемые.
Но если код писали не инопланетяне, то делается это в ПриСозданииНаСервере, и самой последней строчкой писать код кеширование колонок в рекизит формы.
9 rogachev
 
20.08.19
23:44
(8) спасибо за информ
10 rogachev
 
20.08.19
23:47
всем спокойных снов.
11 rogachev
 
20.08.19
23:55
вот в таком виде ВидЦены2dfe5138c38011e9a7b04cedfb985449