Откат обновления 1С:Предприятия 8.3 — возврат прежней платформы и конфигурации

· 10 мин

Содержание

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

Типичная ситуация: вечером бухгалтер обновил 1С:Предприятие, а утром отчёт не формируется или внешняя обработка банка падает с ошибкой. Хочется просто вернуть всё как было, но сначала стоит понять, что из этого вообще возвращается без потерь.

Что именно откатываем: платформа или конфигурация

Обновление 1С бывает двух видов, и откат у них устроен по-разному.

Что обновилиГде это видноКак откатитьТеряются ли данные
Платформа (8.3.xx.xxxx)Справка → О программе, строка «1С:Предприятие 8.3 (8.3.xx.xxxx)»Установить старую версию и выбрать её для базыНет
Конфигурация (релиз БП, ЗУП, УТ)Справка → О программе, строка с названием и номером релизаЗагрузить резервную копию базыДа, всё введённое после копии
И то и другоеОбе строки изменилисьСначала конфигурацию из копии, потом платформуДа, как при откате конфигурации

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

Что подготовить до отката

  • 📦 Дистрибутив прежней версии платформы. Его скачивают с портала обновлений по договору ИТС. Если старая версия ещё не удалена с компьютера, качать ничего не нужно.
  • 💾 Свежую выгрузку базы в .dt — даже если вы собираетесь её откатывать. Без неё вы не сможете вернуться к текущему состоянию, если откат пойдёт не так.
  • 🔢 Номер версии, на которую возвращаетесь. Его удобно посмотреть в папке C:\Program Files\1cv8\ — там каталог на каждую установленную версию.
  • 🧾 Минимальную версию платформы для вашего релиза конфигурации. Она указана в сопроводительных файлах релиза. Если откатить платформу ниже этого номера, база просто не запустится.

Выгрузку в .dt делают через Конфигуратор → Администрирование → Выгрузить информационную базу. Для неё нужно, чтобы в базе не работали другие пользователи.

Что у вас сломалось после обновления?

Как откатить платформу 1С в файловой базе

Платформы разных версий спокойно живут на одном компьютере. Каждая ставится в свой каталог вида C:\Program Files\1cv8\8.3.24.1548\. Поэтому «откат» платформы — это не удаление новой, а выбор старой для конкретной базы.

Способ 1. Указать версию в свойствах базы

  1. Если старой версии нет в C:\Program Files\1cv8\, установите её из дистрибутива (setup.exe). Новую версию удалять не обязательно.
  2. В окне запуска 1С выделите базу и нажмите Изменить.
  3. Пройдите мастер до последней страницы. Там есть поле «Версия 1С:Предприятия».
  4. Впишите нужный номер, например 8.3.24.1548. Можно указать только начало — 8.3.24: тогда запустится самая свежая из установленных сборок этой ветки.
  5. Нажмите Готово и запустите базу. Проверьте номер в Справка → О программе.

💡 Пустое поле версии означает «запускать самой новой установленной платформой». Именно поэтому после установки обновления все базы сами переходят на новую версию.

Способ 2. Удалить новую версию платформы

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

После удаления базы с пустым полем версии запустятся на самой новой из оставшихся платформ.

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

Способ 3. Запустить базу конкретным 1cv8.exe

Для разовой проверки не нужно трогать настройки базы. Запустите исполняемый файл нужной версии напрямую с указанием пути к базе (пример — в разделе про ключи запуска ниже).

Если старая версия ставилась для всех пользователей терминала

На терминальном сервере список баз у каждого пользователя свой. Поле версии придётся менять в каждом профиле или централизованно — через общий файл списка баз, если он у вас настроен. В файле ibases.v8i нужная строка в описании базы выглядит как Version=8.3.24.

Как откатить платформу на сервере 1С

В клиент-серверном варианте главное правило — версия клиента должна совпадать с версией сервера до последней цифры сборки. Откатили сервер, но не откатили клиентов — пользователи получат ошибку соединения о несоответствии версий. И наоборот.

Порядок отката сервера на Windows

  1. Предупредите пользователей и выберите окно без работы. При остановке службы оборвутся все сеансы, несохранённые документы пропадут.
  2. Сделайте выгрузку каждой базы кластера в .dt или резервную копию средствами СУБД.
  3. Скопируйте каталог настроек кластера (по умолчанию C:\Program Files\1cv8\srvinfo) в отдельное место. В нём хранится реестр кластера со списком баз.
  4. Остановите службу «Агент сервера 1С:Предприятия 8.3» в оснастке services.msc.
  5. Установите старую версию сервера из дистрибутива. В установщике отметьте компоненты «Сервер 1С:Предприятия 8» и установку как службы Windows.
  6. Убедитесь, что служба теперь запускает ragent.exe из каталога старой версии. Путь видно в свойствах службы, поле «Исполняемый файл».
  7. Запустите службу и откройте консоль администрирования — базы кластера должны быть на месте.
  8. Поставьте ту же версию клиента на все рабочие места и укажите её в свойствах баз.

