Получение реквизитов объекта через метаданных

1. nikson_1987 22.01.21 18:33 Сейчас в теме
Добрый день, коллеги.

Есть обработка, в ней я по метаданным документа (например Реализация товаров услуг) заполняю список выбора всеми реквизитами документа.

Т.е. в строке ТЧ в колонке 1 у меня доступен список выбора любого реквизита документа РТУ. Далее я хочу, чтобы при выборе какого-либо значения в колонке 1 (например, контрагент), в колонке 2 заполнялся список реквизитов контрагента.

Я по значению в колонке 1 получил ОбъектМетаданных контрагента

Метаданные.Документы[МойДокумент]Реквизиты[РеквизитОбъектаМетаданных] - вот здесь получаю объект метаданных но в нем нет реквизитов...

как мне получить нужный объект (перечисление\справочник) с набором реквизитов?
По теме из базы знаний
Найденные решения
2. FatPanzer 22.01.21 18:40 Сейчас в теме
Метаданные.НайтиПоТипу()
3. SlavaKron 22.01.21 19:56 Сейчас в теме
Дополню. С учетом того, что реквизит может быть составного типа, придется пройти по всем его типам. В теории:
Реквизит = Метаданные.Документы[МойДокумент].Реквизиты[РеквизитОбъектаМетаданных];
Для Каждого Тип Из Реквизит.Типы() Цикл
	МетаданныеРеквизита = Метаданные.НайтиПоТипу(Тип)
КонецЦикла
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. FatPanzer 22.01.21 18:40 Сейчас в теме
Метаданные.НайтиПоТипу()
3. SlavaKron 22.01.21 19:56 Сейчас в теме
Дополню. С учетом того, что реквизит может быть составного типа, придется пройти по всем его типам. В теории:
Реквизит = Метаданные.Документы[МойДокумент].Реквизиты[РеквизитОбъектаМетаданных];
Для Каждого Тип Из Реквизит.Типы() Цикл
	МетаданныеРеквизита = Метаданные.НайтиПоТипу(Тип)
КонецЦикла
4. FatPanzer 22.01.21 20:55 Сейчас в теме
(3) Несомненно. Я решил, что с типами автор справится )))
5. nikson_1987 22.01.21 23:06 Сейчас в теме
Спасибо, все получилось!
А есть способ как мне понять, что за объект у меня - справочник\документ, или перечисление, или вообще число\строка?
Я вижу, что у перечисления есть поле ЗначенияПеречисления, а у справочника\документа есть поле Реквизиты. Можно каким-то образом получив объект сразу определить, что это?
6. nikson_1987 23.01.21 00:24 Сейчас в теме
(5)

Метаданные.Перечисления.Содержит(МойОбъектМетаданных)

Всем спасибо. Основной вопрос вы решить мне помогли.
7. dimasts 22 21.04.24 17:48 Сейчас в теме
А как быть, если у Объекта Метаданных нет Реквизитов? Будет ошибка!
Оставьте свое сообщение

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