Как получить список всех справочников и документов в конфигурации 1С

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Программный перебор коллекции метаданных (версия 8.x)

Самый гибкий и правильный с точки зрения платформы 1С:Предприятие 8 способ — это использование глобального объекта Метаданные. Этот объект предоставляет доступ к древовидной структуре всей конфигурации. Для получения имен объектов нам необходимо организовать цикл по соответствующим коллекциям.

Рассмотрим пример кода, который выводит названия всех справочников и документов в окно сообщений. Проанализируем, как это работает:


// Вывод списка справочников
Для каждого ОбъектИзМетаданных Из Метаданные.Справочники Цикл
    Сообщить("Справочник: " + ОбъектИзМетаданных.Имя + " (" + ОбъектИзМетаданных.Синоним + ")");
КонецЦикла;

// Вывод списка документов
Для каждого ОбъектИзМетаданных Из Метаданные.Документы Цикл
    Сообщить("Документ: " + ОбъектИзМетаданных.Имя + " (" + ОбъектИзМетаданных.Синоним + ")");
КонецЦикла;

В данном примере мы обращаемся к свойствам Имя (технический идентификатор) и Синоним (человекочитаемое название). Этот код можно разместить во внешней обработке или использовать в консоли кода.

Особенности синтаксиса для версии 1С 7.7

Стоит отметить, что в старых версиях платформы (7.7) работа с метаданными строилась иначе — через обращение по индексу. Если вы столкнулись с поддержкой исторической базы, используйте следующий подход:


Для Индекс = 1 По Метаданные.Справочник() Цикл
    Сообщить("Справочник: " + Метаданные.Справочник(Индекс).Идентификатор);
КонецЦикла;

Однако для современных систем на платформе 8.2 и 8.3 этот код не актуален, и следует придерживаться объектной модели коллекции Для каждого... Из....

Получение списка через консоль запросов (БСП)

Многие разработчики предпочитают работать через консоль запросов. Напрямую обратиться к таблицам метаданных через язык запросов 1С невозможно, так как эти данные хранятся не в таблицах базы данных, а в структуре конфигурации. Однако, если ваша конфигурация построена на базе Библиотеки стандартных подсистем (БСП), у вас есть отличная лазейка.

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


ВЫБРАТЬ
    Идентификаторы.Имя КАК ТехническоеИмя,
    Идентификаторы.Синоним КАК Синоним,
    Идентификаторы.ПолноеИмя КАК ПолныйПуть
ИЗ
    Справочник.ИдентификаторыОбъектовМетаданных КАК Идентификаторы
ГДЕ
    Идентификаторы.ПолноеИмя ПОДОБНО "Справочник.%"
    ИЛИ Идентификаторы.ПолноеИмя ПОДОБНО "Документ.%"

Этот способ удобен тем, что результат можно сразу выгрузить в таблицу, отсортировать или сохранить в Excel напрямую из консоли запросов без написания кода.

Вывод списка через инструменты Конфигуратора

Если вам не требуется программная обработка, а нужен лишь текстовый список "здесь и сейчас", воспользуемся штатными возможностями Конфигуратора. Разберем по шагам два способа:

  1. Функция "Вывести список": Откройте дерево конфигурации. Нажмите правой кнопкой мыши на корневой узел (самая верхняя строка с названием вашей базы) и выберите пункт "Вывести список". В появившемся окне можно отметить галочками только нужные типы объектов (например, Справочники и Документы). Система сформирует табличный документ, который легко скопировать куда угодно.
  2. Отчет по конфигурации: Перейдите в меню "Конфигурация" — "Отчет по конфигурации". В настройках отчета можно указать детализацию. Если оставить только верхний уровень, вы получите структурированный текстовый документ со всеми именами объектов.

Использование режима "Функции для технического специалиста"

В пользовательском режиме (1С:Предприятие) существует интерфейсное решение. Если у пользователя достаточно прав, в главном меню доступен пункт "Функции для технического специалиста" (в более ранних версиях платформы он назывался "Все функции").

Проанализируем этот инструмент: он отображает полное дерево объектов метаданных, разделенное по типам. Хотя встроенной кнопки экспорта всего дерева в текстовый файл там нет, этот режим позволяет быстро найти нужный справочник или документ в живой базе, не заходя в Конфигуратор.

Применение инструментов разработчика и глобального поиска

Существует еще один "хитрый" способ быстро собрать имена всех объектов без написания обработок — использование Глобального поиска (комбинация клавиш Ctrl+Shift+F). Рассмотрим алгоритм:

  1. Вызовем окно глобального поиска.
  2. В строке поиска ничего не вводим или ставим любой символ, который заведомо не встретится (или используем расширенные фильтры).
  3. В области поиска укажем только "Метаданные".
  4. После выполнения поиска в окне результатов отобразится дерево объектов.

Этот метод менее точен, чем программный, но иногда выручает для быстрой визуальной оценки состава конфигурации.

Выгрузка конфигурации в файлы XML

Для системных администраторов и тех, кто использует системы контроля версий, подойдет метод анализа файловой структуры. В меню "Конфигурация" выберем пункт "Выгрузить конфигурацию в файлы...". После завершения процесса платформа создаст папку с множеством XML-файлов. Справочники будут находиться в папке Catalogs, а документы — в Documents. Имена подпапок внутри них будут в точности соответствовать именам объектов в 1С. Получить их список можно любой командой операционной системы (например, dir /b в Windows или ls в Linux).

Таким образом, мы рассмотрели широкий спектр инструментов: от простого визуального просмотра до программных циклов и запросов к базе данных через БСП. Выбор конкретного метода зависит от вашей конечной цели и доступного инструментария.

← На главную