Удаление расширения конфигурации 1С и очистка кэша после него

· 9 мин

Содержание

Удалить расширение в 1С можно тремя способами. В режиме предприятия — через Администрирование → Печатные формы, отчеты и обработки → Расширения или стандартную форму Все функции → Стандартные → Управление расширениями конфигурации. В Конфигураторе — через Конфигурация → Расширения конфигурации. Без интерфейса — командой 1cv8 DESIGNER ... /DeleteCfg -Extension "Имя". После удаления очистите кэш клиента параметром /ClearCache и перезапустите сеансы пользователей.

Порядок действий общий для платформы 8.3 и не зависит от конфигурации: расширения — механизм платформы, а не БП, ЗУП или УТ. Отличается только раздел, где типовая конфигурация показывает список расширений.

Что проверить перед удалением расширения

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

Перед удалением ответьте себе на четыре вопроса.

  • 🔍 Что расширение делает. Откройте его в Конфигураторе и посмотрите дерево объектов. Заимствованные объекты помечены особым значком — это изменения типовых объектов. Собственные объекты (справочники, документы, регистры) — новые сущности.
  • 🗃️ Есть ли в нём свои данные. Если в расширении есть собственные справочники, документы или регистры, их записи хранятся в базе. При удалении расширения эти данные удаляются вместе с ним.
  • 👥 Кто им пользуется. Расширение могло ставиться под задачу конкретного отдела: отдельная печатная форма счёта, обмен с сайтом, доработанный отчёт по продажам. Спросите владельца задачи.
  • 🧩 Не зависят ли от него другие расширения. Бывает, что второе расширение заимствует объекты первого или рассчитано на его работу.

Перед удалением сохраните расширение в файл .cfe. Если расширение хранит данные, сделайте ещё и выгрузку базы в .dt или резервную копию средствами СУБД. Файл .cfe возвращает только код и формы, но не записи.

Как сохранить расширение в файл

  • В режиме предприятия: в форме Управление расширениями конфигурации выделите строку и выберите сохранение в файл в командной панели.
  • В Конфигураторе: Конфигурация → Расширения конфигурации, выделите расширение, в меню Конфигурация этого списка выберите Сохранить в файл....

Удалить или отключить

Если не уверены, что расширение больше не нужно, сначала отключите его. Флажок Активно в списке расширений (и в Конфигураторе, и в режиме предприятия) выключает расширение без удаления. Данные собственных объектов при этом остаются в базе, а код перестаёт работать после перезапуска сеанса.

ДействиеКогда подходитЧто будет с данными
Снять флажок Активнопроверить, мешает ли расширение; временно убрать доработкусохраняются
Удалить расширениедоработка точно не нужна, есть копия .cfeданные собственных объектов удаляются
Обновить из файларасширение сломалось после обновления конфигурациисохраняются, если структура совместима

Удаление расширения в режиме 1С:Предприятие

Это самый простой путь. Он не требует запуска Конфигуратора и подходит пользователю с правами администратора в базе.

Через раздел «Администрирование»

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11, КА, ERP) список расширений вынесен в администрирование.

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

Если ссылки Расширения нет, включите в этом же разделе флажок Расширения — он открывает доступ к списку.

Порядок действий:

  1. Откройте список расширений по пути из таблицы.
  2. Выделите нужную строку.
  3. Нажмите Удалить в командной панели списка.
  4. Подтвердите удаление. Если в расширении есть данные, программа предупредит об этом отдельно.
  5. Завершите работу и перезапустите 1С. Остальным пользователям тоже нужно перезайти.

Через «Все функции»

Если конфигурация нетиповая или раздел найти не удаётся, используйте стандартную форму платформы. Она есть в любой базе 8.3.

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

Для этой операции нужно право «Администрирование расширений конфигурации» или полные права. Без него кнопки удаления нет или она недоступна.

Как удалить расширение через Конфигуратор

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

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

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

Если расширение подключено к хранилищу

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

Удаление всех расширений сразу

В Конфигураторе расширения удаляются по одному. Для удаления всех разом удобнее командная строка (см. ниже, параметр -AllExtensions).

Очистка кэша после удаления расширения

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

Кэш клиента: параметр /ClearCache

Самый аккуратный способ — запуск с параметром очистки кэша:

  1. В окне запуска 1С выделите базу и нажмите Изменить.
  2. Пройдите до последней страницы мастера.
  3. В поле Дополнительные параметры запуска впишите /ClearCache.
  4. Нажмите Готово и запустите базу.
  5. После одного успешного запуска уберите параметр, иначе каждый старт будет медленным.

Тот же параметр работает в ярлыке:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /IBName "Бухгалтерия" /ClearCache

Ручная очистка папок кэша

Если параметр не помог, удалите кэш вручную при закрытой 1С:

  • %APPDATA%\1C\1cv8\ — папки с именами-идентификаторами (GUID) баз;
  • %LOCALAPPDATA%\1C\1cv8\ — такие же папки.

