К статье
Практический материал

Администрирование · 10 мин

Как удалить патчи в 1С через конфигуратор

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

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

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

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

Что такое патч в 1С и когда его нужно удалять

Патч (EF-исправление) — это файл с расширением .cfe, который устанавливается поверх основной конфигурации как отдельное расширение. В отличие от полноценного обновления релиза, патч не меняет структуру данных и обычно затрагивает один-два объекта: модуль, форму или процедуру. Именно поэтому его можно установить и удалить быстро, без длительной реструктуризации базы.

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

Подготовка: резервная копия и завершение сеансов

Первое обязательное действие — снять резервную копию информационной базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD в отдельный каталог при закрытой программе. Для клиент-серверной базы корректный способ — выгрузка в файл .dt через конфигуратор («Администрирование → Выгрузить информационную базу») либо штатный бэкап средствами СУБД.

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

Как найти установленные патчи в конфигураторе

Откройте конфигуратор, авторизуйтесь под пользователем с правами администратора и перейдите в меню «Конфигурация → Расширения конфигурации». В открывшемся списке патчи отображаются наравне с обычными расширениями. Отличить патч можно по имени: оно обычно содержит префикс, заданный поставщиком, и номер исправления, а в колонке «Безопасный режим» и свойствах видно, что расширение установлено механизмом обновления.

В типовых конфигурациях список установленных исправлений также виден в режиме предприятия: «Администрирование → Обслуживание → Обновление версии программы» (в некоторых версиях — отдельная ссылка «Установленные исправления»). Там можно уточнить, какой именно патч соответствует проблемной дате, если в конфигураторе их несколько.

Патч виден в списке расширенийСтандартный случай

Можно удалять штатно через конфигуратор

Патча нет, но ошибка естьПричина не в патче

Проверьте основную конфигурацию и другие расширения

Кнопка удаления неактивнаНедостаточно прав

Войдите под пользователем с полными правами администратора

Удаление патча через список расширений конфигурации

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

Затем выполните обновление конфигурации базы данных: «Конфигурация → Обновить конфигурацию базы данных» (клавиша F7). Согласитесь с предложением обновить конфигурацию, дождитесь завершения реструктуризации. Для патча этот процесс обычно занимает немного времени, так как структура данных не меняется.

Порядок действий
  1. 1
    Сделайте резервную копию базы и завершите сеансы пользователей
  2. 2
    Откройте конфигуратор с правами администратора
  3. 3
    Перейдите в «Конфигурация → Расширения конфигурации»
  4. 4
    Найдите патч в списке и нажмите «Удалить»
  5. 5
    Выполните «Конфигурация → Обновить конфигурацию базы данных» (F7)
  6. 6
    Запустите режим предприятия и проверьте работу проблемного участка

Альтернативные способы удаления исправлений

Удаление через режим предприятия

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

Удаление файлов патчей из каталога

Патчи, загруженные автоматическим сервисом обновления, хранятся в служебных каталогах (например, в подкаталоге 1cv8\1cv8cmn.pat или аналогичном каталоге настроек). Ручное удаление файлов из этих папок не отключает уже применённое исправление в базе — оно лишь предотвращает повторную автоматическую установку. Поэтому такой способ используют только как дополнение к штатному удалению через конфигуратор.

Откат через восстановление резервной копии

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

Сравнение вариантов

Удаление через конфигуратор

Штатный и полный способ; требует монопольного доступа и прав администратора

Отключение в режиме предприятия

Быстро и без конфигуратора, но патч остаётся в базе в отключенном виде

Восстановление из копии

Гарантированный откат, но теряются данные, введённые после создания копии

Проверка результата после удаления

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

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

Контрольные точки

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

Список расширений в конфигураторе
Норма

Удалённого патча нет в списке

Тревожный признак

Патч снова появился — сработала автозагрузка исправлений

Работа проблемного функционала
Норма

Ошибка не воспроизводится

Тревожный признак

Ошибка осталась — причина не в патче

Журнал регистрации
Норма

Нет новых критических ошибок

Тревожный признак

Появились ошибки обновления или реструктуризации

Типичные ошибки и ограничения

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

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

Типичные ошибки
01
Удаление без резервной копии — при сбое реструктуризации базу нечем восстановить
02
Пропуск обновления конфигурации базы данных — пользователи не смогут войти в программу
03
Работа пользователей во время удаления — операция обрывается ошибкой монопольного доступа
04
Удаление файлов патчей из каталога вместо штатного удаления — исправление остаётся активным в базе
05
Не отключена автозагрузка исправлений — патч устанавливается повторно при следующем сеансе
Перед удалением зафиксируйте точное имя и номер патча из списка расширений. Если после отката выяснится, что исправление всё-таки было нужно, по номеру его проще найти и установить повторно из сервиса обновлений.
ПЗ
Практическое замечание

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

Удалятся ли данные из базы вместе с патчем?

Нет. Патч содержит только программный код и не хранит пользовательских данных, поэтому документы, справочники и движения регистров при его удалении не затрагиваются. Исключение — редкие исправления, меняющие структуру метаданных: о таких случаях поставщик сообщает в описании исправления.

Почему удалённый патч устанавливается снова?

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

Можно ли удалить патч без конфигуратора?

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

Что делать, если при обновлении конфигурации базы данных возникла ошибка?

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

Нужно ли удалять патчи перед обновлением релиза?

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

Итог

Что важно запомнить

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