Переименование расширения конфигурации: имя, синоним и всё, что на них завязано

· 9 мин

Содержание

Название расширения меняют в конфигураторе: Конфигурация → Расширения конфигурации, открыть нужное расширение, выделить корневой узел дерева и в палитре свойств исправить поле Имя (техническое) или Синоним (то, что видят пользователи). Потом выполнить Конфигурация → Обновить конфигурацию базы данных (F7) для этого расширения и перезапустить сеансы.

Выбор зависит от задачи. Хотите, чтобы в списке расширений и в окне «О программе» стояло понятное название, — меняйте только синоним, это безопасно. Нужно сменить идентификатор, например под стандарт именования компании, — меняйте имя, но тогда придётся поправить скрипты, код и файлы .cfe, которые ищут расширение по старому имени.

Что именно переименовываем: имя, синоним или префикс

У корня расширения три «названия», и путают их постоянно.

СвойствоГде видноЧто ломается при смене
ИмяКонфигуратор, пакетный режим, код (РасширенияКонфигурации.Получить), сравнение при загрузке .cfeСкрипты с -Extension, код поиска по имени, повторная загрузка старого файла
СинонимСписок расширений в пользовательском режиме, заголовкиНичего
Префикс имёнИмена новых объектов, добавляемых в расширениеСам по себе ничего: уже созданные объекты префикс не меняют

Правила для поля Имя те же, что для любого идентификатора 1С:

  • 🔤 начинается с буквы;
  • 🚫 без пробелов, дефисов и точек;
  • ✅ только буквы, цифры и знак подчёркивания;
  • 🔁 не совпадает с именем другого расширения в этой базе.

Синоним пишется свободно: с пробелами, кавычками, на русском. Если в базе пять расширений с именами вида Расширение1, Расширение2, проще всего начать с синонимов: пользователи и техподдержка сразу поймут, что за доработка перед ними.

Пример понятной схемы именования для базы с несколькими доработками:

БылоСтало (имя)Синоним
Расширение1ПечатьАктовСверкиПечать актов сверки для бухгалтерии
Расширение2ИсправлениеЗагрузкиБанкаИсправление загрузки банковской выписки
Доработки_ИвановДопОтчетыСкладДополнительные складские отчёты

Имя отвечает на вопрос «что делает», синоним объясняет то же человеческим языком. Фамилии разработчиков и даты в имени со временем только мешают.

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

Подготовка базы и конфигуратора к смене имени

Переименование — короткая операция, но после неё расширение заново применяется к базе. Готовьтесь так же, как к обычному обновлению расширения.

  1. Сделайте копию. Минимум — выгрузите само расширение: в окне Расширения конфигурации выделите его и через меню Конфигурация сохраните в файл .cfe. Если расширение добавляет собственные справочники или регистры с данными, сделайте полную выгрузку базы .dt или резервную копию СУБД.
  2. Проверьте права. Пользователю, под которым вы входите в конфигуратор, нужны административные права в базе.
  3. Узнайте, где ещё живёт имя. Поищите старое имя в пакетных файлах обновления, в планировщике заданий Windows, в скриптах CI, в коде самой конфигурации и других расширений (Правка → Глобальный поиск в конфигураторе).
  4. Выясните, подключено ли расширение к хранилищу. Если да, корневой узел нужно будет захватить.
  5. Выберите время. Сеансы пользователей после применения изменённого расширения придётся перезапустить, поэтому делайте это вне рабочего дня или предупредите людей.

Конфигуратор открывается обычным способом: окно запуска 1С → выбрать базу → кнопка Конфигуратор.

Перед переименованием расширения
Выполнено: 0 / 5

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

Шаг 1. Откройте список расширений

В конфигураторе выберите Конфигурация → Расширения конфигурации. Откроется окно со списком всех расширений базы: имя, синоним, назначение, версия.

Шаг 2. Откройте нужное расширение

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

Шаг 3. Измените свойства корня

  1. Щёлкните правой кнопкой по самому верхнему узлу дерева расширения.
  2. Выберите Свойства (или нажмите Alt+Enter).
  3. В палитре свойств исправьте Имя, Синоним, при необходимости — Префикс имён.
  4. Заодно проверьте поле Версия: если вы отслеживаете версии расширения, поднимите номер, чтобы новое состояние отличалось от старого файла.

Если расширение подключено к хранилищу, перед правкой захватите корневой узел, а после — поместите изменения в хранилище с комментарием вида «Переименование: СтароеИмя → НовоеИмя».

Шаг 4. Сохраните и обновите базу

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

Не переименовывайте расширение с собственными данными сразу в рабочей базе. Сначала повторите шаги на копии и убедитесь, что справочники и регистры расширения после обновления на месте.

Вариант для пакетного режима

Если расширения обновляются скриптом, имя в нём задаётся параметром -Extension. Порядок такой: переименовать расширение в базе вручную (шаги выше), выгрузить новый .cfe и переписать скрипт на новое имя.

"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /S "srv01\buh" /N "Администратор" /P "пароль" ^
  /LoadCfg "D:\ext\Доработки.cfe" -Extension НовоеИмя ^
  /UpdateDBCfg -Extension НовоеИмя ^
  /Out "D:\ext\log.txt"