Удаляйте только папки-идентификаторы. Файлы ibases.v8i и 1cv8strt.pfl в %APPDATA%\1C\1CEStart\ не трогайте — в них список баз и настройки окна запуска.

rem Закройте все окна 1С перед запуском
for /d %%D in ("%APPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"
for /d %%D in ("%LOCALAPPDATA%\1C\1cv8\*-*-*-*-*") do rd /s /q "%%D"

Сеансовые данные на сервере

В клиент-серверном варианте у сервера 1С есть свой кэш сеансовых данных (папки snccntx... в каталоге кластера srvinfo\reg_1541). Обычно его чистить не нужно: достаточно, чтобы все пользователи перезашли.

Очистка серверного кэша требует остановки службы агента сервера 1С. Это обрывает все сеансы всех баз кластера. Делайте это только вне рабочего времени и предупредив пользователей.

После удаления расширения
Выполнено: 0 / 5

Удаление расширений из командной строки

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

Одно расширение

"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"

Для серверной базы вместо /F укажите /S"имя_сервера\имя_базы". Номер платформы в пути подставьте свой.

Все расширения базы

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

Результат смотрите в файле, указанном в /Out. Пустой лог или сообщение об успешном завершении означает, что удаление прошло.

Сохранить перед удалением

Сначала выгрузите расширение в файл тем же пакетным режимом:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpCfg "D:\Backup\MoiPF.cfe" -Extension "МоиПечатныеФормы"

Консоль кластера и ibcmd

Консоль администрирования серверов 1С и утилита rac расширениями не управляют. Они пригодятся, чтобы посмотреть, кто ещё работает в базе (rac session list), и попросить этих людей перезайти. Принудительно завершать чужие сеансы стоит только после предупреждения: несохранённые документы пропадут.

В утилите ibcmd есть отдельная группа команд для расширений. Точный синтаксис для вашей версии платформы смотрите в справке ibcmd help.

Особые случаи: сервер, облако, несколько баз

Базовый порядок одинаков, но в нескольких ситуациях есть свои нюансы.

Клиент-серверная база

Удаление работает так же, как в файловой. Отличие одно: сеансы на сервере живут дольше, чем окно 1С на экране. Пользователь мог свернуть программу и уйти обедать — его сеанс всё ещё использует старый набор расширений. Посмотрите список сеансов в консоли кластера и договоритесь о перезапуске со всеми, кто в базе.

База в облаке 1С:Фреш или у провайдера

В сервисе расширения обычно ставят из каталога сервиса или через личный кабинет. Если удалить такое расширение изнутри базы, сервис может вернуть его при следующем обновлении. Удаляйте расширение там же, где его устанавливали: в кабинете сервиса или через поддержку провайдера.

Одно расширение в нескольких базах

Если расширение установлено в десятке баз, ручной обход долог. Соберите bat-файл с командой /DeleteCfg для каждой базы и запустите его вне рабочего времени. Каждый вызов пишет свой лог через /Out — по логам видно, где удаление не прошло (чаще всего из-за неверного пароля или имени расширения).

Как проверить результат

  • 📋 Откройте список расширений ещё раз — строки быть не должно.
  • 🖨️ Проверьте печатные формы и отчёты, которые меняло расширение: должны работать типовые варианты.
  • 📓 Откройте Администрирование → Обслуживание → Журнал регистрации и отфильтруйте события с уровнем «Ошибка» за последний час.

Почему расширение не удаляется: частые ошибки

Диагностика: выберите симптом

Ещё одна частая путаница — внешние обработки. Отчёты и обработки, подключённые через Дополнительные отчеты и обработки, — это не расширения. Они хранятся в отдельном справочнике и удаляются (или помечаются «Не используется») там же, в разделе Печатные формы, отчеты и обработки. В списке расширений их искать бесполезно.

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

Можно ли удалить расширение, если в базе работают пользователи?
Да, монопольный режим не нужен. Но у работающих пользователей расширение продолжит действовать до перезапуска сеанса, поэтому попросите их перезайти.
Что удалится вместе с расширением?
Код, формы, макеты и роли расширения. Если в нём были собственные справочники, документы или регистры — их данные тоже. Данные типовых объектов, которые расширение лишь дорабатывало, остаются.
Как вернуть удалённое расширение?
Добавьте его заново из сохранённого файла .cfe: в режиме предприятия командой добавления из файла, в Конфигураторе — через список расширений. Данные собственных объектов вернутся только из резервной копии базы.
Нужно ли удалять расширение перед обновлением конфигурации?
Обычно нет. Его отключают или обновляют, только если после обновления программа сообщает, что расширение не может быть применено.
Чем отключение отличается от удаления?
Снятый флажок «Активно» выключает расширение, но оставляет его и его данные в базе. Включить обратно можно в один клик.