Получение реквизитов объекта через метаданных
Добрый день, коллеги.
Есть обработка, в ней я по метаданным документа (например Реализация товаров услуг) заполняю список выбора всеми реквизитами документа.
Т.е. в строке ТЧ в колонке 1 у меня доступен список выбора любого реквизита документа РТУ. Далее я хочу, чтобы при выборе какого-либо значения в колонке 1 (например, контрагент), в колонке 2 заполнялся список реквизитов контрагента.
Я по значению в колонке 1 получил ОбъектМетаданных контрагента
Метаданные.Документы[МойДокумент]Реквизиты[РеквизитОбъектаМетаданных] - вот здесь получаю объект метаданных но в нем нет реквизитов...
как мне получить нужный объект (перечисление\справочник) с набором реквизитов?
Есть обработка, в ней я по метаданным документа (например Реализация товаров услуг) заполняю список выбора всеми реквизитами документа.
Т.е. в строке ТЧ в колонке 1 у меня доступен список выбора любого реквизита документа РТУ. Далее я хочу, чтобы при выборе какого-либо значения в колонке 1 (например, контрагент), в колонке 2 заполнялся список реквизитов контрагента.
Я по значению в колонке 1 получил ОбъектМетаданных контрагента
Метаданные.Документы[МойДокумент]Реквизиты[РеквизитОбъектаМетаданных] - вот здесь получаю объект метаданных но в нем нет реквизитов...
как мне получить нужный объект (перечисление\справочник) с набором реквизитов?
По теме из базы знаний
- Универсальные функции получения значений реквизитов объектов (8.2+)
- Сравнение скорости получения имени класса через Метаданные.*.Содержит и через Метаданные().ПолноеИмя()
- Строковые отборы в 1С
- Обзор полезных методов БСП 3.1.4
- Блокировка изменения объектов через обмен данными в базе приемнике - для обменов в формате EnterpriseData
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Дополню. С учетом того, что реквизит может быть составного типа, придется пройти по всем его типам. В теории:
Реквизит = Метаданные.Документы[МойДокумент].Реквизиты[РеквизитОбъектаМетаданных];
Для Каждого Тип Из Реквизит.Типы() Цикл
МетаданныеРеквизита = Метаданные.НайтиПоТипу(Тип)
КонецЦикла
Спасибо, все получилось!
А есть способ как мне понять, что за объект у меня - справочник\документ, или перечисление, или вообще число\строка?
Я вижу, что у перечисления есть поле ЗначенияПеречисления, а у справочника\документа есть поле Реквизиты. Можно каким-то образом получив объект сразу определить, что это?
А есть способ как мне понять, что за объект у меня - справочник\документ, или перечисление, или вообще число\строка?
Я вижу, что у перечисления есть поле ЗначенияПеречисления, а у справочника\документа есть поле Реквизиты. Можно каким-то образом получив объект сразу определить, что это?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот