Разработка и Конфигурация · 12 мин
Как изменить метаданные в 1С: пошаговое руководство
Как изменить метаданные в 1С: работа с конфигуратором, редактирование синонимов, реквизитов и свойств объектов, проверка изменений и частые ошибки.
Метаданные в 1С — это описание структуры конфигурации: какие справочники, документы, регистры и реквизиты существуют, как они называются и как связаны между собой. Изменение метаданных требуется, когда нужно добавить реквизит к документу, переименовать объект, изменить длину строкового поля или настроить представление элемента в интерфейсе.
Работа с метаданными выполняется в режиме «Конфигуратор» и напрямую влияет на структуру базы данных. Любое изменение метаданных — потенциально опасная операция: ошибка может привести к потере данных или невозможности обновления конфигурации. Поэтому перед началом работ обязательно создайте резервную копию информационной базы через меню «Администрирование» → «Выгрузить информационную базу».
Важно понимать различие двух ситуаций: изменение метаданных в собственной (самописной или доработанной) конфигурации и изменение типовой конфигурации на поддержке. Во втором случае корректный путь — использование расширений конфигурации, которые не затрагивают типовые объекты и сохраняют возможность автоматического обновления.
Что относится к метаданным в 1С
Метаданные — это все объекты, которые видны в дереве конфигурации: справочники, документы, журналы документов, перечисления, отчёты, обработки, регистры сведений и накопления, планы счетов, роли, подсистемы, общие модули и другие элементы. У каждого объекта есть свойства: имя, синоним, комментарий, длина, состав реквизитов, табличные части, формы, макеты.
К метаданным не относятся сами данные — записи справочников, проведённые документы, остатки регистров. Это содержимое базы, которое хранится отдельно и изменяется в пользовательском режиме «1С:Предприятие». Путать эти понятия нельзя: редактирование метаданных меняет структуру хранения, а не конкретные записи.
Подготовка: резервная копия и режим запуска
Перед любыми правками метаданных выполните три подготовительных шага. Во-первых, выгрузите информационную базу в файл .dt через «Администрирование» → «Выгрузить информационную базу». Это самый надёжный способ отката при ошибке. Во-вторых, убедитесь, что в базе не работают другие пользователи: обновление конфигурации базы данных при активных сеансах либо будет заблокировано, либо потребует принудительного завершения сеансов.
В-третьих, определите, находится ли конфигурация на поддержке поставщика. Откройте «Конфигурация» → «Поддержка» → «Настройка поддержки». Если объекты заблокированы для изменения (значок замка), прямое редактирование потребует снятия с поддержки, что затруднит будущие обновления. В этом случае правильное решение — расширение конфигурации.
Изменение свойств объекта метаданных
Откройте конфигуратор и выполните команду «Конфигурация» → «Открыть конфигурацию». В дереве объектов найдите нужный элемент, например «Справочники» → «Номенклатура». Щелчок правой кнопкой мыши открывает контекстное меню, где доступен пункт «Свойства» — палитра свойств показывает все параметры объекта: имя, синоним, длину кода и наименования, иерархичность, вид иерархии, серии кодов.
Самая частая задача — изменить синоним, то есть отображаемое название объекта. Имя объекта (идентификатор, используемый в коде) менять следует крайне осторожно: все обращения к нему в модулях, запросах и формулах придётся исправлять вручную или через поиск по конфигурации. Синоним же можно менять свободно — он влияет только на представление в интерфейсе.
Добавление нового реквизита
Для добавления реквизита выделите объект, откройте ветку «Реквизиты» и через контекстное меню выберите «Добавить». В палитре свойств задайте имя, синоним и тип данных: строка с указанием длины, число с точностью, дата, булево или ссылка на другой объект. Для строк неограниченной длины помните: такие поля нельзя использовать в индексах и некоторых отборах.
После добавления реквизит не появится в форме автоматически — его нужно разместить на форме объекта вручную через редактор форм либо программно. Если реквизит добавлен, но пользователи его не видят, проверьте именно форму, а не только метаданные.
Изменение типа и длины существующего реквизита
Увеличение длины строки или точности числа — безопасная операция: данные сохранятся. Уменьшение длины или смена типа (например, строки на число) приведёт к усечению или очистке значений при реструктуризации. Платформа предупредит об этом при обновлении конфигурации базы данных — внимательно читайте список изменений в окне реструктуризации и не подтверждайте его, не разобравшись с каждым пунктом.
- 1Выгрузите информационную базу в файл .dt
- 2Откройте конфигуратор и дерево конфигурации
- 3Найдите объект и измените нужные свойства или добавьте реквизит
- 4Сохраните конфигурацию (Ctrl+S)
- 5Выполните обновление конфигурации базы данных (F7)
- 6Проверьте список изменений в окне реструктуризации и подтвердите
- 7Проверьте результат в режиме «1С:Предприятие»
Обновление конфигурации базы данных
Изменения в конфигураторе не применяются к базе автоматически. После сохранения конфигурации нужно выполнить «Конфигурация» → «Обновить конфигурацию базы данных» или нажать F7. Платформа сравнит конфигурацию разработчика с конфигурацией базы данных и покажет список изменений, требующих реструктуризации.
Реструктуризация — это физическое изменение таблиц базы данных. На больших базах она может занимать значительное время, поэтому планируйте её на период минимальной нагрузки. Прерывать процесс реструктуризации нельзя: это почти гарантированно приведёт к повреждению базы, восстанавливать которую придётся из резервной копии.
Как проверить результат
Объект открывается, новый реквизит виден на форме
Ошибка обращения к объекту или реквизит отсутствует
Документ записывается и проводится без ошибок
Ошибки вида «Поле не найдено» при проведении
Нет ошибок реструктуризации
Записи об ошибках изменения структуры таблиц
Изменение метаданных через расширения конфигурации
Если конфигурация типовая и находится на поддержке, правильный способ доработки — расширение. Откройте «Конфигурация» → «Расширения конфигурации», создайте новое расширение и добавьте в него нужные объекты: собственные справочники, реквизиты, обработчики событий форм. Расширение подключается к базе без изменения типовой конфигурации.
Ограничения расширений: нельзя изменять состав типовых реквизитов, удалять объекты поставщика, менять структуру регистров. Зато можно добавлять новые реквизиты к типовым объектам, заимствовать формы и дорабатывать их, перехватывать обработчики модулей. При обновлении типовой конфигурации расширение сохраняется, хотя после крупных обновлений его работоспособность нужно проверять.
Сравнение вариантов
Подходит для собственных и снятых с поддержки конфигураций. Полный доступ ко всем объектам, но обновления поставщика придётся накатывать вручную с сопоставлением изменений.
Подходит для типовых конфигураций на поддержке. Сохраняет автообновление, но имеет ограничения: нельзя менять типовые реквизиты и структуру регистров.
Подходят, когда нужно добавить функциональность без изменения метаданных вообще: печатные формы, обработки данных, дополнительные отчёты.
Изменение метаданных программно: что нужно знать
Во встроенном языке 1С доступен объект «Метаданные», который позволяет читать структуру конфигурации: перебирать объекты, получать свойства реквизитов, проверять наличие объектов. Это активно используется в универсальных обработках. Однако изменить метаданные из кода в режиме «1С:Предприятие» нельзя — платформа это запрещает по соображениям целостности данных.
Пример чтения метаданных из кода: получение синонима реквизита документа выглядит как обращение через коллекцию метаданных. Такой подход используют для построения универсальных отчётов и проверок конфигурации.
МетаданныеДокумента = Метаданные.Документы.РеализацияТоваровУслуг;
Для Каждого Реквизит Из МетаданныеДокумента.Реквизиты Цикл
Сообщить(Реквизит.Имя + " — " + Реквизит.Синоним);
КонецЦикла;Для пакетного изменения конфигурации (например, массового переименования) существуют внешние инструменты и выгрузка конфигурации в файлы XML через «Конфигурация» → «Выгрузить конфигурацию в файлы». Это продвинутый сценарий: структура XML сложна, и ошибочная правка файлов может сделать конфигурацию незагружаемой. Работайте с файловой выгрузкой только на копии.
Частые ошибки и ограничения
Наиболее разрушительная ошибка — удаление реквизита, в котором хранятся данные. При реструктуризации платформа честно предупреждает об удалении, но список изменений часто подтверждают не читая. Вторая типичная ошибка — переименование объекта без поиска ссылок на него в коде: после обновления перестают работать отчёты, обработки и печатные формы.
Ещё одна проблема — изменение уникальности индексов или состава измерений регистра в базе, где уже накоплены данные, нарушающие новое ограничение. Реструктуризация в этом случае завершится ошибкой, и придётся сначала чистить данные. Также помните: в файловых базах во время реструктуризации требуется значительный объём свободного места на диске, сопоставимый с размером базы.
Как проверить, что изменения применились корректно
После обновления конфигурации базы данных запустите режим «1С:Предприятие» и откройте изменённый объект. Проверьте, что новые реквизиты отображаются на форме, старые данные на месте, а документы записываются и проводятся без ошибок. Просмотрите журнал регистрации на предмет ошибок за период обновления.
Если конфигурация дорабатывалась через расширение, дополнительно проверьте, что расширение активно (в списке расширений стоит флаг «Используется») и не содержит ошибок совместимости. Для критичных баз полезно прогнать тестирование и исправление базы на копии после крупных изменений метаданных.
Частые вопросы
Можно ли изменить метаданные в режиме «1С:Предприятие»?
Нет. В пользовательском режиме доступна только работа с данными. Структура конфигурации изменяется исключительно в конфигураторе, а применяется через обновление конфигурации базы данных.
Что произойдёт с данными при удалении реквизита?
Данные удаляемого реквизита будут безвозвратно потеряны при реструктуризации. Платформа покажет предупреждение в списке изменений — если реквизит содержит нужные значения, предварительно перенесите их в другой реквизит обработкой.
Как переименовать объект, чтобы ничего не сломать?
Перед переименованием выполните поиск имени объекта по всей конфигурации (Правка → Глобальный поиск) и зафиксируйте все места обращения. После переименования исправьте найденные обращения в модулях, запросах и настройках, затем обновите конфигурацию базы данных и проверьте работу связанных отчётов.
Можно ли изменить типовую конфигурацию без снятия с поддержки?
Да, через механизм расширений конфигурации. Расширение позволяет добавлять реквизиты, формы и обработчики к типовым объектам, не затрагивая саму конфигурацию поставщика, поэтому автоматическое обновление сохраняется.
Почему обновление конфигурации базы данных недоступно?
Чаще всего причина в активных сеансах других пользователей — обновление требует монопольного доступа. Завершите сеансы через консоль кластера или список активных пользователей. Также проверьте, что конфигурация сохранена и у вашей учётной записи есть права администратора.
Чем отличается имя объекта от синонима?
Имя — это идентификатор, используемый в коде и запросах; его изменение требует правки всех обращений. Синоним — отображаемое название в интерфейсе пользователя; его можно менять свободно без последствий для программной логики.
Что важно запомнить
Метаданные 1С изменяются в конфигураторе через свойства объектов и применяются обновлением конфигурации базы данных (F7). Перед правками всегда делайте выгрузку .dt, для типовых конфигураций используйте расширения, а список реструктуризации читайте до подтверждения — именно там видно, какие данные будут потеряны.