Администрирование · 10 мин
Как удалить все расширения 1С из конфигурации
Как удалить все расширения 1С из конфигурации: через конфигуратор, пакетным скриптом и очисткой кэша. Проверка результата, риски и ответы на вопросы.
Расширения конфигурации — удобный механизм 1С:Предприятия 8.3, который позволяет дорабатывать типовую конфигурацию без снятия её с поддержки. Однако со временем расширений накапливается слишком много: тестовые, устаревшие, конфликтующие между собой. Они замедляют запуск, вызывают ошибки при обновлении и затрудняют диагностику проблем. В такой ситуации часто требуется удалить все расширения разом.
Способ удаления зависит от режима работы базы (файловая или клиент-серверная), от того, есть ли доступ к конфигуратору, и от того, нужно ли удалить расширения только из базы данных или также очистить их следы в кэше и у пользователей. Ниже разобраны все рабочие сценарии: от интерактивного удаления через конфигуратор до пакетной очистки через командную строку.
Перед любыми массовыми действиями с расширениями обязательно сделайте резервную копию информационной базы. Удаление расширения необратимо: вместе с ним теряются все доработки, которые оно содержало, а также могут перестать работать связанные данные, если расширение добавляло собственные объекты или хранило настройки.
Что нужно проверить перед удалением расширений
Первый шаг — понять, какие расширения вообще подключены и какие из них активны. В конфигураторе список виден через меню «Конфигурация → Расширения конфигурации». В пользовательском режиме (если это предусмотрено конфигурацией) список доступен через «Администрирование → Печатные формы, отчеты и обработки → Расширения» или аналогичный раздел — расположение зависит от версии БСП.
Обратите внимание на колонки «Активно», «Безопасный режим» и «Использовать в основных ролях». Неактивное расширение не влияет на работу, но всё равно хранится в базе. Если цель — полностью очистить базу, удалять нужно и неактивные записи, а не только снимать флажки.
Также выясните, не зависят ли от расширений бизнес-процессы. Некоторые расширения добавляют подсистемы, регистры, документы или переопределяют проведение. Удаление такого расширения может привести к ошибкам в отчётах и проведении документов. Если расширение добавляло собственные объекты метаданных, при обновлении конфигурации базы данных платформа предложит удалить связанные данные — это необратимо.
Как удалить расширения через конфигуратор
Это основной и самый надёжный способ, подходящий для небольшого количества расширений. Порядок действий одинаков для файловых и клиент-серверных баз, но для клиент-серверного режима потребуются права администратора и монопольный доступ при обновлении конфигурации базы данных в отдельных случаях.
- 1Сделайте резервную копию: «Администрирование → Выгрузить информационную базу» для файловой базы или штатный бэкап СУБД для клиент-серверной.
- 2Откройте конфигуратор и перейдите в «Конфигурация → Расширения конфигурации».
- 3Для каждого расширения: снимите флажок «Активно», затем выделите строку и нажмите Delete или кнопку удаления.
- 4После удаления всех строк закройте окно и выполните «Конфигурация → Обновить конфигурацию базы данных».
- 5Согласитесь с реструктуризацией, если платформа предложит удалить объекты, добавленные расширениями.
- 6Перезапустите сеанс пользователя и проверьте работу базы.
Если при удалении появляется сообщение о том, что расширение используется в сеансах, завершите работу всех пользователей и фоновых заданий. В клиент-серверном режиме сеансы можно завершить через консоль кластера серверов 1С.
Удаление расширений в пользовательском режиме
В конфигурациях на базе Библиотеки стандартных подсистем расширения, установленные как дополнительные отчёты и обработки, удаляются из раздела «Администрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки». Там достаточно снять флажок публикации или удалить элемент справочника. Это не то же самое, что расширения конфигурации, но пользователи часто путают эти механизмы — проверьте оба места.
Как удалить все расширения пакетно через командную строку
Когда расширений много или нужно автоматизировать очистку на нескольких базах, удобнее использовать пакетный режим конфигуратора. Платформа поддерживает работу с расширениями через параметры командной строки.
Команда удаления конкретного расширения в пакетном режиме выглядит так:
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /F"D:\Bases\MyBase" /N"Админ" /P"пароль" /DeleteCfgExtension -Extension "ИмяРасширения" /UpdateDBCfgПараметр /DeleteCfgExtension -Extension "Имя" удаляет расширение по имени, а /UpdateDBCfg сразу обновляет конфигурацию базы данных. Имена всех расширений можно предварительно получить выгрузкой списка или посмотреть в конфигураторе. Для удаления всех расширений подряд сформируйте bat-файл с последовательным вызовом команды для каждого имени.
Альтернатива — обработка на встроенном языке, использующая метод РасширенияКонфигурации.Получить() и метод Удалить() у каждого объекта расширения, с последующим вызовом ОбновитьКонфигурациюБазыДанных(). Такой подход удобен, когда имена расширений заранее неизвестны: обработка сама переберёт все подключённые расширения и удалит их одним запуском.
Очистка кэша и следов расширений у пользователей
После удаления расширений из базы у пользователей могут остаться устаревшие кэшированные версии метаданных. Признаки: ошибки вида «Ошибка применения расширения», «Объект не обнаружен», падение тонкого клиента при запуске, хотя в конфигураторе всё чисто.
Кэш клиентских приложений хранится в профиле пользователя. Для очистки достаточно удалить папки с кэшем конкретной базы или очистить список баз в окне запуска и добавить базу заново.
# Кэш 1С текущего пользователя Windows (закройте все сеансы 1С перед очисткой)
%APPDATA%\1C\1cv8\
%LOCALAPPDATA%\1C\1cv8\В клиент-серверном режиме также бывает полезно перезапустить службу агента сервера 1С, чтобы сбросить серверный кэш. Делайте это вне рабочего времени: перезапуск службы разорвёт все активные сеансы пользователей.
Как проверить, что все расширения удалены
После завершения работ пройдите контрольные точки, чтобы убедиться в чистоте результата. Проверка занимает несколько минут и избавляет от неожиданных ошибок при следующем обновлении конфигурации.
Как проверить результат
Окно «Расширения конфигурации» пустое, ни активных, ни неактивных записей
Остались строки с снятым флажком — они всё ещё хранятся в базе
База открывается без сообщений о расширениях и ошибок применения
Ошибки «расширение не найдено» или падение клиента — требуется очистка кэша
Проверка логической целостности проходит без ошибок, связанных с расширениями
Ссылки на удалённые объекты расширений — нужна повторная реструктуризация
Типовое обновление применяется без конфликтов с расширениями
Ошибки сопоставления — вероятно, расширение удалено не полностью
Дополнительно запустите «Тестирование и исправление» информационной базы с проверкой логической целостности. Если расширение добавляло объекты, а данные были удалены некорректно, именно этот инструмент покажет оставшиеся проблемы.
Типичные ошибки и ограничения
Ещё одно ограничение: расширения, подключённые в режиме совместимости со старыми версиями платформы, иногда не отображаются корректно после обновления платформы. Если расширение «висит» в списке и не удаляется интерактивно, попробуйте удалить его пакетной командой или через обработку на встроенном языке — программное удаление часто срабатывает там, где интерактивное даёт сбой.
Перед массовым удалением выгрузите каждое расширение в файл *.cfe через кнопку «Сохранить в файл» в окне расширений. Архив таких файлов занимает мало места, но позволит вернуть любую доработку за минуты, если после очистки выяснится, что какая-то из них была нужна.
Частые вопросы
Можно ли удалить все расширения одной кнопкой?
Штатной кнопки «удалить всё» в конфигураторе нет. Массово удалить расширения можно двумя способами: последовательными командами /DeleteCfgExtension в bat-файле для каждого имени или обработкой на встроенном языке, которая перебирает коллекцию РасширенияКонфигурации и вызывает метод Удалить() у каждого элемента.
Удалятся ли данные, если расширение добавляло свои объекты?
Да. Если расширение добавляло собственные справочники, документы или регистры, при обновлении конфигурации базы данных платформа предложит удалить эти объекты вместе с данными. Перед подтверждением реструктуризации убедитесь, что нужные сведения перенесены в основную конфигурацию или выгружены.
Чем удаление отличается от снятия флажка «Активно»?
Снятие флажка только отключает применение расширения: его код и объекты остаются в базе. Это подходит для временной диагностики. Для полной очистки базы, освобождения места и устранения конфликтов при обновлении расширение нужно именно удалить из списка.
Ошибка «расширение используется в сеансах» — что делать?
Завершите все сеансы пользователей и фоновые задания. В файловой базе достаточно попросить всех выйти и перезапустить конфигуратор. В клиент-серверном режиме откройте консоль кластера, найдите активные сеансы и завершите их принудительно, затем повторите удаление.
После удаления расширений база не запускается у пользователей. Почему?
Почти всегда причина в устаревшем клиентском кэше. Очистите папки кэша в профиле пользователя (%APPDATA%\1C\1cv8 и %LOCALAPPDATA%\1C\1cv8) или удалите базу из списка в окне запуска и добавьте заново. В серверном режиме дополнительно может потребоваться перезапуск службы агента сервера.
Можно ли восстановить удалённое расширение?
Только из заранее сохранённого файла *.cfe или из резервной копии базы. Само по себе удаление необратимо, поэтому перед очисткой выгружайте расширения в файлы — это занимает меньше минуты на каждое и полностью снимает риск потери доработок.
Что важно запомнить
Полное удаление расширений 1С выполняется через конфигуратор («Конфигурация → Расширения конфигурации») с последующим обновлением конфигурации базы данных, а для массовой очистки — пакетными командами или обработкой на встроенном языке. Всегда делайте резервную копию, выгружайте расширения в *.cfe, не путайте отключение с удалением и после работы очищайте клиентский кэш.