Чистим базу от расширений: Конфигуратор, режим Предприятия и пакетный запуск

· 9 мин

Содержание

Удалить все расширения конфигурации 1С 8.3 проще всего в Конфигураторе: Конфигурация → Расширения конфигурации, выделить строку, нажать «Удалить» и повторить для каждой строки. Если открыть Конфигуратор нельзя или баз много, все расширения сразу снимает пакетная команда 1cv8 DESIGNER ... /DeleteCfg -AllExtensions. Без Конфигуратора то же делает пользователь с полными правами в режиме Предприятия.

Типичная ситуация: после обновления типовой база падает с ошибкой в модуле, которого нет в конфигурации. Виновато старое расширение от прошлого программиста, а их в списке пять штук. Разбираться с каждым по отдельности некогда, хочется вернуть базу к чистой типовой. Сделать это можно за 10–15 минут, но только после короткой подготовки: иначе вместе с расширениями уйдут данные, которые в них хранились.

Механизм расширений появился в платформе 8.3.6. Всё описанное относится к 8.3 с интерфейсом «Такси» и одинаково работает в файловой и клиент-серверной базе.

1. Подготовка: что сохранить до удаления расширений

Расширение — не просто «надстройка сбоку». Оно хранится внутри информационной базы и может нести собственные данные. Удалили расширение — исчезло всё, что оно добавило.

Что теряется вместе с расширением:

  • 📦 справочники, документы и регистры, которые расширение создало само, — вместе со всеми записями;
  • 🧩 реквизиты, добавленные расширением к типовым объектам, — их значения в документах и справочниках;
  • 🖨 печатные формы, отчёты и доработки форм, которые в нём жили;
  • ⚙️ подписки на события и переопределённые процедуры — типовая начнёт вести себя «по-заводски».

Поэтому порядок подготовки такой:

  1. Выгрузите базу целиком: в Конфигураторе Администрирование → Выгрузить информационную базу (файл .dt). Этот файл содержит и конфигурацию, и расширения, и их данные. Это ваш путь назад.
  2. Сохраните каждое расширение отдельным файлом .cfe: в списке расширений есть команда сохранения в файл. Файл пригодится, если через неделю выяснится, что одно из расширений было нужным.
  3. Выпишите, кто и для чего ставил расширения. Имя и синоним в списке часто говорят сами за себя: «ПечатьТТН_Доработка», «ЗагрузкаИзБанка».
  4. Договоритесь с пользователями о времени. Открытые сеансы после удаления придётся перезапустить.

Выгрузка .dt обязательна, если хоть одно расширение добавляло свои объекты или реквизиты. Сохранённый .cfe вернёт код и структуру, но не данные.

Если цель — проверить, мешает ли расширение, не удаляйте его. Снимите флажок «Активно» в списке и перезапустите сеанс. Расширение выключится, данные останутся на месте.

2. Какие расширения подключены: разбор списка в Конфигураторе

Откройте Конфигуратор под пользователем с правами администратора. Меню Конфигурация → Расширения конфигурации показывает все расширения базы одним списком.

На что смотреть в колонках:

КолонкаЧто показываетЗачем смотреть перед удалением
Имя и синонимНазвание расширенияПонять назначение
ВерсияВерсия, которую указал разработчикОтличить старое от свежего
НазначениеИсправление, адаптация, дополнениеИсправления часто ставит сама программа
АктивноВключено ли расширениеНеактивное можно удалять без спешки
Безопасный режимОграничения на выполнение кодаСправочно
Защита от опасных действийПредупреждения при опасных операцияхСправочно

Отдельно обратите внимание на исправления (патчи). В типовых конфигурациях на БСП их загружает механизм обновления через интернет -поддержку. Технически это тоже расширения. Удалять их «под ноль» стоит, только если вы осознанно обновляете базу на новый релиз, где эти исправления уже учтены.

Чтобы понять, есть ли у расширения свои данные, раскройте его дерево. Двойной щелчок по строке открывает дерево объектов расширения. Если в нём есть собственные справочники, документы или регистры (а не только заимствованные объекты), расширение хранит данные.

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

3. Удаление расширений в Конфигураторе по одному

Это самый прозрачный способ: вы видите каждое расширение и удаляете его осознанно.

  1. Откройте Конфигурация → Расширения конфигурации.
  2. Если какое-то расширение открыто для редактирования, закройте его дерево.
  3. Выделите строку расширения.
  4. Нажмите кнопку «Удалить» на панели списка или клавишу Delete.
  5. Подтвердите удаление.
  6. Повторите для всех строк, пока список не станет пустым.

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

Если расширение добавляло объекты с данными, платформа перестраивает структуру хранения и удаляет таблицы. На большой базе это занимает время. В этот момент лучше, чтобы в базе никто не работал.

Удаление необратимо. Отмены через Ctrl+Z нет. Вернуть расширение можно только из .cfe, а его данные — только из .dt.

4. Удаление расширений в режиме Предприятия, без Конфигуратора

Когда у вас нет доступа к Конфигуратору (облачная база, нет прав, нет толстого клиента), расширения удаляют из пользовательского режима. Нужна роль с полными правами или право администрирования.

Стандартная обработка платформы

