Удаление расширения конфигурации 1С 8.3: что станет с данными и как их сохранить

· 9 мин

Содержание

Удалить расширение в 1С 8.3 можно двумя кликами: в режиме предприятия через Администрирование → Печатные формы, отчеты и обработки → Расширения или в Конфигураторе через Конфигурация → Расширения конфигурации. Но если расширение добавляло свои справочники, документы, регистры или новые реквизиты к типовым объектам, вместе с расширением из базы уходят и все его данные. Вернуть их повторной загрузкой файла .cfe нельзя.

Частое заблуждение — «данные лежат в файле расширения, удалю и поставлю заново». Нет: файл .cfe хранит только описание объектов и код. Сами записи живут в таблицах информационной базы. Поэтому сначала решите, нужны ли данные, и только потом удаляйте.

Перед удалением: три вопроса и копия базы

Ответьте себе на три вопроса. От них зависит, какой путь выбрать.

  1. 📦 Есть ли у расширения свои данные? Откройте расширение в Конфигураторе и посмотрите дерево. Если там есть собственные (не заимствованные) справочники, документы, регистры или добавленные реквизиты у заимствованных объектов — данные есть.
  2. 🔗 Зависят ли от него другие расширения? Расширение-исправление может заимствовать объекты другого расширения. Удалите «основное» — и зависимое перестанет применяться.
  3. 🧭 Нужно удалить или просто выключить? Если расширение мешает временно, его достаточно деактивировать. Данные при этом остаются в базе.

Дальше — обязательные действия до удаления:

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

Копия .dt — единственный надёжный способ вернуть данные расширения, если удаление окажется ошибкой. Без неё восстанавливать будет не из чего.

Как увидеть данные расширения без Конфигуратора

Доступа к Конфигуратору нет — не беда. Признаки того, что расширение хранит данные, видны и в режиме предприятия:

  • 🗂 в разделах появились новые справочники или журналы документов, которых нет в типовой поставке;
  • ✏️ на формах типовых документов есть поля, которые добавил разработчик (например, «Проект» или «Ответственный менеджер»);
  • 📊 в списке отчётов есть отчёты по этим новым объектам.

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

Для удаления нужны административные права. В платформе есть отдельное право «Администрирование расширений конфигурации», но в типовых конфигурациях проще работать под пользователем с полными правами.

Расширение, внешняя обработка и файл на диске — что именно удаляем

Под словом «расширение» пользователи понимают три разные вещи. Удаляются они по-разному.

Что этоФорматГде живётЕсть ли свои данныеКак удалить
Расширение конфигурации.cfeв информационной баземогут бытьсписок расширений или Конфигуратор
Внешняя обработка / отчёт.epf, .erfфайл или справочник дополнительных обработокнет своих таблицАдминистрирование → Печатные формы, отчеты и обработки → Дополнительные отчеты и обработки
Файл расширения на диске.cfeпапка на компьютеренетобычное удаление файла

Удалить файл .cfe из папки «Загрузки» бесполезно: расширение уже загружено в базу и продолжит работать.

С внешними обработками проще. Своих таблиц у них нет, но в справочнике дополнительных обработок хранятся настройки размещения, расписание регламентных заданий и сам файл. Если обработка больше не нужна, удобнее не удалять элемент, а сменить ему публикацию на «Отключена». Так сохранится история, а команда пропадёт из меню.

Удаление расширения конфигурации в режиме предприятия

Это основной способ для бухгалтера или администратора без доступа к Конфигуратору. Путь одинаков в БП 3.0, ЗУП 3.1, УТ 11 и других конфигурациях на БСП.

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

Если кнопка неактивна, а строка серая — у вас не хватает прав или расширение подключено иначе (см. раздел про ошибки).

Сомневаетесь, понадобятся ли данные? Вместо удаления снимите флажок активности в первой колонке списка. Расширение перестанет работать, а таблицы с данными останутся в базе. Вернуть всё можно, включив флажок обратно.

Удаление расширения в Конфигураторе и командной строкой

Через Конфигуратор

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

В этом же окне видно свойство «Активно» и назначение расширения: «Исправление», «Адаптация» или «Дополнение». Исправления, установленные через интернет -поддержку, лучше снимать штатным механизмом установки исправлений в разделе Администрирование → Интернет-поддержка и сервисы, а не вручную.

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

Из командной строки

Удобно, когда баз много или удаление входит в скрипт обслуживания. Пакетный режим Конфигуратора поддерживает параметр /DeleteCfg с ключом -Extension:

"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 "server\base". Ключ -AllExtensions удаляет сразу все расширения базы — с ним осторожнее. Номер платформы в пути подставьте свой.

Пакетный запуск не задаёт вопросов. Если у расширения есть данные, они удалятся без подтверждения. Копию .dt делайте до запуска скрипта.

Как удалить расширение 1С с данными и не потерять нужное

Здесь главный вопрос — какие данные расширения вам нужны после удаления.

Вариант 1. Данные не нужны

