Администрирование · 10 мин
Как удалить расширение 1С все сразу
Как удалить расширение 1С все сразу: через конфигуратор, консольные команды и пакетное отключение. Риски, проверка результата, типичные ошибки и FAQ.
Когда в базе 1С накопилось несколько расширений конфигурации — от сторонних разработчиков, из 1С:Библиотеки стандартных подсистем или собственных доработок — рано или поздно возникает задача удалить их все сразу. Типичные сценарии: переход на новую версию конфигурации, конфликты расширений после обновления, подготовка базы к обмену или выгрузке, чистка тестовой копии. Удалять расширения по одному через форму списка долго, особенно если их десятки.
Существует несколько способов массового удаления: через конфигуратор с выделением всех строк, через пакетный запуск конфигуратора с параметром /DeleteCfgExtension или внешнюю обработку, а также программно — средствами встроенного языка. Выбор зависит от режима работы базы (файловая или клиент-серверная), количества расширений и того, нужно ли удалять их физически или достаточно отключить.
Важно понимать разницу: отключение расширения снимает его действие, но данные расширения (добавленные реквизиты, хранимые настройки) остаются в базе. Полное удаление стирает и метаданные, и связанные данные без возможности отката. Поэтому перед массовым удалением обязательно делается резервная копия.
Что нужно проверить перед массовым удалением
Прежде чем удалять расширения пакетно, зафиксируйте их список: названия, версии, назначение и источник (кто установил). Это пригодится, если после удаления что-то перестанет работать и потребуется восстановить конкретное расширение. Список можно выгрузить скриншотом или программно через менеджер расширений.
Проверьте, какие расширения добавляют данные в базу: новые реквизиты, справочники, регистры сведений. При удалении такого расширения платформа предупредит, что данные будут потеряны, — но в пакетном сценарии эти предупреждения легко пропустить. Особенно критичны расширения, хранящие настройки обменов, печатные формы с накопленными макетами и доработанные роли.
Убедитесь, что у вас есть монопольный доступ к базе (для файлового режима) или что сеансы пользователей завершены (для клиент-серверного). Активные сеансы с подключёнными расширениями могут заблокировать удаление или привести к ошибкам у пользователей прямо во время работы.
Удаление всех расширений через конфигуратор
Самый простой способ удалить все расширения сразу — стандартный диалог конфигуратора. Он подходит, когда расширений немного (до нескольких десятков) и есть возможность открыть базу в конфигураторе с монопольным доступом.
- 1Откройте базу в конфигураторе под пользователем с правами администратора
- 2Перейдите: Конфигурация → Расширения конфигурации
- 3В открывшемся списке выделите все строки: Ctrl+A или клик по первой строке и Shift+клик по последней
- 4Нажмите Delete или кнопку «Удалить» на панели инструментов списка
- 5Подтвердите удаление и дождитесь завершения операции
- 6Обновите конфигурацию базы данных (F7), если платформа этого потребует
Если при удалении появляется сообщение о том, что расширение используется в сеансах, завершите сеансы пользователей через консоль кластера (для серверной базы) или попросите пользователей выйти. В файловом режиме достаточно закрыть все запущенные экземпляры 1С:Предприятия с этой базой.
После удаления проверьте, что список расширений пуст, и перезапустите клиентское приложение. Если база работала в режиме совместимости с расширениями безопасного режима, дополнительных действий обычно не требуется.
Пакетное удаление через командную строку
Для автоматизации и работы с несколькими базами удобнее пакетный режим конфигуратора. Платформа поддерживает параметр запуска, который удаляет расширение по имени. Чтобы удалить все расширения, имена перечисляются последовательно в скрипте или используется вариант с удалением всех расширений сразу — в актуальных версиях платформы доступен ключ, снимающий все расширения без перечисления.
"C:\Program Files\1cv8\<версия>\bin\1cv8.exe" DESIGNER /F "D:\Bases\MyBase" /N Администратор /P пароль /DeleteCfgExtension -AllДля клиент-серверной базы вместо /F укажите параметры /S (сервер и имя базы). Если имена расширений известны, можно удалять их по одному в цикле bat-скрипта, подставляя имя после ключа команды. Учтите, что синтаксис параметров может отличаться между версиями платформы — точный вариант для вашей версии проверяйте в документации по параметрам командной строки конфигуратора.
Пакетный режим удобен для регламентных операций: например, очистки тестовых копий после развёртывания из бэкапа или подготовки базы к обновлению. Лог выполнения выводится в консоль, его можно перенаправить в файл для контроля ошибок.
Программное удаление через встроенный язык
Когда нужен гибкий сценарий — например, удалить только расширения с определённым префиксом в имени или от конкретного поставщика — используется встроенный язык. Менеджер расширений конфигурации позволяет получить массив всех расширений и удалить каждое в цикле.
МассивРасширений = РасширенияКонфигурации.Получить();
Для Каждого Расширение Из МассивРасширений Цикл
Расширение.Удалить();
КонецЦикла;Такой код можно выполнить через внешнюю обработку, открытую в режиме предприятия под администратором, либо через консоль кода. Для клиент-серверной базы код выполняется на сервере. После удаления желательно вызвать обновление данных или перезапустить сеанс, чтобы изменения вступили в силу для всех пользователей.
Главное преимущество программного способа — возможность добавить фильтры и логирование: записать в журнал регистрации, какие расширения удалены, и пропустить те, что трогать нельзя. Минус — требуются права на администрирование и аккуратность: ошибка в условии фильтра удалит лишнее.
Отключение вместо удаления: когда это лучше
Не всегда требуется именно удаление. Если цель — проверить работу конфигурации без расширений или временно устранить конфликт после обновления, достаточно отключить все расширения: в списке расширений конфигуратора снять флажки «Используется» у всех строк. Это делается так же массово — выделением всех строк и снятием флага через контекстное меню или по одному.
Отключённые расширения не влияют на работу программы, но их данные остаются в базе. Это безопасный сценарий для диагностики: если проблема исчезла — виновато одно из расширений, дальше можно включать их по одному и находить виновника. Если проблема осталась — дело в основной конфигурации или платформе.
Удалить или отключить
Подходит для диагностики и временного решения. Данные сохраняются, возврат — один клик. Минус: расширения продолжают занимать место и видны в списке.
Подходит для чистой миграции, передачи базы, устранения накопленного мусора. Данные расширений теряются безвозвратно, восстановление только из копии.
Подходит, когда известны проблемные расширения. Требует предварительного анализа, но минимизирует риски для рабочей базы.
Проверка результата и типичные ошибки
После массового удаления откройте список расширений заново — он должен быть пуст. Затем запустите базу в режиме предприятия и проверьте ключевые операции: открытие основных форм, проведение документов, формирование отчётов, обмены. Ошибки вида «Метод объекта не обнаружен» или «Поле не найдено» после удаления указывают на то, что основная конфигурация или код обработок ссылались на объекты расширения.
Как проверить результат
Список пуст, конфигурация базы данных обновлена
Остались строки или ошибка обновления конфигурации БД
База открывается без сообщений о расширениях
Ошибки о недоступных объектах метаданных
Нет ошибок фоновых заданий после удаления
Ошибки фоновых заданий, ссылающихся на удалённые объекты
Документы и отчёты работают как раньше
Пропали кнопки, печатные формы или реквизиты
Если после удаления обнаружились проблемы, восстановите базу из резервной копии и повторите операцию выборочно. Для серверных баз восстановление выполняется средствами СУБД, для файловых — заменой файла 1Cv8.1CD копией.
FAQ: частые вопросы об удалении расширений 1С
Можно ли удалить все расширения в режиме предприятия, не заходя в конфигуратор?
Да, если в конфигурации есть стандартная обработка «Расширения» (в типовых — раздел «Администрирование» → «Печатные формы, отчеты и обработки» или «Расширения»). Там можно выделить все строки и удалить либо снять флажки использования. Для пакетного удаления подойдёт и внешняя обработка с кодом через менеджер расширений.
Что происходит с данными, которые добавило расширение?
При удалении расширения все данные, хранящиеся в добавленных им объектах (реквизитах, регистрах, справочниках), удаляются вместе с метаданными. Восстановить их можно только из резервной копии. При простом отключении расширения данные остаются в базе и снова становятся доступны после включения.
Почему расширение не удаляется и выдаёт ошибку?
Чаще всего причины: активные сеансы пользователей, в которых расширение подключено; недостаток прав (нужны права администрирования конфигурации); зависимость других расширений от удаляемого. Завершите сеансы, проверьте права и удаляйте зависимые расширения в правильном порядке.
Нужно ли обновлять конфигурацию базы данных после удаления расширений?
Если удалённые расширения изменяли структуру данных (добавляли реквизиты или объекты), платформа потребует обновить конфигурацию базы данных — обычно предложение появляется автоматически. Без этого шага изменения не применятся физически. Если расширения меняли только формы и код, обновление может не потребоваться.
Как удалить расширения сразу во всех базах на сервере?
Штатного инструмента «одной кнопкой» для всех баз нет. Обычно пишется скрипт: bat/powershell-файл перебирает список баз и для каждой запускает конфигуратор в пакетном режиме с командой удаления расширений. Для большого парка баз такой сценарий запускают в нерабочее время с предварительным резервным копированием.
Безопасно ли удалять расширения перед обновлением конфигурации?
Это распространённая практика: расширения, адаптированные под старую версию, часто конфликтуют с новой. Рекомендуемый порядок — зафиксировать список расширений, сделать копию, обновить конфигурацию, затем проверить совместимость каждого расширения и подключать их по одному, а не возвращать всё скопом.
Что важно запомнить
Все расширения 1С удаляются сразу через конфигуратор (выделить все строки и удалить), пакетный режим командной строки или программно через менеджер расширений. Перед удалением сделайте резервную копию и завершите сеансы пользователей. Если цель — диагностика, достаточно отключить расширения: данные сохранятся, и вернуть их можно в один клик. После удаления проверьте работу ключевых операций и журнал регистрации.