Откат исправлений, обновлений и версий платформы 1С:Предприятие 8.3

· 9 мин

Содержание

Патч в 1С 8.3 — это расширение конфигурации с назначением «Исправление». Чтобы удалить патч , откройте Конфигуратор → Конфигурация → Расширения конфигурации, выделите расширение с именем вида EF_... и удалите его. Без Конфигуратора то же самое делается в пользовательском режиме через список расширений или список установленных исправлений.

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

1. Что именно нужно откатить: патч, релиз или платформу

Прежде чем что-то удалять, определите, что поменялось. От этого зависит способ.

Откройте Справка → О программе (или значок «i» в правом верхнем углу). Там видны:

  • 🔹 версия платформы, например 8.3.25.1394;
  • 🔹 конфигурация и её релиз, например Бухгалтерия предприятия, редакция 3.0 (3.0.xxx.yy);
  • 🔹 признак «Конфигурация изменена» или подключённые расширения.
Что поменялосьКак выглядитКак откатить
Исправление (патч)Расширение EF_..., релиз конфигурации тот жеУдалить или отключить расширение
Обновление конфигурацииСменился номер релизаВосстановить базу из копии до обновления
Версия платформыСменился номер 8.3.xx.xxxxЗапустить базу на старой версии, лишнюю удалить

Типичные причины отката:

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

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

2. Удаление патча в файловой базе

Файловая база хранит расширения внутри файла 1Cv8.1CD. Удалять их можно двумя путями.

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

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

Универсальный путь, который работает в любой конфигурации: Главное меню (☰) → Все функции → Стандартные → Управление расширениями конфигурации. В списке исправления видны по имени EF_ и назначению «Исправление».

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

Если пункт «Все функции» не виден, включите его: ☰ → Сервис → Параметры → Отображать команду "Все функции".

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

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

Удаление расширения в Конфигураторе необратимо. Если расширение хранило свои данные, они удалятся вместе с ним. У типовых исправлений собственных данных обычно нет, но перед удалением сделайте выгрузку: Администрирование → Выгрузить информационную базу в файл .dt.

Если из-за патча база не открывается

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

В этом случае выручает Конфигуратор: он открывается независимо от того, что в расширениях. Порядок такой:

  1. Запустите базу в режиме «Конфигуратор» под пользователем с полными правами.
  2. В окне расширений сначала снимите у подозрительного исправления флажок «Активно», а не удаляйте его сразу.
  3. Попробуйте открыть базу в пользовательском режиме.
  4. Если вход прошёл, удаляйте исправление. Если нет — верните флажок и ищите причину в другом месте: в кэше или версии платформы.

Так вы точно знаете, что ошибку вызывал именно этот патч, а не совпадение по времени.

Если нужно откатить само обновление конфигурации

Кнопки «отменить обновление» в 1С нет. Варианты такие:

  1. Восстановить базу из копии, сделанной перед обновлением (Администрирование → Загрузить информационную базу для .dt или замена файла 1Cv8.1CD для файловой копии).
  2. Данные, введённые после обновления, перенести вручную или выгрузкой между базами.

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

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

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

Самый мягкий способ — запуск с параметром очистки кэша. В окне запуска выделите базу, нажмите «Изменить» и на последнем шаге в поле «Дополнительные параметры запуска» впишите:

/ClearCache

Запустите базу один раз, потом параметр уберите.

Если не помогло — очистите папки кэша вручную. Они лежат в двух местах:

  • 📁 %APPDATA%\1C\1cv8\
  • 📁 %LOCALAPPDATA%\1C\1cv8\

Удалять нужно только подпапки с именами-идентификаторами вида a1b2c3d4-.... Перед запуском закройте все окна 1С.

@echo off
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"
echo Кэш 1С очищен
pause

Не трогайте папку %APPDATA%\1C\1CEStart\. В ней файл ibases.v8i со списком баз. Удалите его — и пользователь увидит пустое окно запуска.

Временные файлы (%TEMP%, файлы *.tmp) на работу исправлений не влияют. Их можно чистить штатными средствами Windows, но к удалению патчей это отношения не имеет.

4. Как запретить повторную установку исправлений

Удалили патч, а через день он снова в базе? Значит, работает автоматическая загрузка исправлений через интернет -поддержку.

Эта настройка хранится не в реестре Windows, а в самой информационной базе. Откройте Администрирование → Интернет-поддержка и сервисы и перейдите к настройкам обновления программы. Выберите вариант, при котором исправления не загружаются и не устанавливаются автоматически.

Что ещё влияет на автоустановку:

  • 🔸 регламентное задание загрузки исправлений — проверьте его в списке регламентных заданий (Администрирование → Обслуживание → Регламентные операции);
  • 🔸 подключённая интернет-поддержка — без неё патчи сами не приходят;
  • 🔸 общий каталог обновлений в сети, если администратор раскладывает исправления централизованно.

