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

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

Как изменить метаданные в 1С: пошаговое руководство

Как изменить метаданные в 1С: работа с конфигуратором, редактирование синонимов, реквизитов и свойств объектов, проверка изменений и частые ошибки.

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

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

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

Что относится к метаданным в 1С

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

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

Подготовка: резервная копия и режим запуска

Перед любыми правками метаданных выполните три подготовительных шага. Во-первых, выгрузите информационную базу в файл .dt через «Администрирование» → «Выгрузить информационную базу». Это самый надёжный способ отката при ошибке. Во-вторых, убедитесь, что в базе не работают другие пользователи: обновление конфигурации базы данных при активных сеансах либо будет заблокировано, либо потребует принудительного завершения сеансов.

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

Изменение свойств объекта метаданных

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

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

Добавление нового реквизита

Для добавления реквизита выделите объект, откройте ветку «Реквизиты» и через контекстное меню выберите «Добавить». В палитре свойств задайте имя, синоним и тип данных: строка с указанием длины, число с точностью, дата, булево или ссылка на другой объект. Для строк неограниченной длины помните: такие поля нельзя использовать в индексах и некоторых отборах.

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

Изменение типа и длины существующего реквизита

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

Порядок действий при изменении метаданных
  1. 1
    Выгрузите информационную базу в файл .dt
  2. 2
    Откройте конфигуратор и дерево конфигурации
  3. 3
    Найдите объект и измените нужные свойства или добавьте реквизит
  4. 4
    Сохраните конфигурацию (Ctrl+S)
  5. 5
    Выполните обновление конфигурации базы данных (F7)
  6. 6
    Проверьте список изменений в окне реструктуризации и подтвердите
  7. 7
    Проверьте результат в режиме «1С:Предприятие»

Обновление конфигурации базы данных

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

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

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

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

Открытие объекта в режиме «1С:Предприятие»
Норма

Объект открывается, новый реквизит виден на форме

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

Ошибка обращения к объекту или реквизит отсутствует

Сохранение и проведение документа
Норма

Документ записывается и проводится без ошибок

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

Ошибки вида «Поле не найдено» при проведении

Журнал регистрации после обновления
Норма

Нет ошибок реструктуризации

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

Записи об ошибках изменения структуры таблиц

Изменение метаданных через расширения конфигурации

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

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

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

Прямое изменение конфигурации

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

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

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

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

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

Изменение метаданных программно: что нужно знать

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

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

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

Для пакетного изменения конфигурации (например, массового переименования) существуют внешние инструменты и выгрузка конфигурации в файлы XML через «Конфигурация» → «Выгрузить конфигурацию в файлы». Это продвинутый сценарий: структура XML сложна, и ошибочная правка файлов может сделать конфигурацию незагружаемой. Работайте с файловой выгрузкой только на копии.

Частые ошибки и ограничения

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

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

Типичные ошибки
01
Подтверждение реструктуризации без чтения списка изменений — потеря данных в удаляемых реквизитах
02
Переименование объекта без поиска обращений к нему в модулях — ошибки «Объект не найден» в отчётах и обработках
03
Правка типовой конфигурации вместо расширения — потеря поддержки и сложные ручные обновления
04
Работа без резервной копии — невозможность отката при повреждении базы

Как проверить, что изменения применились корректно

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

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

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

Можно ли изменить метаданные в режиме «1С:Предприятие»?

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

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

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

Как переименовать объект, чтобы ничего не сломать?

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

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

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

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

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

Чем отличается имя объекта от синонима?

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

Итог

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

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