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

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

Объект метаданных в 1С: что это и как с ним работать

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

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

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

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

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

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

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

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

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

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

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

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

Где хранятся метаданные и как их посмотреть

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

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

Как посмотреть объект метаданных
  1. 1
    Запустите базу в режиме «Конфигуратор» под пользователем с правами администратора
  2. 2
    Откройте меню «Конфигурация → Открыть конфигурацию» и дождитесь загрузки дерева
  3. 3
    Найдите нужный объект через поиск по дереву (Ctrl+F) или вручную по веткам
  4. 4
    Откройте объект двойным щелчком и изучите вкладки: Данные, Формы, Макеты, Права
  5. 5
    Для просмотра без риска изменений закройте конфигуратор, не сохраняя конфигурацию

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

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

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

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

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

Способы доработки

Изменение основной конфигурации

Подходит для собственных или снятых с поддержки решений. Ограничение: усложняет обновление типовых конфигураций, требует ручного сравнения при обновлении

Расширение конфигурации

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

Внешние отчёты и обработки

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

Реструктуризация: что происходит при обновлении конфигурации базы данных

Команда «Конфигурация → Обновить конфигурацию базы данных» запускает приведение физической структуры таблиц в соответствие с изменёнными метаданными. Платформа строит список изменений и показывает его перед выполнением. На больших базах реструктуризация может занимать значительное время, и в этот период пользователи не должны работать с базой — обновление требует монопольного доступа.

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

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

Как проверить результат обновления

Список изменений перед реструктуризацией
Норма

Только добавление новых объектов и реквизитов, нет удаления нужных полей

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

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

Запуск базы после обновления
Норма

База открывается, объекты доступны, новые реквизиты видны в формах

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

Ошибки при запуске, сообщения о несоответствии структуры

Данные в изменённых объектах
Норма

Существующие записи на месте, значения реквизитов сохранены

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

Очищенные поля, пропавшие элементы, пустые табличные части

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

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

Отдельная группа ошибок связана с недооценкой связей между объектами. Реквизит документа может использоваться в движениях по регистрам, в запросах отчётов, в критериях отбора и подписках на события. Перед удалением или переименованием объекта выполните поиск ссылок на него по всей конфигурации (правой кнопкой по объекту → «Поиск ссылок в объектах»).

FAQ

Чем объект метаданных отличается от объекта встроенного языка?

Объект метаданных — это описание (шаблон), а объект встроенного языка — программный инструмент для работы с конкретными данными по этому шаблону. Например, метаданные описывают справочник «Контрагенты», а СправочникиМенеджер и СправочникОбъект позволяют создавать и изменять конкретных контрагентов в коде.

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

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

Что такое конфигурация базы данных и конфигурация поставщика?

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

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

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

Удаляются ли данные при удалении реквизита?

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

Что делать, если обновление конфигурации базы данных зависло?

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

Итог

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

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