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

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

Что является объектом метаданных в 1С

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

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

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

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

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

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

Данные — это конкретные экземпляры: элемент справочника «Номенклатура» с наименованием «Кабель ВВГ 3×2,5», документ «Приходная накладная № 15», запись регистра сведений о цене товара. Удаление объекта метаданных из конфигурации приводит к удалению всех связанных данных, поэтому платформа при обновлении конфигурации запрашивает подтверждение и показывает список удаляемых объектов.

Ещё один критерий различия: метаданные переносятся между базами через файлы конфигурации (cf), поставки (cfu) и расширения (cfe), а данные — через выгрузку информационной базы (dt), обмены XML и типовые механизмы синхронизации.

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

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

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

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

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

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

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

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

Где редактируетсяКонфигуратор

Если объект правится в конфигураторе и требует обновления конфигурации БД — это метаданные

Где хранятся записиРежим Предприятие

Если пользователь вводит записи в режиме 1С:Предприятие — это данные, а их структура описана метаданными

Как переноситсяФайлы cf/cfe

Метаданные переносятся файлами конфигурации и расширений, данные — выгрузкой dt или обменами

Какие объекты метаданных хранят данные, а какие нет

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

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

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

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

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

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

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

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

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

Объекты метаданных в коде: обращение через Метаданные

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

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

Если Метаданные.Справочники.Найти("Организации") <> Неопределено Тогда

// объект существует, можно работать

КонецЕсли;

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

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

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

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

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

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

Третья ошибка — ожидание, что перенос конфигурации перенесёт и данные. Файл cf содержит только метаданные; после загрузки конфигурации в пустую базу данные отсутствуют. Для переноса данных нужна выгрузка dt или обмены.

Типичные ошибки
01
Удаление объекта метаданных без поиска ссылок — обрыв связей и потеря данных в зависимых объектах
02
Уменьшение длины строкового реквизита — безвозвратное обрезание значений при реструктуризации
03
Перенос метаданных файлом cf вместо данных — в новой базе есть структура, но нет записей
04
Обращение к объекту по имени без проверки Метаданные.Найти() — ошибка выполнения в конфигурациях без этого объекта
05
Изменение типовой конфигурации вместо расширения — сложности при обновлении на новые релизы

Расширения конфигурации как безопасный способ менять метаданные

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

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

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

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

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

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

Проверка результата и риски

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

Любые операции с метаданными, хранящими данные, выполняйте только после создания резервной копии (выгрузка dt или копия средствами СУБД). Реструктуризация больших таблиц на рабочей базе может занять значительное время и блокировать пользователей — планируйте её на нерабочие часы.

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

Как проверить результат изменений

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

Завершилось без ошибок, список реструктуризации соответствует задуманному

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

Ошибки реструктуризации или неожиданные удаления объектов

Существующие данные
Норма

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

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

Значения обрезаны, очищены или записи не открываются

Работа пользователей
Норма

Новые поля видны в формах, отчёты строятся

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

Ошибки обращения к реквизитам, падение отчётов

Частые вопросы

Является ли элемент справочника объектом метаданных?

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

Относятся ли роли и подсистемы к объектам метаданных?

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

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

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

Чем отличается перечисление от справочника?

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

Можно ли программно создать новый объект метаданных?

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

Почему после загрузки cf-файла в новую базу нет данных?

Файл конфигурации cf содержит только метаданные — структуру объектов, но не их содержимое. Для переноса данных используйте выгрузку информационной базы в файл dt или механизмы обмена данными.

Итог

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

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