Удаление расширения конфигурации: из программы, Конфигуратора и командной строки
Содержание
Удалить расширение
в 1С 8.3 можно без Конфигуратора. В 1С:Бухгалтерии 3.0, ЗУП 3.1 и УТ 11 откройте Администрирование → Печатные формы, отчеты и обработки → Расширения, выделите строку и нажмите «Удалить». В Конфигураторе то же самое делается через Конфигурация → Расширения конфигурации, а для пакетной работы есть ключ командной строки /DeleteCfg -Extension.
Типичная ситуация: после обновления типовой конфигурации программа при запуске пишет, что расширение не может быть применено. Или подрядчик когда-то поставил доработку печатной формы, а теперь она мешает. Перед тем как удалить расширение
, сохраните его в файл .cfe: это одна минута, и вернуть доработку можно будет одной загрузкой.
Механизм общий для платформы, а не для конкретной конфигурации. Форма управления расширениями одинаково выглядит в любой базе на 8.3, различается только путь к ней в меню.
Как устроены расширения и что пропадёт вместе с ними
Расширение — это отдельный пакет доработок, который платформа накладывает поверх основной конфигурации при запуске сеанса. Механизм появился в платформе 8.3.6. Основная конфигурация при этом остаётся на поддержке и обновляется штатно.
Поэтому удаление расширения не трогает типовые объекты. Документы, справочники и регистры конфигурации остаются как были. Исчезает только то, что принесло само расширение:
- 🧩 изменённые формы, модули, печатные формы и команды;
- 📁 собственные объекты расширения: справочники, документы, реквизиты, добавленные к типовым объектам;
- 💾 данные, которые хранились в этих собственных объектах и реквизитах;
- 🔑 роли расширения и права, выданные через них.
Данные из собственных объектов и реквизитов расширения при удалении теряются. Если расширение добавляло, например, реквизит «Номер договора поставщика» в документы, после удаления значения этого реквизита из базы пропадут. Повторная загрузка того же .cfe создаст реквизит заново, но пустым.
Не путайте расширения с внешними отчётами и обработками:
| Что это | Файл | Где удаляется |
|---|---|---|
| Расширение конфигурации | .cfe | форма «Управление расширениями конфигурации» или Конфигуратор |
| Дополнительная обработка, отчёт, печатная форма | .epf, .erf | Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки |
Если в списке расширений нужной доработки нет, загляните в дополнительные обработки — скорее всего, она там.
Подготовка: копия базы и выгрузка расширения в файл
Сделайте две вещи до любого способа удаления.
- Резервная копия базы. Для файловой базы достаточно скопировать каталог с файлом
1Cv8.1CDпри закрытой программе или выгрузить.dtчерезАдминистрирование → Выгрузить информационную базув Конфигураторе. Для клиент-серверной — штатный бэкап СУБД. - Выгрузка расширения. В форме управления расширениями выделите строку и выберите команду «Сохранить в файл». В Конфигураторе в окне расширений есть такая же команда в меню «Действия». Получите файл
.cfe.
Запишите и настройки строки: включён ли флажок «Активно», «Безопасный режим», «Защита от опасных действий». При повторной загрузке их придётся выставить вручную.
Если расширение хранит свои данные, копия .cfe их не содержит. Сохранить данные позволяет только резервная копия всей базы.
Как понять, что делает расширение
Перед удалением выясните, за что расширение отвечает. Иначе через неделю бухгалтер спросит, куда делась привычная кнопка в документе.
- 📝 Посмотрите синоним и версию в списке расширений: подрядчики обычно пишут там назначение, например «Печать ТОРГ-12 с логотипом».
- 🌳 Откройте дерево расширения в Конфигураторе. Заимствованные объекты покажут, какие документы и формы оно меняет.
- 🧪 Снимите флажок «Активно» на копии базы, перезапустите программу и пройдите по этим документам. Что пропало — то и было в расширении.
- 💬 Спросите у того, кто ставил доработку. Если в базе стоит несколько расширений одного автора, они могут работать в связке.
Способ 1. Удалить расширение из пользовательского режима
Подходит пользователю с полными правами. Конфигуратор не нужен, работать можно прямо в рабочей программе.
Где найти список расширений
| Конфигурация | Путь |
|---|---|
| 1С:Бухгалтерия 3.0 | Администрирование → Печатные формы, отчеты и обработки → Расширения |
| 1С:ЗУП 3.1 | Администрирование → Печатные формы, отчеты и обработки → Расширения |
| 1С:УТ 11 | НСИ и администрирование → Печатные формы, отчеты и обработки → Расширения |
| Любая конфигурация | главное меню ☰ → Все функции → Стандартные → Управление расширениями конфигурации |
Если ссылки «Расширения» нет, сначала поставьте флажок «Расширения» в том же разделе. Пункт «Все функции» включается в ☰ → Сервис → Параметры; в новых версиях платформы он называется «Функции для технического специалиста».
Порядок удаления
- Откройте список расширений.
- Выделите строку нужного расширения. Ориентируйтесь на колонку с именем и синонимом, а не только на версию.
- Нажмите «Удалить» в командной панели и подтвердите.
- Закройте программу и запустите её заново.
Изменения применяются к новым сеансам. Пользователи, которые работали в базе в момент удаления, продолжают видеть старое поведение до перезапуска своего сеанса. В клиент-серверной базе попросите всех перезайти или дождитесь конца рабочего дня.
Мягкий вариант: отключить вместо удаления
Если не уверены, что расширение больше не нужно, снимите флажок «Активно» в той же строке. Платформа перестанет его применять, но объекты и данные останутся в базе. Проработайте так неделю-две. Если никто не хватился — удаляйте окончательно.
.cfe разработчику на адаптацию к новому релизу..cfe в архив и удалите расширение через форму управления расширениями./DeleteCfg -Extension в пакетном режиме Конфигуратора.Способ 2. Удаление расширения в Конфигураторе
Конфигуратор удобен разработчику: здесь видна структура расширения, его версия и режим совместимости.
- Запустите базу в режиме «Конфигуратор» под пользователем с административными правами.
- Откройте
Конфигурация → Расширения конфигурации. - Выделите расширение в списке.
- Нажмите «Удалить» в командной панели окна или выберите команду в меню «Действия», подтвердите.
Если окно дерева расширения было открыто, закройте его перед удалением. Несохранённые изменения в расширении при удалении просто пропадут — Конфигуратор не предложит их отложить.
Удалять конкретные объекты из расширения, не удаляя его целиком, тоже можно. Откройте дерево расширения, удалите лишний объект, затем выполните Конфигурация → Обновить конфигурацию базы данных в контексте этого расширения (F7 при активном окне расширения). Без обновления изменения в базу не попадут.
Удалять заимствованный объект из расширения бессмысленно, пока на него ссылаются другие объекты расширения. Конфигуратор покажет список ссылок — сначала уберите их.
Способ 3. Командная строка и программный код
Когда баз много или удаление нужно встроить в регламент обновления, руками не набегаешься.
Ключ /DeleteCfg в пакетном Конфигураторе
Для одного расширения в файловой базе:
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DeleteCfg -Extension "ПечатьНакладных" /Out"D:\Logs\delete_ext.log" /DisableStartupDialogs
Для клиент-серверной базы вместо /F укажите /S"srv1c\buh". Чтобы удалить все расширения базы разом, вместо -Extension "Имя" используется -AllExtensions.
Путь к 1cv8.exe подставьте свой: номер платформы в каталоге зависит от установленной версии. Результат смотрите в файле из параметра /Out — при ошибке там будет её текст.
Пароль в bat-файле хранится открытым текстом. Держите такие скрипты в каталоге с ограниченным доступом и не оставляйте их на общих дисках.
Для серверов без графического интерфейса есть утилита ibcmd, в ней тоже есть группа команд для работы с расширениями. Точный синтаксис зависит от версии платформы, смотрите справку ibcmd help.
Удаление из кода
Если нужно убрать расширение из собственной обработки, используется менеджер РасширенияКонфигурации. Код выполняется на сервере, а у пользователя должны быть права на администрирование расширений:
&НаСервере
Процедура УдалитьРасширениеНаСервере(ИмяРасширения)
Отбор = Новый Структура("Имя", ИмяРасширения);
Найденные = РасширенияКонфигурации.Получить(Отбор);
Для Каждого Расширение Из Найденные Цикл
Расширение.Удалить();
КонецЦикла;
КонецПроцедуры
Если расширения с таким именем нет, массив придёт пустым и процедура ничего не сделает.
Права и монопольный режим при удалении расширений
Если кнопка «Удалить» недоступна или выдаёт отказ, первым делом проверьте права пользователя.
- 👤 Нужна роль с административными правами. В типовых конфигурациях это «Полные права» или «Администратор системы». На уровне платформы за операцию отвечают права «Администрирование» или «Администрирование расширений конфигурации».
- 🔒 В базе нет ни одного пользователя. Тогда любой вход идёт с полными правами, и ограничений нет. Но как только появится первый пользователь, проверяйте роли.
- 🏢 Сервис 1С:Фреш и облачные базы. В разделённой базе расширения управляются через менеджер сервиса. Если списка расширений в программе нет, удаление выполняет администратор абонента в личном кабинете сервиса.
Монопольный режим для удаления расширения не требуется. Это не обновление основной конфигурации, база не перестраивает свою структуру целиком. Работающие пользователи просто не увидят изменений до перезапуска сеанса.
Исключение — когда вы правите состав расширения в Конфигураторе и обновляете его структуру. Если расширение меняет таблицы с данными, платформа может отказать, пока объекты заняты другими сеансами. Тогда завершите сеансы через консоль кластера или попросите пользователей выйти.
Принудительное завершение сеансов обрывает работу людей без сохранения. Делайте это после предупреждения и вне рабочего времени.
Что происходит с расширениями при обновлении типовой конфигурации
Обновление основной конфигурации само расширения не удаляет. Но заимствованные объекты могли измениться: форму переделали, реквизит переименовали, процедуру убрали. Тогда расширение становится неприменимым.
Как это выглядит:
- При запуске программа предупреждает, что расширение не может быть применено, и перечисляет конфликтующие объекты.
- База запускается без этого расширения. Его доработки не работают, но типовой функционал доступен.
- Если расширение содержало исправления, которые нужны для работы, пользователи замечают это по пропавшим кнопкам или печатным формам.
Проверить заранее, переживёт ли расширение обновление, можно в Конфигураторе: в окне Конфигурация → Расширения конфигурации есть команда проверки возможности применения. Запускайте её на копии базы, уже обновлённой до нового релиза.
Порядок действий при конфликте:
- 🔍 расширение ещё нужно — снимите «Активно», отдайте
.cfeразработчику, загрузите исправленную версию через «Обновить из файла»; - 🗑 расширение было временным исправлением ошибки типовой конфигурации и в новом релизе ошибку исправили — удаляйте;
- 📌 непонятно, что это за расширение — посмотрите его имя, синоним и версию в свойствах, а в дереве Конфигуратора проверьте, какие объекты оно заимствует.
Временные расширения-исправления особенно часто остаются в базах годами. Если их имя содержит слово «Исправление» или номер обращения, после каждого обновления проверяйте, актуальны ли они.
Ошибки при удалении и после него
.cfe через «Добавить из файла»./Out. Чаще всего неверно указано имя: нужен идентификатор расширения, а не синоним, который видно в списке..epf. Ищите её в разделе «Дополнительные отчеты и обработки».Ещё один практический момент. Имя расширения в ключе -Extension и в отборе по полю Имя — это технический идентификатор вроде ПечатьНакладных, без пробелов. Синоним «Печать накладных поставщиков», который показан в форме, для этих способов не подходит. Посмотреть имя можно в свойствах расширения в Конфигураторе.
Можно ли восстановить удалённое расширение без файла .cfe?
.cfe и загрузите в рабочую базу.