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