Управляемые формы. Как получить список колонок табличной части #723522


#0 by Трик
Сама табличная часть имеет тип ДанныеФормыКоллекция. или как НаСервере получить саму табличню часть? (тогда можно перебрать ее колонки)
#1 by Kamas
а ДанныеФормыВЗначение не предлагать
#2 by Krolik Bezobraznik
Какова цель перебора колонок?
#3 by Maxus43
колонки у элемента управления смотри
#4 by Трик
подстановка в запрос или в структуру поиска, и куча других вариантов. есть возможность показать пример? ) это На клиенте? А На сервере?
#5 by Трик
Как я помню данныеформыВЗначение не рабоатет с ТЧ.
#6 by Maxus43
форма существует на сервере тоже, если ты не писал НаСервереБезКонтекста
#7 by Трик
А как перебрать элементы сразу именно табличной части?
#8 by Maxus43
это веть смотря задача какая. Если перебрать только видимы на экране - то по элементам управления надо, если вобще впринципе колонки в ТЧ - с объектом можно. ну ты же знаешь как называется элемен управления, связаный с ТЧ? вот его и сомтри
#9 by Трик
Нужно второе все колонки ТЧ. На толстом клиенте у меня был такой код:
#10 by Трик
где ОтражениеВУчете - это ТЧ объекта.
#11 by Maxus43
на сервере- Для каждого Рекв Из ЭтотОбъект.Метаданные.ИмяТЧ.Реквизиты Цикл...
#12 by Maxus43
Для каждого Рекв Из ЭтотОбъект.Метаданные.табличныеЧасти.ИмяТЧ.Реквизиты Цикл... короче синтаксис в СП есть, проверять лень
#13 by Трик
Он мне пишет что тип ЭтотОбъект - Управляемая форма.
#14 by Трик
соответствено нет метода Метаданные.
#15 by Адский плющ
Бида. Плюс СП спи...ли
#16 by Maxus43
Объект.Метаданные
#17 by Трик
спс вот так получается ДанныеформывЗначение(ЭтотОбъект.Объект,Тип("ДокументОбъект.ОтражениеЗарплатывУчете")).Метаданные.ТабличныеЧасти.ОтражениеВУчете.Реквизиты
#18 by Трик
:)
#19 by Maxus43
господи... просто Объект.Метаданные.ТабличныеЧасти.ОтражениеВУчете.Реквизиты
#20 by Трик
К сожаление не так универсально как в код в толстом клиенте. :(. Может есть вариант какой типа надо написать вместо Тип(ОтражениевУчете) в коде у тип у переменной объект - ДанныеФормаСтруткура  а у него нет метода метаданные
#21 by Трик
К сожаление не так универсально как в код в толстом клиенте. :(. Может есть вариант какой тип надо написать вместо Тип(ОтражениевУчете) в коде
#22 by Трик
Да все норм рабоатет Метаданные.НайтиПоТипу(Тип("ДокументТабличнаяЧасть.ОтражениеЗарплатыВУчете.ОтражениеВУчете")).Реквизиты
#23 by Maxus43
Тип тут вобще не нужен, Объект = ДанныеформывЗначение("Объект"); Рекв = Объект.Метаданные.ТабличныеЧасти.ОтражениеВУчете.Реквизиты
#24 by Трик
угу только РеквизитФормыВЗначение("Объект") все вот так Метаданные.НайтиПоТипу(Тип(РеквизитформыВзначение("Объект").ОтражениеВУчете)).Реквизиты получилось как по старому, спасибо.
#25 by Maxus43
я устал бится об стенку. Не надо тут никаких типов, лишние действия, обмект у тебя уже есть, зачем ещё и искать по метаданным?
#26 by hhhh
поиск в метаданных - это охрененные тормоза. Пожалей юзеров.
#27 by Трик
(25,26) окей. Просто привел идентичный код старому. Раньше обработка заполнения ТЧ передавала имя ТЧ и ее можно было сделать универсальной. Щас хз. Раз все равно универсальной не делаем, сделаем без поиска в методанных. спс
#28 by Maxus43
пофиг на юзеров, меня пожалей, я как в пустоту пишу :)
#29 by Maxus43
чтобы сделать универсальной ТИПЫ тоже не нужны. Объект.Метаданные.ТабличныеЧасти[ИмяТЧ].Реквизиты
#30 by Трик
да уже сообразил :) Все сделаю по твоему не переживай Всем спасибо.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С