К статье
Практический материал

Разработка и Конфигурация · 11 мин

Структура метаданных 1С: что это и как она устроена

Структура метаданных 1С: что это такое, из каких объектов состоит, как устроено дерево конфигурации и как читать метаданные при разработке и доработке.

Метаданные в 1С — это описание структуры прикладного решения: какие объекты существуют в конфигурации, какие у них реквизиты, табличные части, формы, права и связи. Проще говоря, метаданные отвечают на вопрос «что есть в системе», а данные — на вопрос «что в ней записано». Справочник «Номенклатура» с его реквизитами — метаданные; конкретный товар «Кресло офисное» — данные.

Когда говорят «структура метаданных 1С», обычно имеют в виду дерево конфигурации, которое видно в конфигураторе: общие объекты, константы, справочники, документы, регистры, отчёты, обработки и другие типы объектов. Эта структура определяет, какие таблицы будут созданы в базе данных, какие экранные формы увидит пользователь и какие права можно назначить ролям.

Понимание структуры метаданных нужно не только разработчику. Консультант по внедрению читает её, чтобы понять логику типовой конфигурации, администратор — чтобы оценить последствия обновления, а программист — чтобы обращаться к объектам из кода через коллекцию Метаданные.

Что такое метаданные и чем они отличаются от данных

В терминах платформы 1С метаданные — это декларативное описание прикладных объектов. Разработчик не создаёт таблицы в СУБД вручную: он описывает объект «Документ.РеализацияТоваров» с реквизитами «Контрагент», «Склад» и табличной частью «Товары», а платформа сама формирует физическую структуру базы данных при обновлении конфигурации.

Данные — это содержимое этих объектов: проведённые документы, элементы справочников, записи регистров. При обновлении конфигурации меняются метаданные (и, при необходимости, выполняется реструктуризация данных), при обычной работе пользователей меняются только данные. Это различие критично: ошибка в метаданных ломает структуру всей системы, ошибка в данных — отдельные записи.

Из каких разделов состоит дерево метаданных

Дерево конфигурации в конфигураторе (окно «Конфигурация» → «Открыть конфигурацию») сгруппировано по видам объектов. Основные ветки, которые встречаются почти в любой конфигурации:

  • Общие — подсистемы, общие модули, параметры сеанса, роли, общие формы, критерии отбора, планы обмена.
  • Константы — одиночные значения настройки, например «Валюта регламентированного учёта».
  • Справочники — условно постоянные нормативные данные: контрагенты, номенклатура, сотрудники.
  • Документы — факты хозяйственной деятельности; именно документы могут формировать движения по регистрам.
  • Журналы документов — списки документов разных видов в одном окне.
  • Регистры — сведений, накопления, бухгалтерии и расчёта: место, где накапливаются итоги.
  • Отчёты и обработки — объекты для анализа данных и сервисных операций.
  • Планы видов характеристик, счетов, расчёта, задачи, бизнес-процессы — специализированные объекты для учётных и процессных задач.

Каждый узел дерева раскрывается: у объекта видны реквизиты, табличные части, формы, макеты, команды, движения (для документов) и другие составные части. Именно это раскрытие и есть «структура метаданных» на уровне конкретного объекта.

Как устроен отдельный объект метаданных

Возьмём типичный документ. Его структура в конфигураторе включает несколько групп свойств и подчинённых сущностей:

  • Реквизиты — поля шапки с заданными типами (строка, число, ссылка на справочник, дата).
  • Табличные части — вложенные таблицы со своими реквизитами.
  • Движения — список регистров, по которым документ может проводиться.
  • Формы — форма объекта, форма списка, форма выбора.
  • Модули — модуль объекта, модуль менеджера, где размещается код проведения и обработчики событий.
  • Макеты и команды — печатные формы и кнопки интерфейса.

У справочника вместо движений появляются иерархия, владельцы, коды и наименования; у регистра сведений — измерения и ресурсы; у регистра накопления — вид регистра (остатки или обороты). Набор составных частей жёстко определён платформой для каждого вида объекта, поэтому опытный разработчик по виду объекта сразу знает, какие свойства искать.

Как посмотреть структуру метаданных в конфигураторе

Базовый способ — открыть конфигуратор, войти в базу с правами, допускающими работу в режиме конфигурирования, и выполнить «Конфигурация» → «Открыть конфигурацию». Дерево объектов появится слева. Двойной клик по объекту открывает окно редактирования с его свойствами, правый клик — контекстное меню с переходом к формам, модулям и макетам.

Для изучения чужой или типовой конфигурации полезны встроенные средства анализа. Поиск по дереву (Ctrl+F в окне конфигурации) находит объект по имени. «Поиск ссылок на объект» показывает, где используется конкретный реквизит или объект — это незаменимо перед удалением или переименованием. Отчёт «Структура конфигурации» (через «Конфигурация» → «Отчёт по конфигурации») формирует печатное описание всех объектов.

Как изучить структуру объекта
  1. 1
    Откройте конфигуратор и дерево конфигурации
  2. 2
    Найдите объект через поиск по имени
  3. 3
    Раскройте узел: реквизиты, табличные части, формы, движения
  4. 4
    Откройте палитру свойств (правый клик → Свойства) и изучите ключевые настройки
  5. 5
    Проверьте ссылки на объект, чтобы понять его связи с остальной конфигурацией

Программный доступ к метаданным

Во встроенном языке структура метаданных доступна через глобальную коллекцию Метаданные. Так можно получить объект описания любого элемента конфигурации и прочитать его свойства в коде — это основа универсальных алгоритмов, которые работают с произвольными объектами без жёсткой привязки к конфигурации.

