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