Если оставить в скрипте старое имя, запуск либо завершится ошибкой, либо создаст в базе второе расширение под старым именем — зависит от того, как написан скрипт. Оба исхода неприятны, поэтому после правки обязательно прочитайте лог из /Out.

Права пользователей и роли расширения после смены имени

Сама смена имени роли не переименовывает. Но есть несколько мест, где стоит проверить доступ.

  • 🛡️ Собственные роли расширения. Если расширение добавляет свои роли, они назначены пользователям или группам доступа. После обновления откройте карточку пары пользователей и убедитесь, что роли на месте.
  • 🔐 Безопасный режим и защита от опасных действий. Эти флаги стоят у расширения в списке расширений. При повторной загрузке файла через пользовательский режим их иногда выставляют заново — сверьте с тем, что было.
  • 👤 Кто может управлять расширениями. Добавлять, удалять и обновлять расширения в пользовательском режиме может только пользователь с административными правами. Если раньше расширение ставил один человек, а дальше будет другой — проверьте его роли заранее.

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) список расширений открывается из раздела Администрирование → Печатные формы, отчеты и обработки → Расширения. Там видно синоним, признак «Активно» и безопасный режим. Переименовать расширение в этом списке нельзя: форма умеет добавлять, удалять и обновлять из файла, а имя берёт из самого .cfe.

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

Что обновить у клиентов, в скриптах и в коде

Платформа применяет изменённое расширение при следующем запуске сеанса. Открытые сеансы продолжают работать со старым состоянием, поэтому:

  1. Попросите пользователей выйти и снова зайти в базу.
  2. Если у кого-то после входа видно старое название или поведение, запустите клиент с параметром /ClearCache или очистите кэш вручную. Для этого клиент должен быть закрыт.
  3. На терминальном сервере проверьте, что не осталось «висящих» сеансов: их видно в консоли администрирования кластера.

Принудительное завершение сеансов в консоли кластера обрывает работу людей без сохранения. Делайте это только после предупреждения.

Теперь — места, где старое имя может остаться:

ГдеЧто сделать
Пакетные .bat/.ps1, планировщик WindowsЗаменить значение после -Extension
CI/CD, репозиторий выгрузки в файлыПереименовать каталог и параметры выгрузки
Код конфигурации и других расширенийНайти вызовы поиска расширения по имени
Инструкции для пользователейОбновить скриншоты и название в тексте
Старые файлы .cfe в общих папкахУдалить или подписать как устаревшие

Код, который проверяет наличие расширения, обычно выглядит так — и после переименования молча перестаёт его находить:

Отбор = Новый Структура("Имя", "СтароеИмя");
Найденные = РасширенияКонфигурации.Получить(Отбор);
Если Найденные.Количество() = 0 Тогда
    // ветка «расширение не установлено» — теперь срабатывает всегда
КонецЕсли;

Исправить достаточно строку с именем. Если таких мест несколько, вынесите имя в общий модуль или константу, чтобы следующее переименование было правкой в одном месте.

Ошибки после переименования и как их снять

Диагностика: выберите симптом

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

Финальная проверка: что посмотреть перед сдачей

Короткий прогон после переименования занимает 10–15 минут:

  1. Список расширений в конфигураторе. Одно расширение с новым именем и нужным синонимом, без дублей.
  2. Пользовательский режим. Войдите под обычным пользователем, откройте список расширений в администрировании — новый синоним, признак «Активно» стоит.
  3. Функциональность. Пройдите 2–3 сценария, ради которых расширение писалось: откройте доработанную форму, проведите документ, сформируйте печатную форму или отчёт.
  4. Данные. Если у расширения свои справочники — откройте их, убедитесь, что записи на месте.
  5. Скрипты. Запустите пакетное обновление вручную на копии или посмотрите лог ближайшего ночного прогона.
  6. Хранилище. Изменения помещены, у коллег при обновлении из хранилища приходит новое имя.

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

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

Можно ли переименовать расширение без конфигуратора?
Имя — нет: в пользовательском режиме его не редактируют. Можно загрузить через список расширений новый .cfe, где имя уже другое, но платформа создаст отдельное расширение, а старое придётся удалить.
Сохранятся ли данные расширения после смены имени?
Обычно да, если менять имя в конфигураторе у существующего расширения, а не удалять его и не загружать заново. Всё равно проверьте на копии: удаление расширения с данными удаляет и сами данные.
Нужно ли менять префикс вместе с именем?
Не обязательно. Префикс влияет только на новые объекты. Меняйте его, если переходите на новый стандарт именования, а существующие объекты оставьте как есть.
Почему у части пользователей старое название?
Их сеансы открыты с прошлого запуска или у клиента остался кэш. Нужен перезапуск, при упорстве — запуск с /ClearCache.
Переименование влияет на лицензирование или обновление типовой конфигурации?
Нет. Лицензии с расширениями не связаны, а обновление типовой конфигурации проверяет применимость расширения по объектам, а не по его имени.