bsl
ДокументМета = Метаданные.Документы.РеализацияТоваров;
Для Каждого Реквизит Из ДокументМета.Реквизиты Цикл
    Сообщить(Реквизит.Имя + " : " + Строка(Реквизит.Тип));
КонецЦикла;

Типичные сценарии программного чтения метаданных: проверка существования объекта перед обращением (актуально для внешних обработок, работающих в разных конфигурациях), построение динамических отчётов, универсальная загрузка и выгрузка данных, анализ прав доступа к объектам. Через Метаданные.НайтиПоПолномуИмени() можно получить описание объекта по строковому имени вида «Документ.РеализацияТоваров».

Менять метаданные из кода нельзя — коллекция доступна только на чтение. Изменение структуры выполняется только в конфигураторе с последующим обновлением конфигурации базы данных.

Изменение метаданных: риски и безопасный порядок

Любое изменение структуры метаданных — добавление реквизита, изменение типа поля, удаление объекта — требует обновления конфигурации базы данных. При этом платформа выполняет реструктуризацию: преобразует существующие таблицы под новую структуру. На больших базах это занимает заметное время и требует монопольного доступа.

Безопасный порядок доработки выглядит так: снять копию рабочей базы, внести изменения в копии, выполнить обновление конфигурации БД, протестировать ключевые сценарии, и только потом переносить изменение в рабочую базу в нерабочее время. Для типовых конфигураций на поддержке вместо прямого изменения объектов рекомендуется использовать расширения конфигурации — они добавляют метаданные поверх типовых и не ломают обновление.

Типичные ошибки
01
Удаление реквизита без поиска ссылок — ломаются отчёты, печатные формы и обмены, которые его использовали
02
Изменение типа реквизита на несовместимый — потеря данных при реструктуризации
03
Доработка типовой конфигурации напрямую вместо расширения — сложности и конфликты при обновлении
04
Переименование объекта без проверки внешних обработок и планов обмена, обращающихся по имени

Структура метаданных при обновлении и обмене

При обновлении типовой конфигурации платформа сравнивает структуру метаданных старой и новой версий и предлагает объединение. Окно сравнения показывает, какие объекты добавлены, изменены или удалены поставщиком, и как это пересекается с вашими доработками. Умение читать это сравнение — прямое применение знания структуры метаданных.

В планах обмена состав метаданных определяет, какие объекты участвуют в синхронизации между базами. Если добавить новый справочник в конфигурацию, но не включить его в состав плана обмена, данные по нему между базами передаваться не будут. Аналогично подсистемы в ветке «Общие» определяют, какие объекты видны в разделах интерфейса пользователя.

Контрольные точки

Как проверить результат изменения метаданных

Обновление конфигурации БД
Норма

Выполняется без ошибок реструктуризации

Тревожный признак

Сообщения о несовместимости типов или потере данных

Поиск ссылок на изменённый объект
Норма

Все найденные места работают корректно

Тревожный признак

Ошибки в модулях, отчётах, печатных формах

Запуск ключевых сценариев
Норма

Документы проводятся, отчёты формируются

Тревожный признак

Ошибки обращения к удалённым реквизитам

Частые вопросы о структуре метаданных 1С

Где физически хранятся метаданные 1С?

В файловой базе — внутри файла 1Cv8.1CD, в клиент-серверном варианте — в служебных таблицах СУБД. Напрямую эти таблицы читать и тем более менять не следует: формат хранения недокументирован, а ручное вмешательство разрушает целостность базы. Работа с метаданными ведётся только через конфигуратор или средства поставки конфигурации.

Чем метаданные отличаются от конфигурации?

Конфигурация — это весь комплект описания прикладного решения: метаданные плюс код модулей, формы, макеты, права, интерфейсные настройки. Метаданные — структурная часть конфигурации, то есть состав объектов и их свойств. В быту эти слова часто смешивают, но строго говоря метаданные — подмножество конфигурации.

Можно ли посмотреть метаданные без конфигуратора?

Да, частично. В режиме предприятия структуру видно через код с коллекцией Метаданные, а также через «Все функции» → «Стандартные» и внешние инструменты разработчика, которые выводят дерево объектов и реквизитов. Полноценное редактирование возможно только в конфигураторе или через расширения.

Почему при удалении объекта платформа требует поиск ссылок?

Потому что объект может использоваться в других метаданных: типах реквизитов, движениях документов, критериях отбора, планах обмена. Удаление без очистки ссылок приведёт к ошибкам обновления конфигурации БД. Платформа блокирует такое удаление и показывает список зависимых мест.

Что такое расширение конфигурации и как оно связано с метаданными?

Расширение — это отдельный слой метаданных, который накладывается на основную конфигурацию без её изменения: можно добавлять реквизиты, формы, обработчики, свои объекты. При обновлении типовой конфигурации расширение сохраняется, что делает его основным способом безопасной доработки систем на поддержке.

Как быстро найти нужный объект в большой конфигурации?

Используйте поиск по дереву конфигурации (Ctrl+F) по имени или синониму, полнотекстовый поиск по модулям для поиска обращений к объекту в коде, а также функцию «Поиск ссылок на объект» из контекстного меню — она показывает все места использования.

Итог

Что важно запомнить

Структура метаданных 1С — это иерархия объектов конфигурации с их реквизитами, формами и связями. Её изучают в конфигураторе через дерево объектов, читают из кода через коллекцию Метаданные, а изменяют только с резервной копией и проверкой ссылок, предпочтительно через расширения.