Например, расширение было тестовым или его функции перенесли в типовую конфигурацию . Сделайте копию .dt на всякий случай и удаляйте любым способом выше. Платформа очистит таблицы расширения сама — отдельной процедуры очистки не требуется.

Вариант 2. Данные нужны как архив

Справочники и документы расширения нужно сохранить, но работать с ними больше не будут.

  1. Выгрузите базу в .dt и подпишите файл понятно: buh_do_udaleniya_ext.dt.
  2. Разверните эту копию в отдельную базу «Архив».
  3. В рабочей базе удалите расширение.

Архивная база открывается в любой момент. Это надёжнее, чем выгрузка в Excel, где теряются связи между объектами.

Вариант 3. Данные нужно перенести в другое место

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

  1. Сначала доработайте конфигурацию: создайте в ней объект-приёмник.
  2. Перенесите данные обработкой выгрузки-загрузки XML или правилами обмена.
  3. Сверьте количество элементов в источнике и приёмнике.
  4. Только после сверки удаляйте расширение.

Количество записей удобно проверить запросом в консоли запросов:

ВЫБРАТЬ
    КОЛИЧЕСТВО(*) КАК Записей
ИЗ
    Справочник.ДоработкиОтдела_Проекты

Имя объекта подставьте своё: у объектов расширения обычно стоит префикс расширения.

Удаление программно

Если удаление нужно встроить в обработку, используйте менеджер расширений. Код выполняется на сервере с административными правами:

&НаСервере
Процедура УдалитьРасширениеНаСервере(ИмяРасширения)
    Отбор = Новый Структура("Имя", ИмяРасширения);
    Найденные = РасширенияКонфигурации.Получить(Отбор);
    Для Каждого Расширение Из Найденные Цикл
        Расширение.Удалить();
    КонецЦикла;
КонецПроцедуры

Код тоже не задаёт вопросов о данных. Проверка и копия — на вашей стороне.

Что сделать с расширением, у которого есть данные?

Сбои при удалении расширения и как их обойти

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

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

Если расширение удалили по ошибке

Порядок зависит от того, нужны ли данные расширения.

Нужен только функционал. Загрузите сохранённый .cfe обратно через тот же список расширений. Расширение заработает, но его таблицы будут пустыми.

Нужны и данные. Здесь есть развилка.

СитуацияЧто делатьРиск
Удалили только что, в базе никто не работалзагрузить .dt, сделанный перед удалениемминимальный
После удаления в базе уже вели учётразвернуть .dt в отдельную базу, перенести данные расширения в рабочую через XMLновые документы не теряются
Копии .dt нетискать в резервных копиях сервера СУБД или системы бэкаповданные могут быть утеряны

Не загружайте старый .dt поверх рабочей базы, если после удаления в ней уже работали. Вы потеряете всё, что внесли за это время.

Схема переноса для второго случая:

  1. Разверните копию .dt в новую базу.
  2. В рабочую базу загрузите расширение из .cfe — появятся пустые таблицы.
  3. Выгрузите из копии в XML только объекты расширения.
  4. Загрузите XML в рабочую базу и сверьте количество записей.

Если расширения нет даже в файле, его можно сохранить из развёрнутой копии: в ней оно на месте.

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

Удаление прошло без ошибок — ещё не повод закрыть задачу. Пройдите короткую проверку в течение первого рабочего дня.

  1. Перезапустите программу под обычным пользователем, а не только под администратором. Команды расширения должны пропасть из разделов и форм.
  2. Откройте несколько типовых документов, которые расширение меняло. Формы должны открываться без сообщений об ошибках.
  3. Сформируйте оборотно-сальдовую ведомость за текущий период и сравните итоги с данными до удаления. Расхождения укажут на движения, которые делали документы расширения.
  4. Проверьте регламентные задания и обмены. Если расширение добавляло своё задание или правила обмена, после удаления они исчезнут, и обмен может остановиться.
  5. Отметьте в журнале администратора дату удаления, имя расширения и где лежат файлы .dt и .cfe.

Последний пункт кажется формальностью. Но через полгода, когда кто-то спросит, куда пропал справочник проектов, ответ найдётся за минуту.

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

Удаляются ли данные при отключении расширения?
Нет. Деактивация только выключает расширение. Таблицы с данными остаются в базе и снова доступны после включения.
Можно ли удалить расширение, пока пользователи работают в базе?
Удалить можно, но у работающих пользователей изменения применятся только после перезапуска сеанса. Безопаснее выбирать нерабочее время.
Пропадут ли настройки отчётов из удалённого расширения?
Сохранённые варианты отчётов, которые ссылались на отчёт расширения, перестанут открываться. После повторной установки расширения они обычно снова работают, если имя отчёта не менялось.
Чем удаление расширения отличается от удаления дополнительной обработки?
Дополнительная обработка — это элемент справочника, своих таблиц у неё нет. Расширение может создавать в базе собственные таблицы, и при удалении они очищаются.
Нужно ли после удаления расширения делать тестирование и исправление базы?
Как правило, нет. Его стоит запускать, только если появились битые ссылки или ошибки при открытии объектов.