Переименование расширения конфигурации: имя, синоним и всё, что на них завязано
Содержание
Название расширения меняют в конфигураторе: Конфигурация → Расширения конфигурации, открыть нужное расширение, выделить корневой узел дерева и в палитре свойств исправить поле Имя (техническое) или Синоним (то, что видят пользователи). Потом выполнить Конфигурация → Обновить конфигурацию базы данных (F7) для этого расширения и перезапустить сеансы.
Выбор зависит от задачи. Хотите, чтобы в списке расширений и в окне «О программе» стояло понятное название, — меняйте только синоним, это безопасно. Нужно сменить идентификатор, например под стандарт именования компании, — меняйте имя, но тогда придётся поправить скрипты, код и файлы .cfe, которые ищут расширение по старому имени.
Что именно переименовываем: имя, синоним или префикс
У корня расширения три «названия», и путают их постоянно.
| Свойство | Где видно | Что ломается при смене |
|---|---|---|
| Имя | Конфигуратор, пакетный режим, код (РасширенияКонфигурации.Получить), сравнение при загрузке .cfe | Скрипты с -Extension, код поиска по имени, повторная загрузка старого файла |
| Синоним | Список расширений в пользовательском режиме, заголовки | Ничего |
| Префикс имён | Имена новых объектов, добавляемых в расширение | Сам по себе ничего: уже созданные объекты префикс не меняют |
Правила для поля Имя те же, что для любого идентификатора 1С:
- 🔤 начинается с буквы;
- 🚫 без пробелов, дефисов и точек;
- ✅ только буквы, цифры и знак подчёркивания;
- 🔁 не совпадает с именем другого расширения в этой базе.
Синоним пишется свободно: с пробелами, кавычками, на русском. Если в базе пять расширений с именами вида Расширение1, Расширение2, проще всего начать с синонимов: пользователи и техподдержка сразу поймут, что за доработка перед ними.
Пример понятной схемы именования для базы с несколькими доработками:
| Было | Стало (имя) | Синоним |
|---|---|---|
Расширение1 | ПечатьАктовСверки | Печать актов сверки для бухгалтерии |
Расширение2 | ИсправлениеЗагрузкиБанка | Исправление загрузки банковской выписки |
Доработки_Иванов | ДопОтчетыСклад | Дополнительные складские отчёты |
Имя отвечает на вопрос «что делает», синоним объясняет то же человеческим языком. Фамилии разработчиков и даты в имени со временем только мешают.
Префикс имён полезно поменять одновременно с именем, если переименование связано со сменой разработчика. Новые объекты получат новый префикс, а старые останутся как есть — их не трогают без нужды.
Подготовка базы и конфигуратора к смене имени
Переименование — короткая операция, но после неё расширение заново применяется к базе. Готовьтесь так же, как к обычному обновлению расширения.
- Сделайте копию. Минимум — выгрузите само расширение: в окне
Расширения конфигурациивыделите его и через менюКонфигурациясохраните в файл.cfe. Если расширение добавляет собственные справочники или регистры с данными, сделайте полную выгрузку базы.dtили резервную копию СУБД. - Проверьте права. Пользователю, под которым вы входите в конфигуратор, нужны административные права в базе.
- Узнайте, где ещё живёт имя. Поищите старое имя в пакетных файлах обновления, в планировщике заданий Windows, в скриптах CI, в коде самой конфигурации и других расширений (
Правка → Глобальный поискв конфигураторе). - Выясните, подключено ли расширение к хранилищу. Если да, корневой узел нужно будет захватить.
- Выберите время. Сеансы пользователей после применения изменённого расширения придётся перезапустить, поэтому делайте это вне рабочего дня или предупредите людей.
Конфигуратор открывается обычным способом: окно запуска 1С → выбрать базу → кнопка Конфигуратор.
Как поменять название расширения в конфигураторе
Шаг 1. Откройте список расширений
В конфигураторе выберите Конфигурация → Расширения конфигурации. Откроется окно со списком всех расширений базы: имя, синоним, назначение, версия.
Шаг 2. Откройте нужное расширение
Выделите строку и откройте расширение двойным щелчком или кнопкой открытия дерева. Появится отдельное дерево объектов расширения, похожее на дерево основной конфигурации.
Шаг 3. Измените свойства корня
- Щёлкните правой кнопкой по самому верхнему узлу дерева расширения.
- Выберите Свойства (или нажмите
Alt+Enter). - В палитре свойств исправьте Имя, Синоним, при необходимости — Префикс имён.
- Заодно проверьте поле Версия: если вы отслеживаете версии расширения, поднимите номер, чтобы новое состояние отличалось от старого файла.
Если расширение подключено к хранилищу, перед правкой захватите корневой узел, а после — поместите изменения в хранилище с комментарием вида «Переименование: СтароеИмя → НовоеИмя».
Шаг 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 с тем же именем, а вы обновляете расширение из файла через этот список.
Что обновить у клиентов, в скриптах и в коде
Платформа применяет изменённое расширение при следующем запуске сеанса. Открытые сеансы продолжают работать со старым состоянием, поэтому:
- Попросите пользователей выйти и снова зайти в базу.
- Если у кого-то после входа видно старое название или поведение, запустите клиент с параметром
/ClearCacheили очистите кэш вручную. Для этого клиент должен быть закрыт. - На терминальном сервере проверьте, что не осталось «висящих» сеансов: их видно в консоли администрирования кластера.
Принудительное завершение сеансов в консоли кластера обрывает работу людей без сохранения. Делайте это только после предупреждения.
Теперь — места, где старое имя может остаться:
| Где | Что сделать |
|---|---|
Пакетные .bat/.ps1, планировщик Windows | Заменить значение после -Extension |
| CI/CD, репозиторий выгрузки в файлы | Переименовать каталог и параметры выгрузки |
| Код конфигурации и других расширений | Найти вызовы поиска расширения по имени |
| Инструкции для пользователей | Обновить скриншоты и название в тексте |
Старые файлы .cfe в общих папках | Удалить или подписать как устаревшие |
Код, который проверяет наличие расширения, обычно выглядит так — и после переименования молча перестаёт его находить:
Отбор = Новый Структура("Имя", "СтароеИмя");
Найденные = РасширенияКонфигурации.Получить(Отбор);
Если Найденные.Количество() = 0 Тогда
// ветка «расширение не установлено» — теперь срабатывает всегда
КонецЕсли;
Исправить достаточно строку с именем. Если таких мест несколько, вынесите имя в общий модуль или константу, чтобы следующее переименование было правкой в одном месте.
Ошибки после переименования и как их снять
Отдельно про переименование объектов внутри расширения. Многие, сменив префикс, хотят привести к нему и старые объекты. Для собственных объектов с данными это рискованно: ссылки в коде, запросах и настройках отчётов перестанут находиться. Если очень нужно — делайте через контекстную команду переименования в конфигураторе, которая предлагает поправить ссылки, и только на копии базы.
Финальная проверка: что посмотреть перед сдачей
Короткий прогон после переименования занимает 10–15 минут:
- Список расширений в конфигураторе. Одно расширение с новым именем и нужным синонимом, без дублей.
- Пользовательский режим. Войдите под обычным пользователем, откройте список расширений в администрировании — новый синоним, признак «Активно» стоит.
- Функциональность. Пройдите 2–3 сценария, ради которых расширение писалось: откройте доработанную форму, проведите документ, сформируйте печатную форму или отчёт.
- Данные. Если у расширения свои справочники — откройте их, убедитесь, что записи на месте.
- Скрипты. Запустите пакетное обновление вручную на копии или посмотрите лог ближайшего ночного прогона.
- Хранилище. Изменения помещены, у коллег при обновлении из хранилища приходит новое имя.
Последний шаг — сохранить свежий .cfe с новым именем туда, откуда расширение берут для других баз. Иначе через месяц кто-нибудь загрузит старый файл, и история с двумя расширениями повторится.