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

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

Как изменить префикс расширения в 1С

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

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

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

Материал ориентирован на конфигуратор 1С:Предприятие 8.3 и подходит как для роли разработчика, так и для администратора, сопровождающего расширения на рабочей базе.

Что такое префикс расширения и когда его нужно менять

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

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

Важно понимать: префикс влияет только на имена новых объектов. Уже созданные объекты платформа автоматически не переименует — это придётся сделать вручную. Именно этот этап и несёт основные риски.

Подготовка: резервная копия и инвентаризация объектов

Перед любыми изменениями сделайте выгрузку информационной базы в файл .dt через конфигуратор (Администрирование → Выгрузить информационную базу) или штатными средствами СУБД, если база клиент-серверная. Переименование объектов затрагивает метаданные, и при ошибке откат через копию — единственный быстрый способ восстановления.

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

Отдельно проверьте, не ссылаются ли на объекты расширения извне: из других расширений, внешних обработок, настроек обмена, сохранённых настроек отчётов. Такие ссылки после переименования станут битыми, и их придётся исправлять вручную.

Как изменить префикс в свойствах расширения

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

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

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

Порядок действий
  1. 1
    Сделайте выгрузку информационной базы (.dt) или резервную копию СУБД
  2. 2
    Составьте список объектов расширения со старым префиксом
  3. 3
    Откройте свойства расширения и укажите новый префикс
  4. 4
    Переименуйте объекты со старым префиксом через «Поиск ссылок на объекты»
  5. 5
    Исправьте обращения к переименованным объектам в модулях
  6. 6
    Выполните проверку конфигурации и обновление базы на тестовой копии
  7. 7
    Проверьте работу функционала расширения и перенесите изменения в продуктив

Переименование объектов со старым префиксом

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

При переименовании объекта метаданных платформа в большинстве случаев автоматически обновляет ссылки на него в модулях, формах и других объектах внутри расширения. Однако автоматика не всесильна: строковые обращения вида Справочники["Расш1_МойСправочник"], вызовы Выполнить/ОценитьВыражение, имена в настройках динамических списков и запросах с конструкциями, собранными строкой, обновлены не будут. Их нужно найти глобальным поиском по старому префиксу (Правка → Глобальный поиск) и исправить вручную.

Добавленные реквизиты и табличные части

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

Роли и подсистемы

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

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

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

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

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

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

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

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

Проверка конфигурации
Норма

Нет ошибок о не найденных объектах и некорректных ссылках

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

Ошибки вида «объект не обнаружен» со старым префиксом

Глобальный поиск по старому префиксу
Норма

Совпадений в коде и метаданных нет

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

Найдены обращения в модулях, запросах или настройках

Работа в режиме предприятия
Норма

Формы открываются, отчёты формируются, права работают

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

Ошибки при открытии форм, отсутствие прав, пустые настройки

Обновление на тестовой копии
Норма

Реструктуризация завершилась без ошибок, данные сохранены

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

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

Ограничения и альтернативные подходы

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

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

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

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

Как выбрать действие

Расширение ещё не опубликовано и объектов малоПересоздайте расширение с правильным префиксом — это быстрее и безопаснее
Объектов много, но данных в продуктиве нетМеняйте префикс и переименовывайте объекты по инструкции выше
Расширение работает в продуктиве и содержит данныеВыполните все действия на копии базы, переносите в продуктив только после полной проверки
Два расширения конфликтуют по префиксуМеняйте префикс у того расширения, где меньше объектов и меньше внешних ссылок

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

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

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

Потеряются ли данные при смене префикса?

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

Что делать, если после переименования появились ошибки «объект не обнаружен»?

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

Нужно ли менять префикс, если расширение одно в базе?

Если конфликтов имён нет и префикс вас устраивает, менять его необязательно. Смена префикса оправдана при конфликтах, требованиях к именованию или подготовке расширения к передаче другим потребителям.

Влияет ли смена префикса на обновление расширения из файла .cfe?

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

Можно ли использовать в префиксе кириллицу?

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

Итог

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

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