Расширение сломало базу: отключаем, удаляем или возвращаем прошлую версию

· 9 мин

Содержание

Откатить расширение 1С можно тремя способами: снять флажок «Активно» в окне Конфигурация → Расширения конфигурации (расширение остаётся в базе, но не применяется), удалить его там же кнопкой удаления или загрузить поверх прежнюю версию из файла .cfe. Самый быстрый и безопасный вариант на случай «после установки всё упало» — отключение: оно обратимо одним кликом.

Частое заблуждение: «верну конфигурацию из бэкапа .cf — и расширение откатится». Не откатится. Расширения хранятся в информационной базе отдельно от основной конфигурации и в файл .cf не попадают. Их содержимое сохраняется только в .cfe и в полной выгрузке базы .dt.

Что значит «откатить» расширение и какой способ выбрать

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

СпособКогда подходитЧто с данными расширенияОбратимость
Отключить (снять «Активно»)Нужно срочно вернуть работу базы, разбираться будете потомОстаются в базеПолная, включить обратно
УдалитьРасширение больше не нужно совсемТеряются данные собственных объектов расширенияТолько из копии
Загрузить прежний .cfeНовая версия с ошибкой, старая работалаСохраняются, если структура совместимаМожно повторить с любым файлом
Восстановить .dtНичего не помогает, база не открываетсяВозвращается всё на дату копииТеряются все изменения после копии

Типовые сценарии, при которых откат нужен:

  • 🧩 после обновления типовой конфигурации расширение перестало применяться;
  • 🐞 новая версия доработки печатной формы или отчёта падает с ошибкой;
  • 🔒 расширение заблокировало проведение документов или запуск базы;
  • 🧪 доработку поставили «на пробу», и она не подошла.

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

Как понять, что виновато именно расширение

Прежде чем откатывать, убедитесь, что проблема действительно в доработке. Три быстрые проверки:

  • 🔍 Текст ошибки. В подробном описании ошибки (кнопка «Подробно» в окне сообщения) указан модуль. Если в нём фигурирует имя расширения, источник найден.
  • ⏱️ Совпадение по времени. Проблема началась сразу после установки или обновления расширения — сильный довод в пользу отката.
  • 🧪 Проверка отключением. Снимите «Активно» у подозреваемого расширения и повторите операцию в новом сеансе. Если всё заработало, причина подтверждена.

Последний способ самый надёжный: он не требует чтения кода и ничего не ломает.

Как удалить расширение 1С в Конфигураторе

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

Перед удалением выгрузите расширение в файл и сделайте копию базы .dt.

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

  1. Запустите базу в режиме Конфигуратора под пользователем с полными правами.
  2. Откройте Конфигурация → Расширения конфигурации.
  3. Выделите строку нужного расширения.
  4. Сохраните его на всякий случай: в меню окна (кнопка Конфигурация на панели окна расширений) выберите сохранение в файл и укажите путь, например D:\backup\ext\МояДоработка_1.0.3.cfe.
  5. Нажмите кнопку удаления на панели окна (красный крестик) и подтвердите.
  6. Закройте окно и перезапустите сеансы пользователей: изменения подхватят только новые сеансы.

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

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

В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) Конфигуратор не обязателен. Расширения управляются из пользовательского режима:

Администрирование → Печатные формы, отчеты и обработки → Расширения

В списке выделите расширение и выберите команду удаления. Там же есть команда сохранения расширения в файл — используйте её до удаления. Права на этот раздел есть только у администратора.

Временное отключение расширения: база работает, доработка ждёт

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

В Конфигураторе

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

Чтобы вернуть расширение, поставьте флажок обратно. Перезагружать файл не нужно.

В пользовательском режиме

В форме Администрирование → Печатные формы, отчеты и обработки → Расширения у каждого расширения есть флажок подключения (в типовых — колонка «Подключено»). Снимите его и перезапустите сеанс.

Программно

Когда расширений много или отключать их нужно по расписанию, удобно сделать это кодом из внешней обработки на сервере:

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

Для включения поменяйте Ложь на Истина. Обработку запускайте под пользователем с административными правами, иначе запись не пройдёт.

Отключённое расширение не значит «выключенные последствия». Если доработка уже записала что-то в типовые реквизиты (например, заполнила поля документов), эти значения в базе останутся.

Возврат к предыдущей версии расширения

Встроенной истории версий у расширения нет. Вернуть прошлую сборку можно, только если она где-то сохранена. Источника три.

Из файла .cfe

Самый простой путь — если разработчик передавал вам файлы с номерами версий.

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

В пользовательском режиме то же делает команда обновления расширения из файла в форме Расширения.

Назовите файлы так, чтобы по имени было видно версию и дату: ЗагрузкаБанка_2.4.1_2026-09-15.cfe. Через полгода никто не вспомнит, какой из трёх ext_new.cfe был рабочим.

Из хранилища конфигурации

Если расширение разрабатывали с подключением к хранилищу, в нём хранится каждая помещённая версия. Откройте историю хранилища расширения, найдите версию до проблемной, сохраните её в файл .cfe и загрузите по шагам выше. Сам откат в хранилище (помещение старой версии как новой) — дело разработчика: так история не теряется.

Из резервной копии базы .dt