Версию платформы можно закрепить за базой отдельно. В окне запуска выделите базу, нажмите «Изменить», на последнем шаге укажите нужную версию в поле «Версия 1С:Предприятия», например 8.3.24. Параметр сохраняется в ibases.v8i строкой Version=. С ним база будет открываться на указанной версии, даже если на компьютере стоят более новые.

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

5. Патчи и версии платформы на сервере 1С

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

С платформой сложнее. Версия клиента должна совпадать с версией сервера 1С с точностью до сборки. Чтобы откатить платформу на сервере:

  1. Предупредите пользователей и дождитесь, пока все выйдут. Остановка службы агента оборвёт все сеансы на сервере.
  2. Установите на сервер нужную сборку, если её нет.
  3. Остановите службу агента сервера текущей версии.
  4. Зарегистрируйте и запустите службу агента для старой сборки (через установщик или ragent.exe из папки bin нужной версии с ключами регистрации службы; параметры смотрите в документации к платформе).
  5. Поставьте эту же сборку на клиентские компьютеры и закрепите её за базой, как в разделе выше.

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

rac cluster list
rac session list --cluster=<id кластера>

Если после смены версии сервер ведёт себя странно, чистят серверный кэш: каталоги snccntx* в папке srvinfo\reg_1541. Делается это только при остановленной службе и в нерабочее время.

Не удаляйте папку srvinfo целиком и не «пересоздавайте кластер». Там хранится реестр кластера со списком баз; без него придётся заново регистрировать все информационные базы.

6. Удаление старых версий платформы с компьютера

Каждая сборка ставится в свою папку: C:\Program Files\1cv8\8.3.xx.xxxx\. За год их может накопиться пять-шесть, по 500-800 МБ каждая.

Правильный порядок:

  1. Убедитесь, что ни одна база не закреплена за удаляемой версией (смотрите поле версии в свойствах базы).
  2. Удалите версию через Параметры Windows → Приложения или Панель управления → Программы и компоненты. Каждая сборка видна там отдельной строкой «1С:Предприятие 8 (x86-64) (8.3.xx.xxxx)».
  3. Если после удаления папка версии осталась, удалите её вручную.

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

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

7. Журнал регистрации: следы патчей и его сокращение

Установка и удаление расширений фиксируются в журнале регистрации. Это полезно: по журналу видно, кто и когда поставил исправление.

Посмотреть события: Администрирование → Обслуживание → Журнал регистрации. Поставьте отбор по событиям, связанным с расширениями, и по нужному периоду.

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

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

Журнал файловой базы лежит рядом с ней, в папке 1Cv8Log. Удалять её руками при закрытой базе технически можно, но вы потеряете всю историю, включая записи о том, кто менял данные.

Журнал — главный инструмент расследования при спорных проводках и пропавших документах. Сокращайте его с сохранением удалённой части в файл.

8. Как обновляться, чтобы потом не откатывать

Удаление патча — это всегда реакция на проблему. Её проще предотвратить.

Перед установкой исправлений и обновлений
Выполнено: 0 / 6

Пара практических привычек:

  • ✅ Держите тестовую копию рабочей базы и ставьте патчи сначала туда.
  • ✅ При обновлении конфигурации на новый релиз исправления, вошедшие в релиз, становятся лишними. Программа сама убирает неактуальные исправления, но после обновления проверьте список расширений.
  • ✅ Не держите в базе одновременно доработки «на коленке» и патчи к тем же объектам: при конфликте сложно понять, кто виноват.

Частые ошибки при откате и как их избежать

ОшибкаЧем грозитКак правильно
Удалили расширение с доработками вместо патчаПропали отчёты или реквизитыСмотреть на назначение «Исправление» и префикс EF_
Снесли папку 1C в профиле целикомПропал список базЧистить только папки-идентификаторы в 1cv8
Удалили сборку платформы, под которой работает серверСлужба не стартуетСначала переключить службу на другую сборку
Откатили патч и не отключили автозагрузкуПатч вернулся через суткиСменить настройку загрузки исправлений

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

Можно ли удалить патч, если в базе работают пользователи?
Да, удаление расширения не требует монопольного доступа. Но у работающих пользователей патч останется в силе до перезапуска их сеансов.
Чем патч отличается от обычного расширения?
Технически это то же расширение, но с назначением «Исправление». Его выпускает разработчик конфигурации, и оно привязано к конкретному релизу.
Удалится ли патч сам при обновлении конфигурации?
Если исправление вошло в новый релиз или к нему не применимо, программа уберёт его при обновлении. Остальные патчи сохранятся, их стоит проверить вручную.
Почему после удаления патча форма всё ещё «старая»?
Скорее всего, клиент взял её из локального кэша. Запустите базу с параметром /ClearCache или удалите папки кэша в профиле пользователя.
Как узнать, кто установил исправление?
Откройте журнал регистрации, отберите события по расширениям за нужный период. В записи будут пользователь, компьютер и время.