Имя: Пароль:
1C
1С v8
Управляемые формы. Как получить список колонок табличной части
0 Трик
 
20.10.14
14:47
Сама табличная часть имеет тип ДанныеФормыКоллекция.

или как НаСервере
получить саму табличню часть? (тогда можно перебрать ее колонки)
1 Kamas
 
20.10.14
14:56
(0) а ДанныеФормыВЗначение не предлагать
2 Krolik Bezobraznik
 
20.10.14
14:58
(0) Какова цель перебора колонок?
3 Maxus43
 
20.10.14
14:59
колонки у элемента управления смотри
4 Трик
 
20.10.14
15:01
(2) подстановка в запрос или в структуру поиска, и куча других вариантов.

(1) есть возможность показать пример? )
(3) это На клиенте? А На сервере?
5 Трик
 
20.10.14
15:03
(1) Как я помню данныеформыВЗначение не рабоатет с ТЧ.
6 Maxus43
 
20.10.14
15:04
(4) форма существует на сервере тоже, если ты не писал НаСервереБезКонтекста
7 Трик
 
20.10.14
15:05
(6) А как перебрать элементы сразу именно табличной части?
8 Maxus43
 
20.10.14
15:05
это веть смотря задача какая. Если перебрать только видимы на экране - то по элементам управления надо, если вобще впринципе колонки в ТЧ - с объектом можно.
(7) ну ты же знаешь как называется элемен управления, связаный с ТЧ? вот его и сомтри
9 Трик
 
20.10.14
15:09
(8) Нужно второе все колонки ТЧ.

На толстом клиенте у меня был такой код:


Реквизиты = Метаданные.НайтиПоТипу(Тип(ОтражениевУчете)).Реквизиты;
    
    Для Каждого Колонка из Реквизиты Цикл
10 Трик
 
20.10.14
15:11
где ОтражениеВУчете - это ТЧ объекта.
11 Maxus43
 
20.10.14
15:13
на сервере-
Для каждого Рекв Из ЭтотОбъект.Метаданные().ИмяТЧ.Реквизиты Цикл...
12 Maxus43
 
20.10.14
15:14
Для каждого Рекв Из ЭтотОбъект.Метаданные().табличныеЧасти.ИмяТЧ.Реквизиты Цикл...

короче синтаксис в СП есть, проверять лень
13 Трик
 
20.10.14
15:19
Он мне пишет что тип ЭтотОбъект - Управляемая форма.
http://prntscr.com/4xy8ox
14 Трик
 
20.10.14
15:21
соответствено нет метода Метаданные().
15 Адский плющ
 
20.10.14
15:22
Бида. Плюс СП спи...ли
16 Maxus43
 
20.10.14
15:25
(13) Объект.Метаданные()
17 Трик
 
20.10.14
15:30
(16) спс

вот так получается

ДанныеформывЗначение(ЭтотОбъект.Объект,Тип("ДокументОбъект.ОтражениеЗарплатывУчете")).Метаданные().ТабличныеЧасти.ОтражениеВУчете.Реквизиты
18 Трик
 
20.10.14
15:30
:)
19 Maxus43
 
20.10.14
15:30
господи... просто Объект.Метаданные().ТабличныеЧасти.ОтражениеВУчете.Реквизиты
20 Трик
 
20.10.14
15:33
К сожаление не так универсально как в код в толстом клиенте. :(.

Может есть вариант какой типа надо написать вместо Тип(ОтражениевУчете)

в коде

Реквизиты = Метаданные.НайтиПоТипу().Реквизиты;


(19) у тип у переменной объект - ДанныеФормаСтруткура  а у него нет метода метаданные
21 Трик
 
20.10.14
15:34
(20)

К сожаление не так универсально как в код в толстом клиенте. :(.

Может есть вариант какой тип надо написать вместо Тип(ОтражениевУчете)

в коде

Реквизиты = Метаданные.НайтиПоТипу(Тип(ОтражениевУчете)).Реквизиты;


fixed
22 Трик
 
20.10.14
15:39
Да все норм рабоатет
Метаданные.НайтиПоТипу(Тип("ДокументТабличнаяЧасть.ОтражениеЗарплатыВУчете.ОтражениеВУчете")).Реквизиты
23 Maxus43
 
20.10.14
15:40
Тип тут вобще не нужен,
Объект = ДанныеформывЗначение("Объект");
Рекв = Объект.Метаданные().ТабличныеЧасти.ОтражениеВУчете.Реквизиты
24 Трик
 
20.10.14
15:44
(23) угу только РеквизитФормыВЗначение("Объект")

все вот так

Метаданные.НайтиПоТипу(Тип(РеквизитформыВзначение("Объект").ОтражениеВУчете)).Реквизиты

получилось как по старому, спасибо.
25 Maxus43
 
20.10.14
15:46
я устал бится об стенку. Не надо тут никаких типов, лишние действия, обмект у тебя уже есть, зачем ещё и искать по метаданным?
26 hhhh
 
20.10.14
15:47
(24) поиск в метаданных - это охрененные тормоза. Пожалей юзеров.
27 Трик
 
20.10.14
15:48
(25,26)
окей.
Просто привел идентичный код старому.
Раньше обработка заполнения ТЧ передавала имя ТЧ и ее можно было сделать универсальной. Щас хз.

Раз все равно универсальной не делаем, сделаем без поиска в методанных.

спс
28 Maxus43
 
20.10.14
15:48
пофиг на юзеров, меня пожалей, я как в пустоту пишу :)
29 Maxus43
 
20.10.14
15:49
(27) чтобы сделать универсальной ТИПЫ тоже не нужны.
Объект.Метаданные().ТабличныеЧасти[ИмяТЧ].Реквизиты
30 Трик
 
20.10.14
15:50
(29) да уже сообразил :)
(28) Все сделаю по твоему не переживай
Всем спасибо.