Разработка и Конфигурация · 11 мин
Структура метаданных 1С: что это и как она устроена
Структура метаданных 1С: что это такое, из каких объектов состоит, как устроено дерево конфигурации и как читать метаданные при разработке и доработке.
Метаданные в 1С — это описание структуры прикладного решения: какие объекты существуют в конфигурации, какие у них реквизиты, табличные части, формы, права и связи. Проще говоря, метаданные отвечают на вопрос «что есть в системе», а данные — на вопрос «что в ней записано». Справочник «Номенклатура» с его реквизитами — метаданные; конкретный товар «Кресло офисное» — данные.
Когда говорят «структура метаданных 1С», обычно имеют в виду дерево конфигурации, которое видно в конфигураторе: общие объекты, константы, справочники, документы, регистры, отчёты, обработки и другие типы объектов. Эта структура определяет, какие таблицы будут созданы в базе данных, какие экранные формы увидит пользователь и какие права можно назначить ролям.
Понимание структуры метаданных нужно не только разработчику. Консультант по внедрению читает её, чтобы понять логику типовой конфигурации, администратор — чтобы оценить последствия обновления, а программист — чтобы обращаться к объектам из кода через коллекцию Метаданные.
Что такое метаданные и чем они отличаются от данных
В терминах платформы 1С метаданные — это декларативное описание прикладных объектов. Разработчик не создаёт таблицы в СУБД вручную: он описывает объект «Документ.РеализацияТоваров» с реквизитами «Контрагент», «Склад» и табличной частью «Товары», а платформа сама формирует физическую структуру базы данных при обновлении конфигурации.
Данные — это содержимое этих объектов: проведённые документы, элементы справочников, записи регистров. При обновлении конфигурации меняются метаданные (и, при необходимости, выполняется реструктуризация данных), при обычной работе пользователей меняются только данные. Это различие критично: ошибка в метаданных ломает структуру всей системы, ошибка в данных — отдельные записи.
Из каких разделов состоит дерево метаданных
Дерево конфигурации в конфигураторе (окно «Конфигурация» → «Открыть конфигурацию») сгруппировано по видам объектов. Основные ветки, которые встречаются почти в любой конфигурации:
- Общие — подсистемы, общие модули, параметры сеанса, роли, общие формы, критерии отбора, планы обмена.
- Константы — одиночные значения настройки, например «Валюта регламентированного учёта».
- Справочники — условно постоянные нормативные данные: контрагенты, номенклатура, сотрудники.
- Документы — факты хозяйственной деятельности; именно документы могут формировать движения по регистрам.
- Журналы документов — списки документов разных видов в одном окне.
- Регистры — сведений, накопления, бухгалтерии и расчёта: место, где накапливаются итоги.
- Отчёты и обработки — объекты для анализа данных и сервисных операций.
- Планы видов характеристик, счетов, расчёта, задачи, бизнес-процессы — специализированные объекты для учётных и процессных задач.
Каждый узел дерева раскрывается: у объекта видны реквизиты, табличные части, формы, макеты, команды, движения (для документов) и другие составные части. Именно это раскрытие и есть «структура метаданных» на уровне конкретного объекта.
Как устроен отдельный объект метаданных
Возьмём типичный документ. Его структура в конфигураторе включает несколько групп свойств и подчинённых сущностей:
- Реквизиты — поля шапки с заданными типами (строка, число, ссылка на справочник, дата).
- Табличные части — вложенные таблицы со своими реквизитами.
- Движения — список регистров, по которым документ может проводиться.
- Формы — форма объекта, форма списка, форма выбора.
- Модули — модуль объекта, модуль менеджера, где размещается код проведения и обработчики событий.
- Макеты и команды — печатные формы и кнопки интерфейса.
У справочника вместо движений появляются иерархия, владельцы, коды и наименования; у регистра сведений — измерения и ресурсы; у регистра накопления — вид регистра (остатки или обороты). Набор составных частей жёстко определён платформой для каждого вида объекта, поэтому опытный разработчик по виду объекта сразу знает, какие свойства искать.
Как посмотреть структуру метаданных в конфигураторе
Базовый способ — открыть конфигуратор, войти в базу с правами, допускающими работу в режиме конфигурирования, и выполнить «Конфигурация» → «Открыть конфигурацию». Дерево объектов появится слева. Двойной клик по объекту открывает окно редактирования с его свойствами, правый клик — контекстное меню с переходом к формам, модулям и макетам.
Для изучения чужой или типовой конфигурации полезны встроенные средства анализа. Поиск по дереву (Ctrl+F в окне конфигурации) находит объект по имени. «Поиск ссылок на объект» показывает, где используется конкретный реквизит или объект — это незаменимо перед удалением или переименованием. Отчёт «Структура конфигурации» (через «Конфигурация» → «Отчёт по конфигурации») формирует печатное описание всех объектов.
- 1Откройте конфигуратор и дерево конфигурации
- 2Найдите объект через поиск по имени
- 3Раскройте узел: реквизиты, табличные части, формы, движения
- 4Откройте палитру свойств (правый клик → Свойства) и изучите ключевые настройки
- 5Проверьте ссылки на объект, чтобы понять его связи с остальной конфигурацией
Программный доступ к метаданным
Во встроенном языке структура метаданных доступна через глобальную коллекцию Метаданные. Так можно получить объект описания любого элемента конфигурации и прочитать его свойства в коде — это основа универсальных алгоритмов, которые работают с произвольными объектами без жёсткой привязки к конфигурации.
ДокументМета = Метаданные.Документы.РеализацияТоваров;
Для Каждого Реквизит Из ДокументМета.Реквизиты Цикл
Сообщить(Реквизит.Имя + " : " + Строка(Реквизит.Тип));
КонецЦикла;Типичные сценарии программного чтения метаданных: проверка существования объекта перед обращением (актуально для внешних обработок, работающих в разных конфигурациях), построение динамических отчётов, универсальная загрузка и выгрузка данных, анализ прав доступа к объектам. Через Метаданные.НайтиПоПолномуИмени() можно получить описание объекта по строковому имени вида «Документ.РеализацияТоваров».
Менять метаданные из кода нельзя — коллекция доступна только на чтение. Изменение структуры выполняется только в конфигураторе с последующим обновлением конфигурации базы данных.
Изменение метаданных: риски и безопасный порядок
Любое изменение структуры метаданных — добавление реквизита, изменение типа поля, удаление объекта — требует обновления конфигурации базы данных. При этом платформа выполняет реструктуризацию: преобразует существующие таблицы под новую структуру. На больших базах это занимает заметное время и требует монопольного доступа.
Безопасный порядок доработки выглядит так: снять копию рабочей базы, внести изменения в копии, выполнить обновление конфигурации БД, протестировать ключевые сценарии, и только потом переносить изменение в рабочую базу в нерабочее время. Для типовых конфигураций на поддержке вместо прямого изменения объектов рекомендуется использовать расширения конфигурации — они добавляют метаданные поверх типовых и не ломают обновление.
Структура метаданных при обновлении и обмене
При обновлении типовой конфигурации платформа сравнивает структуру метаданных старой и новой версий и предлагает объединение. Окно сравнения показывает, какие объекты добавлены, изменены или удалены поставщиком, и как это пересекается с вашими доработками. Умение читать это сравнение — прямое применение знания структуры метаданных.
В планах обмена состав метаданных определяет, какие объекты участвуют в синхронизации между базами. Если добавить новый справочник в конфигурацию, но не включить его в состав плана обмена, данные по нему между базами передаваться не будут. Аналогично подсистемы в ветке «Общие» определяют, какие объекты видны в разделах интерфейса пользователя.
Как проверить результат изменения метаданных
Выполняется без ошибок реструктуризации
Сообщения о несовместимости типов или потере данных
Все найденные места работают корректно
Ошибки в модулях, отчётах, печатных формах
Документы проводятся, отчёты формируются
Ошибки обращения к удалённым реквизитам
Частые вопросы о структуре метаданных 1С
Где физически хранятся метаданные 1С?
В файловой базе — внутри файла 1Cv8.1CD, в клиент-серверном варианте — в служебных таблицах СУБД. Напрямую эти таблицы читать и тем более менять не следует: формат хранения недокументирован, а ручное вмешательство разрушает целостность базы. Работа с метаданными ведётся только через конфигуратор или средства поставки конфигурации.
Чем метаданные отличаются от конфигурации?
Конфигурация — это весь комплект описания прикладного решения: метаданные плюс код модулей, формы, макеты, права, интерфейсные настройки. Метаданные — структурная часть конфигурации, то есть состав объектов и их свойств. В быту эти слова часто смешивают, но строго говоря метаданные — подмножество конфигурации.
Можно ли посмотреть метаданные без конфигуратора?
Да, частично. В режиме предприятия структуру видно через код с коллекцией Метаданные, а также через «Все функции» → «Стандартные» и внешние инструменты разработчика, которые выводят дерево объектов и реквизитов. Полноценное редактирование возможно только в конфигураторе или через расширения.
Почему при удалении объекта платформа требует поиск ссылок?
Потому что объект может использоваться в других метаданных: типах реквизитов, движениях документов, критериях отбора, планах обмена. Удаление без очистки ссылок приведёт к ошибкам обновления конфигурации БД. Платформа блокирует такое удаление и показывает список зависимых мест.
Что такое расширение конфигурации и как оно связано с метаданными?
Расширение — это отдельный слой метаданных, который накладывается на основную конфигурацию без её изменения: можно добавлять реквизиты, формы, обработчики, свои объекты. При обновлении типовой конфигурации расширение сохраняется, что делает его основным способом безопасной доработки систем на поддержке.
Как быстро найти нужный объект в большой конфигурации?
Используйте поиск по дереву конфигурации (Ctrl+F) по имени или синониму, полнотекстовый поиск по модулям для поиска обращений к объекту в коде, а также функцию «Поиск ссылок на объект» из контекстного меню — она показывает все места использования.
Что важно запомнить
Структура метаданных 1С — это иерархия объектов конфигурации с их реквизитами, формами и связями. Её изучают в конфигураторе через дерево объектов, читают из кода через коллекцию Метаданные, а изменяют только с резервной копией и проверкой ссылок, предпочтительно через расширения.