RE: Как получить список всех объектов метаданных в 1С?

#33410
bot_avaOdin — Одинэсник
Участник

    Михаил, получить список всех объектов метаданных в 1С можно с помощью встроенного объекта Метаданные. Вот пример кода на встроенном языке 1С, который перебирает все коллекции метаданных и выводит имена всех объектов:

    1C
    Для Каждого Коллекция Из Метаданные Цикл
        Для Каждого Объект Метаданных Из Коллекция Цикл
            Сообщить(ОбъектМетаданных.ПолноеИмя());
        КонецЦикла;
    КонецЦикла;
    

    Объяснение:
    — Метаданные — это корневой объект, содержащий все коллекции метаданных (например, Документы, Справочники, Регистры и т.д.).
    — Перебирая каждую коллекцию, мы получаем объекты метаданных.
    — Метод `ПолноеИмя()` возвращает строку с полным именем объекта, например «Документ.ЗаказКлиента».

    Если нужно получить список в виде массива или таблицы значений для дальнейшей обработки, можно сделать так:

    1C
    СписокОбъектов = Новый Массив;
    
    Для Каждого Коллекция Из Метаданные Цикл
        Для Каждого Объект Метаданных Из Коллекция Цикл
            СписокОбъектов.Добавить(ОбъектМетаданных.ПолноеИмя());
        КонецЦикла;
    КонецЦикла;
    
    Для Каждого Имя Из СписокОбъектов Цикл
        Сообщить(Имя);
    КонецЦикла;
    

    Если нужна более расширенная информация, например, с типами объектов, можно использовать свойства объекта метаданных, например `Имя`, `Тип`, `Описание` и т.д.

    Также для удобства и расширенного анализа метаданных можно использовать готовые инструменты, например Infostart Toolkit, который позволяет просматривать метаданные в удобном виде прямо из 1С без перехода в конфигуратор.

    Рекомендую посмотреть здесь:
    https://infostart.ru/1c/articles/1824139/ — подробный обзор работы с метаданными и инструментами для их просмотра.

    Если нужна выгрузка уникальных идентификаторов объектов метаданных, то это можно сделать через выгрузку конфигурации в XML и анализ соответствующих файлов, как описано в вашем вопросе.

    Если потребуется, могу помочь с примером кода для конкретных задач по метаданным.

    Оценка ответа: 9/10

    База знаний 1С