Выгрузка .dt содержит расширения целиком. Но загрузка .dt заменяет всю базу: пропадут документы, введённые после даты копии. Поэтому выгружать расширение из копии лучше так:

  1. Разверните .dt в отдельную пустую базу.
  2. Откройте её Конфигуратором, сохраните нужное расширение в .cfe.
  3. Загрузите этот файл в рабочую базу.

Рабочие данные остаются нетронутыми, а вы получаете ровно ту версию расширения, которая была на дату копии.

Откат расширений на сервере 1С и из командной строки

В клиент-серверном варианте порядок тот же, но есть особенности.

  • 👥 Сеансы. Новые настройки применяются к новым сеансам. Пользователи, которые уже работают, остаются со старым набором расширений до перезахода. Предупредите их заранее: при удалении расширения незаписанные данные в открытых формах могут потеряться.
  • 🗄️ Структура данных. Если расширение добавляет свои таблицы, при их удалении или изменении платформа реструктурирует данные на СУБД. На большой базе это занимает время — планируйте операцию на нерабочие часы.
  • 🖥️ Права. В Конфигуратор нужно войти пользователем базы с полными правами. Администратор кластера для самой операции не нужен, но он понадобится, если придётся завершать зависшие сеансы через консоль кластера. Завершение сеансов обрывает работу пользователей — делайте это после предупреждения.

Пакетный режим

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

set EXE="C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe"
set IB=/S"srv1c\buh"
set AUTH=/N"Администратор" /P"пароль"

rem Выгрузить текущую версию расширения
%EXE% DESIGNER %IB% %AUTH% /DumpCfg "D:\backup\ext\Доработка_current.cfe" -Extension "Доработка" /Out "D:\backup\ext\log.txt"

rem Загрузить прежнюю версию и обновить структуру
%EXE% DESIGNER %IB% %AUTH% /LoadCfg "D:\backup\ext\Доработка_1.0.3.cfe" -Extension "Доработка" /UpdateDBCfg /Out "D:\backup\ext\log.txt"

rem Удалить расширение полностью
%EXE% DESIGNER %IB% %AUTH% /DeleteCfg -Extension "Доработка" /Out "D:\backup\ext\log.txt"

Путь к 1cv8.exe подставьте свой: номер в папке соответствует установленной версии платформы. Параметр /DeleteCfg -AllExtensions удаляет все расширения базы сразу — пользуйтесь им осознанно. Полный список ключей смотрите в справке Конфигуратора по параметрам командной строки.

Пароль в bat-файле — открытым текстом. Храните такие скрипты в папке с ограниченным доступом и не кладите в общие каталоги.

Файловая база

Для файлового варианта меняется только строка подключения: /F"D:\Bases\buh" вместо /S"srv1c\buh". Остальное — то же самое.

Когда откат не прошёл гладко

Ошибки при откате обычно связаны не с самим расширением, а с окружением: версией основной конфигурации, сеансами, правами.

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

Отдельный случай — исправления (патчи) от разработчика типовой конфигурации. Технически это тоже расширения, но устанавливаются и удаляются они через механизм обновления программы в разделе интернет-поддержки. Удалять их вручную через окно расширений не стоит: при следующем обновлении программа может установить их снова или сообщить о расхождении.

Как не попадать в ситуацию «откатить нечем»

Откат занимает пять минут, когда к нему готовились, и полдня — когда нет. Несколько привычек снимают проблему почти полностью.

  1. Ведите версии. В свойствах расширения есть поле «Версия». Требуйте от разработчика поднимать номер при каждой передаче, а сами храните каждый полученный .cfe в отдельной папке с датой.
  2. Сохраняйте текущее перед заменой. Перед загрузкой новой версии всегда выгружайте действующую. Это одна команда.
  3. Проверяйте на копии. Новую версию расширения сначала ставьте в тестовую копию базы и проверяйте ключевые операции: проведение, печать, обмены.
  4. Не обновляйте всё сразу. Типовую конфигурацию и расширение лучше менять в разные дни. Если что-то сломается, будет понятно, что именно.
  5. Делайте .dt перед крупными изменениями. Особенно если расширение добавляет свои объекты с данными.
  6. Ведите реестр расширений. Простая таблица: имя, назначение, автор, текущая версия, дата установки, где лежит файл. При смене подрядчика она бесценна.
Перед установкой новой версии расширения
Выполнено: 0 / 5

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

Сохраняются ли данные расширения, если его отключить?
Да. При снятии флажка «Активно» таблицы собственных объектов расширения остаются в базе. После включения данные снова доступны.
Можно ли откатить расширение без Конфигуратора?
Да, в типовых конфигурациях на БСП: Администрирование → Печатные формы, отчеты и обработки → Расширения. Там можно отключить, удалить и обновить расширение из файла.
Попадают ли расширения в выгрузку конфигурации .cf?
Нет. Файл .cf содержит только основную конфигурацию. Расширение сохраняют отдельно в .cfe или вместе со всей базой в .dt.
Нужен ли монопольный доступ, чтобы отключить расширение?
Для смены флажка «Активно» — нет, изменения подхватят новые сеансы. Если же операция меняет структуру данных расширения, планируйте её на время, когда пользователей в базе нет.
Почему после отката печатная форма всё равно старая?
Скорее всего, у пользователя открыт старый сеанс или закэширована форма. Перезапуск клиента обычно решает вопрос; в упорных случаях помогает запуск с /ClearCache.