Работает в любой конфигурации 8.3, даже в нетиповой:

  1. Включите команду «Все функции»: Сервис и настройки (шестерёнка) → Параметры → флажок «Отображать команду “Все функции”».
  2. Откройте главное меню (кнопка с тремя полосками) → Все функции.
  3. Ветка Стандартные → Управление расширениями конфигурации.
  4. Выделите расширение и нажмите «Удалить». Повторите для каждого.
  5. Перезапустите сеанс, чтобы изменения вступили в силу.

Раздел «Расширения» в типовых на БСП

В Бухгалтерии 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на Библиотеке стандартных подсистем есть своя форма списка:

КонфигурацияГде искать
Бухгалтерия предприятия 3.0Администрирование → Печатные формы, отчеты и обработки → Расширения
ЗУП 3.1Администрирование → Печатные формы, отчеты и обработки → Расширения
Управление торговлей 11Раздел НСИ и администрирование, группа «Печатные формы, отчеты и обработки» → Расширения

Если ссылки «Расширения» нет, сначала поставьте одноимённый флажок в том же разделе. Форма БСП показывает расширения, предупреждает о последствиях удаления и после операции просит перезапустить программу.

В форме БСП исправления от фирмы 1С обычно показаны отдельно от прочих расширений. Это удобно: можно убрать доработки сторонних программистов, не трогая официальные патчи.

5. Все расширения сразу: пакетный запуск и «чистая» выгрузка

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

Для файловой базы:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DeleteCfg -AllExtensions /Out"D:\Logs\delete_ext.log"

Для клиент-серверной базы вместо /F укажите сервер и имя базы:

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /S"srv1c\buh" /N"Администратор" /P"пароль" /DeleteCfg -AllExtensions /Out"D:\Logs\delete_ext.log"

Номер версии в пути замените на свой. Чтобы удалить только одно расширение, вместо -AllExtensions передайте -Extension ИмяРасширения.

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

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

А если выгрузить и загрузить конфигурацию?

Идея «очистить базу перезагрузкой» встречается часто, но работает не так, как ожидают:

  • 📁 файл .dt содержит расширения. Выгрузили, загрузили — получили ту же базу с теми же расширениями;
  • 📄 файл .cf (Конфигурация → Сохранить конфигурацию в файл) расширений не содержит. Но он и данных не содержит: загрузка .cf в новую пустую базу даст чистую типовую без единого документа.

Схема «новая база + .cf» годится только для эталонной или тестовой базы. Для рабочей базы правильный путь — удалить расширения в существующей базе, а .dt держать как страховку.

Почему не через SQL

В клиент-серверной базе сведения о расширениях лежат в служебных таблицах СУБД (например, _ExtensionsInfo). Чистить их запросами к SQL Server или PostgreSQL — плохая идея. Платформа не узнает о «пропаже», таблицы данных расширения останутся, а база может перестать открываться. Пакетный режим Конфигуратора решает ту же задачу штатно.

6. Какой способ удаления выбрать

СпособКогда подходитРиски и ограничения
Конфигуратор, по одномуРасширений немного, нужен контроль каждогоНужен доступ к Конфигуратору
«Все функции» → Управление расширениямиНет Конфигуратора, любая конфигурация 8.3Нужны полные права; база должна открываться в Предприятии
Форма «Расширения» в БСПТиповая конфигурация, работа без программистаНужна видимость раздела и права администратора
/DeleteCfg -AllExtensionsМного расширений или баз, база падает при входе в ПредприятиеУдаляет всё без вопросов, включая исправления
Новая база из .cfЭталонная или тестовая базаДанных не будет совсем
Запросы к SQLНе подходитРиск испортить базу
Какая у вас ситуация?

7. Проверка базы после удаления расширений

Удаление прошло — осталось убедиться, что база работает без них.

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

Если после удаления база выдаёт ошибки, вероятные причины две:

  • 🔗 на расширение ссылались внешние обработки или другие расширения — их тоже нужно убрать или переделать;
  • 🗂 в настройках пользователей остались ссылки на формы расширения — помогает очистка настроек пользователя или перезапуск с параметром /ClearCache.

/ClearCache в строке запуска очищает кэш клиента на этом компьютере. Это безопасно для данных, но выполняйте его при закрытом сеансе.

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

Можно ли вернуть удалённое расширение?
Да, если сохранили его в файл .cfe: загрузите файл в списке расширений. Данные расширения вернутся только из выгрузки .dt, сделанной до удаления.
Нужен ли монопольный режим для удаления расширений?
Строгого требования нет, но платформа может отказать, если расширение используют активные сеансы. Надёжнее удалять, когда пользователи вышли из базы.
Удалятся ли расширения при обновлении типовой конфигурации?
Нет. Обновление меняет основную конфигурацию, расширения остаются. Если они конфликтуют с новым релизом, платформа сообщит об этом при запуске.
Чем отключение расширения отличается от удаления?
Отключение (флажок «Активно») временно убирает его действие, данные сохраняются. Удаление стирает и код, и данные расширения.
Почему после удаления исправления снова появились?
Механизм обновления типовой на БСП может загрузить актуальные исправления заново через интернет-поддержку. Это штатное поведение.