Если служба осталась от новой версии

Установщик не всегда перерегистрирует службу. Тогда это делают вручную из каталога bin старой версии:

cd "C:\Program Files\1cv8\8.3.24.1548\bin"
ragent.exe -rmsrvc
ragent.exe -instsrvc -usr .\USR1CV8 -pwd ПарольСлужбы -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"
ragent.exe -start

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

💡 Консоль администрирования тоже привязана к версии. После отката зарегистрируйте radmin.dll нужной версии командой regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll" от имени администратора, иначе консоль может не подключиться к кластеру.

Две версии сервера параллельно

Если откатить нужно только одну базу, можно не трогать основной кластер. Старую версию сервера поднимают второй службой на других портах (например, агент 2540, менеджер 2541, диапазон 2560:2591) и с отдельным каталогом srvinfo. Базу регистрируют во втором кластере и подключаются к ней как сервер:2541.

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

Сервер на Linux

Пакеты разных версий ставятся в каталоги /opt/1cv8/x86_64/8.3.xx.xxxx/. Откат сводится к тому, чтобы systemd-служба srv1cv8 запускала ragent нужной версии. Конкретный способ зависит от того, как служба была зарегистрирована, — смотрите файл юнита на вашем сервере.

Как вернуть прежнюю версию конфигурации

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

Поэтому рабочих путей три.

Вариант 1. Резервная копия, сделанная при обновлении

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

  1. Выгрузите текущую базу в .dt — на всякий случай.
  2. Откройте Конфигуратор → Администрирование → Загрузить информационную базу.
  3. Выберите файл копии и подтвердите загрузку.
  4. Запустите базу в режиме 1С:Предприятие и проверьте номер релиза в Справка → О программе.

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

Вариант 2. Копия средствами СУБД

Для серверной базы на MS SQL или PostgreSQL копию часто делает администратор по расписанию. Её восстанавливают средствами СУБД в ту же базу (с остановкой работы пользователей) или в новую, которую затем регистрируют в кластере. Второй вариант безопаснее: можно сверить данные, не теряя текущую базу.

Вариант 3. Хранилище конфигурации или старый .cf — только для доработанных баз

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

Загрузку старого .cf через Конфигурация → Загрузить конфигурацию из файла используют только в тестовой копии: например, чтобы сравнить, что поменялось в новом релизе, через Конфигурация → Сравнить конфигурации.

Если копии нет

Честный ответ: прежний релиз без копии не вернуть. Обычно и не нужно — разумнее:

  • 🔍 найти, какая именно функция сломалась, и проверить, нет ли исправления в следующем релизе или в разделе исправлений (патчей) в Администрирование → Интернет-поддержка и сервисы;
  • 🧩 обновить внешние обработки и печатные формы — они часто ломаются после обновления именно из-за изменений в типовой конфигурации;
  • 📨 написать на линию поддержки разработчика конфигурации с текстом ошибки.

Ключи запуска и режим совместимости при откате

Запуск нужной версии из командной строки

Ярлык с явным путём к 1cv8.exe гарантирует, что база откроется нужной платформой, независимо от настроек списка баз:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Buh" /N"Администратор" /P"пароль"

Для серверной базы вместо /F указывают /S"server1c\buh". Для входа в Конфигуратор замените ENTERPRISE на DESIGNER.

КлючЧто делает
ENTERPRISE / DESIGNERРежим запуска: пользовательский или Конфигуратор
/F"путь"Файловая база по пути к каталогу
/S"сервер\база"Серверная база
/N и /PИмя пользователя и пароль
/AppAutoCheckVersion-Отключает автоматический подбор версии платформы под базу

Не храните пароль администратора в ярлыке на общих компьютерах. Для разовой проверки ключи /N и /P можно опустить — 1С спросит их при входе.

Режим совместимости конфигурации

У конфигурации есть свойство «Режим совместимости». Его видно в Конфигураторе: откройте свойства корня дерева конфигурации и найдите группу «Совместимость». Значение вроде Версия 8.3.24 означает, что конфигурации нужна платформа с номером не ниже 8.3.24.

Отсюда практический вывод: платформу можно откатить только до номера не ниже режима совместимости и не ниже минимальной версии из требований релиза. Если релиз требует 8.3.24, а вы ставите 8.3.22, база не откроется.

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

Ошибки после отката и как их убрать

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

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

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

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