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

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

Метаданные 1С 8.3: что это и как с ними работать

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

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

Понимание разницы между метаданными и данными фундаментально для любой работы с 1С. Данные — это записи: конкретные контрагенты, проведённые накладные, строки регистров. Метаданные — это «чертёж», по которому платформа строит таблицы в СУБД и формы на экране. Изменение метаданных (например, добавление реквизита) ведёт к реструктуризации базы, а изменение данных — нет.

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

Что такое метаданные простыми словами

Представьте анкету в отделе кадров. Сама пустая форма с полями «ФИО», «Должность», «Дата приёма» — это аналог метаданных. Заполненная анкета конкретного сотрудника — это данные. В 1С роль «пустой формы» играют объекты конфигурации, которые видны в дереве конфигуратора.

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

Именно поэтому типовые операции в 1С выполняются быстро: платформа берёт на себя рутину. Обратная сторона — прямой доступ к таблицам СУБД в обход платформы нежелателен, потому что структура физических таблиц определяется метаданными и может меняться при обновлениях.

Основные виды объектов метаданных

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

Объект метаданныхНазначениеПример
СправочникиХранение условно-постоянной нормативной информацииНоменклатура, Контрагенты
ДокументыРегистрация хозяйственных операций, движения по регистрамПоступление товаров, Реализация
Регистры сведенийХранение информации в разрезе измерений, при необходимости — с периодичностьюКурсы валют, Цены номенклатуры
Регистры накопленияНакопление остатков и оборотовТовары на складах, Взаиморасчёты
Регистры бухгалтерииПроводки по плану счетовХозрасчётный
Отчёты и обработкиВыборка и представление данных, сервисные операцииОборотно-сальдовая ведомость
Перечисления, планы видов характеристик, планы счетовЖёстко заданные списки значений и аналитические структурыСтавки НДС, План счетов

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

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

Сравнение вариантов

Справочник

Подходит для сущностей, на которые нужно ссылаться: товары, клиенты, склады. Не подходит для исторических значений — цен, курсов, адресов с периодом действия.

Регистр сведений

Подходит для хранения значений в разрезе измерений и времени: цены, курсы, ответственные лица. Записи не являются самостоятельными объектами и не имеют ссылок.

Документ + регистры

Подходит для отражения событий, меняющих состояние учёта: отгрузка, оплата, списание. Требует продумывания проведения и движений.

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

Метаданные просматриваются и редактируются в конфигураторе — отдельном режиме запуска 1С. Чтобы открыть дерево конфигурации, запустите базу в режиме «Конфигуратор» и выполните команду «Конфигурация — Открыть конфигурацию». Если конфигурация находится на поддержке без возможности изменения, потребуется сначала включить возможность изменений.

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

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

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

Как обратиться к метаданным из встроенного языка

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

Типичный пример — перебор всех документов конфигурации или получение списка реквизитов конкретного объекта:

Для Каждого Док Из Метаданные.Документы Цикл

Сообщить(Док.Имя);

КонецЦикла;

ОбъектМД = Метаданные.НайтиПоТипу(ТипЗнч(СсылкаНаОбъект));

Если ОбъектМД <> Неопределено Тогда

Сообщить("Тип объекта: " + ОбъектМД.ПолноеИмя());

КонецЕсли;

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

Изменение метаданных: реструктуризация и риски

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

Безопасные изменения — добавление нового объекта или нового реквизита (старые записи получат пустое значение). Опасные — удаление реквизита (данные будут безвозвратно потеряны), сужение длины строки (значения обрежутся), изменение типа реквизита на несовместимый. Перед такими операциями обязательна резервная копия и проверка на копии базы.

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

Маршрут решения

Как выбрать способ доработки

Нужно добавить реквизит, форму или печатную форму в типовую конфигурациюИспользуйте расширение конфигурации — типовые объекты не изменятся, обновления пройдут без конфликтов
Нужна отдельная разовая операция с данными без изменения структурыСоздайте внешнюю обработку — метаданные конфигурации останутся нетронутыми
Нужно изменить логику проведения типового документаСначала оцените подписки на события и расширение; прямую правку модуля применяйте только при невозможности обойтись иначе
Конфигурация полностью самописная и не обновляетсяМожно изменять метаданные напрямую через конфигуратор с обычными мерами предосторожности

Метаданные и права доступа

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

На уровне записей действует механизм RLS (ограничение доступа на уровне записей), который тоже привязан к метаданным: шаблоны ограничений пишутся для конкретных объектов. При добавлении нового объекта метаданных не забудьте настроить для него роли — иначе пользователи либо не увидят объект вообще, либо получат к нему доступ через полные права, что нарушает разграничение.

Типичные ошибки при работе с метаданными

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

Часто задаваемые вопросы

Чем метаданные отличаются от данных в 1С?

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

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

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

Что произойдёт с данными при удалении реквизита из метаданных?

При обновлении конфигурации базы данных платформа удалит соответствующую колонку из таблиц СУБД, и все значения этого реквизита будут потеряны без возможности восстановления. Перед удалением сделайте резервную копию и при необходимости выгрузите значения в файл через обработку или отчёт.

Почему после изменения метаданных база долго обновляется?

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

Что такое расширение конфигурации и когда его использовать?

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

Как узнать, где используется конкретный объект метаданных?

В конфигураторе выделите объект и выполните команду контекстного меню «Поиск ссылок на объект» (или «Найти ссылки на объекты метаданных» из меню «Правка»). Платформа покажет все места конфигурации, где объект упоминается: в модулях, формах, правах, подсистемах. Эта проверка обязательна перед удалением или переименованием объекта.

Итог

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

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