Как перебрать все метаданные в конфигурации? #429647


#0 by miron16
Как перебрать все метаданные в конфигурации?
#1 by Mitriy
перечислить
#2 by miron16
нужно перебрать все реквизиты... и найти реквизит с типом Справочник.Ссылка
#3 by Serg_1960
Перебором. Смешно звучит - но другого пути нет.
#4 by Serg_1960
Если есть ссылка - то к метаданным ссылки можно обратиться через Ссылка.Метаданные...
#5 by Mitriy
ПолучитьСтруктуруХраненияБазыДанных можно попытать...
#6 by miron16
тут дело в том что никакой ссылки нет...надо проверить обсалютно все реквизиты...в том числе табличные части
#7 by Mitriy
а во конфигураторе ручками недостаточно?
#8 by miron16
нет
#9 by Mitriy
тогда ручками... на самом деле их немного... Справочники, документы, регистры... а внутри них уже спокойно можно пользоваться Для Каждого...
#10 by GedKo
только нужно не забыть про реквизиты с неявным типом.
#11 by NAlex
Решал подобную задачку. Нужно было сделать обработку, которая работала бы быстрее чем НайтиПоСсылкам. Идея была такова: на первом проходе перебираем метаданные и ищем в реквизитах и в реквизитах табличных частей (при помощи Напр. Реквизит.Тип.СодержитТип(НужныйТип)) метаданные, где потенциально может быть нужный нам тип данных и динамически строим запрос по реквизитам этих метаданных, т.е. при запросе будем лопатить не всю базу, а только регистры, справочники, где потенциально может содержаться нужный тип данных; на втором этапе выполняем полученных запрос и получаем уже конкретные ссылки на объекты. Практика показала, что на больших БД действительно работает побыстрее. Вот кусочек кода где перебираются регистры:
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям