Как получить список типов реквизита таблицы значений управляемой формы

1. frkbvfnjh 787 13.09.21 08:13 Сейчас в теме
Все привет! На управляемой форме был добавлен реквизит типа "ТаблицаЗначений", и у него были созданы колонки реквизита, в частности "Регистратор" составного типа. Вопрос: как программно в модуле управляемой формы получить список типов реквизита таблицы значений управляемой формы?
По теме из базы знаний
Найденные решения
6. FatPanzer 13.09.21 10:09 Сейчас в теме
РеквизитыТЗ = ПолучитьРеквизиты("РасшифровкаПоРегистраторам");
Для Каждого Реквизит Из РеквизитыТЗ Цикл
    Если Реквизит.Имя = "Регистратор" Тогда
        ТипыРегистратора = Реквизит.ТипЗначения; // это ОписаниеТипов
    КонецЕсли;
КонецЦикла;
frkbvfnjh; nomad_irk; dhurricane; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
5. nomad_irk 72 13.09.21 08:33 Сейчас в теме
(1)
&НаСервере

ТЗ = РеквизитФормыТаблицаЗначений.Выгруить();

И дальше как обычно с ТЗ:

Для Каждого Колонка ИЗ ТЗ.Колонки Цикл

Типы = Колонка.ТипЗначения.Типы();

КонецЦикла;
Показать
2. slavyan_arena 13.09.21 08:21 Сейчас в теме
Здравствуйте.
примерно:
типЗнч(колонкаТаблицыЗначений)
3. frkbvfnjh 787 13.09.21 08:23 Сейчас в теме
4. frkbvfnjh 787 13.09.21 08:26 Сейчас в теме
Так вроде дошло - нужно на сервере сначала вызвать метод Выгрузить() и после этого получим классическую ТЗ, у которой можно обратиться к колонкам, и через свойство ТипЗначения получить типы:
РасшифровкаПоРегистраторам.Выгрузить(, "Регистратор").Колонки.Регистратор.ТипЗначения.Типы()


Но как то это топорно - выгружать ТЗ в память что бы тип колонки узнать. Может кто то проще знает способ?
7. ixijixi 1796 13.09.21 12:39 Сейчас в теме
(4) Чтобы память не грузить
РасшифровкаПоРегистраторам.Выгрузить(Новый Массив, "Регистратор").Колонки.Регистратор.ТипЗначения.Типы()
frkbvfnjh; +1 Ответить
9. frkbvfnjh 787 13.09.21 15:42 Сейчас в теме
(7) Спасибо, хороший вариант! Не догадался пустой массив передать
6. FatPanzer 13.09.21 10:09 Сейчас в теме
РеквизитыТЗ = ПолучитьРеквизиты("РасшифровкаПоРегистраторам");
Для Каждого Реквизит Из РеквизитыТЗ Цикл
    Если Реквизит.Имя = "Регистратор" Тогда
        ТипыРегистратора = Реквизит.ТипЗначения; // это ОписаниеТипов
    КонецЕсли;
КонецЦикла;
frkbvfnjh; nomad_irk; dhurricane; +3 Ответить
10. frkbvfnjh 787 13.09.21 15:43 Сейчас в теме
(6) Вооооо, походу то что нужно. Что то подобное я себе и представлял. Спасибо большое!
8. tusv 211 13.09.21 13:24 Сейчас в теме
Да вроде бы и так должно работать
РеквизитФормыВЗначение(РасшифровкаПоРегистраторам)..Колонки.Регистратор.ТипЗначения.Типы();
11. frkbvfnjh 787 13.09.21 15:48 Сейчас в теме
(8) Спасибо большое, проверю это вариант
12. FatPanzer 13.09.21 16:48 Сейчас в теме
(8) Это ровно та же самая выгрузка ТЗ в оперативную память.
nomad_irk; +1 Ответить
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот