Вернуть прежнюю версию 1С после неудачного обновления: платформа, конфигурация, база

· 9 мин

Содержание

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

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

Что откатывать: платформу, конфигурацию или всю базу

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

  • 🧩 Платформа (технологическая часть, 1cv8.exe, сервер 1С). Данные базы она не меняет, откат простой.
  • 📦 Конфигурация (Бухгалтерия, ЗУП, УТ). Меняет структуру таблиц и запускает обработчики, которые переписывают данные. Откат сложнее.
  • 🗄 База целиком. Возврат к состоянию на момент копии: старая конфигурация вместе со старыми данными.
СпособКогда подходитЧто теряетеРиск
Выбрать прежнюю версию платформыПосле обновления платформы база падает, тормозит, не печатаетНичегоНизкий
«Вернуться к конфигурации БД»Обновление загружено, но не записано в базуНичегоНизкий
Загрузить .dt из копииОбновление прошло, база работает неправильноВсё, что ввели после копииСредний
Загрузить старый .cfКопии нет, данные после обновления нужныНовые реквизиты и их значенияВысокий
Версия из хранилищаДоработанная конфигурация на групповой разработкеИзменения после выбранной версииСредний
Что у вас сломалось после обновления?

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

Новая версия платформы ставится рядом со старой, в отдельную папку: C:\Program Files\1cv8\8.3.xx.xxxx\. Старая не удаляется, если вы не сделали этого вручную. Это и делает откат платформы почти бесплатным.

Файловая база и клиент

  1. Откройте окно запуска 1С, выделите базу и нажмите Изменить.
  2. Пройдите мастер до последней страницы.
  3. В поле Версия 1С:Предприятия укажите прежнюю версию, например 8.3.24 или полный номер 8.3.24.1691.
  4. Нажмите Готово и запустите базу.

Значение попадает в файл списка баз ibases.v8i строкой Version=. Если базу на рабочие места раздают общим списком, поправьте версию в этом файле один раз, и она подтянется всем.

[Бухгалтерия предприятия]
Connect=File="D:\Bases\Buh";
Version=8.3.24

Если старую версию уже удалили, скачайте её дистрибутив в личном кабинете на портале поддержки и установите. Номер прежней версии виден в истории установки или в папке C:\Program Files\1cv8\.

Клиент-серверный вариант

Здесь правило жёсткое: версия клиента должна совпадать с версией сервера 1С до последней цифры. Поэтому откатывают сразу и сервер, и все клиенты.

  1. Предупредите пользователей и дождитесь, пока все выйдут. Остановка службы сервера 1С обрывает все сеансы.
  2. Остановите службу «Агент сервера 1С:Предприятия 8.3».
  3. Установите сервер прежней версии и зарегистрируйте его как службу (флажок в установщике).
  4. Отключите автозапуск службы новой версии, чтобы на одном порту не стартовали две.
  5. На клиентах установите ту же версию и укажите её в настройках базы.

Регистрацию службы можно сделать и вручную из папки bin нужной версии:

rem удалить службу новой версии (запускать из её папки bin)
ragent.exe -rmsrvc

rem зарегистрировать службу старой версии (из её папки bin)
ragent.exe -instsrvc -usr .\USR1CV8 -pwd Пароль -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo"

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

Отмена обновления конфигурации в Конфигураторе

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

Пока второго этапа не было, откат занимает минуту:

  1. Откройте базу в Конфигураторе.
  2. Выберите Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД.
  3. Подтвердите. Основная конфигурация станет такой же, как в базе.

Этот приём выручает, когда обновление прервалось на сравнении-объединении или вы поняли, что взяли не тот файл .cfu.

Если обновление уже записано в базу

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

Что важно знать про этот путь:

  • ❗ Реквизиты и таблицы, которых нет в старом релизе, будут удалены вместе с данными. Конфигуратор покажет список изменений структуры — прочитайте его, а не нажимайте «Принять» сразу.
  • ❗ Данные, которые обработчики обновления уже преобразовали, обратно не вернутся. Возможны ошибки в отчётах и проведении.
  • ❗ Если конфигурацию дорабатывали, загрузка типового .cf сотрёт доработки. Нужен .cf именно вашей базы до обновления.

Используйте загрузку .cf только когда копии базы нет, а терять введённые после обновления документы нельзя. Затем сразу проверьте базу (Администрирование → Тестирование и исправление в Конфигураторе) и ключевые отчёты.

Откат конфигурации через хранилище

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

  1. В Конфигураторе откройте Конфигурация → Хранилище конфигурации → История хранилища.
  2. Найдите версию до обновления: обычно у неё комментарий вроде «Обновление на релиз …» на следующей строке.
  3. Выделите её и сохраните в файл .cf.
  4. Загрузите этот файл в базу, где нужно откатиться, и обновите конфигурацию базы данных.

Хранилище откатывает только конфигурацию, не данные. Ограничения те же, что у загрузки .cf: новые реквизиты исчезнут, преобразованные данные останутся как есть.

Для рабочей базы чаще всего правильнее так: откатить данные из копии .dt, а хранилище использовать, чтобы откатить версию у разработчиков и заново подготовить обновление.

Если версию нужно откатить и в самом хранилище, договоритесь с командой: кто-то помещает старую версию как новую, с комментарием «Откат релиза …». Удалять историю хранилища не нужно.

Полный откат базы 1С из резервной копии

Это самый надёжный способ откатить обновления в 1С: база возвращается в точно такое состояние, в каком была перед обновлением. Цена — документы, введённые после копии, придётся завести заново.

Файловая база: загрузка .dt

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

Вместо копии .dt можно просто вернуть папку базы с файлом 1Cv8.1CD, если копировали её целиком при закрытой базе.

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

"C:\Program Files\1cv8\8.3.24.1691\bin\1cv8.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "Пароль" /RestoreIB "D:\Backup\buh_before_update.dt" /Out "D:\Backup\restore.log"

Серверная база: копия СУБД

На сервере .dt тоже работает, но для большой базы быстрее восстановить копию средствами СУБД. Перед обновлением её делают так (MS SQL):

BACKUP DATABASE [buh]
TO DISK = N'D:\Backup\buh_before_update.bak'
WITH COPY_ONLY, INIT;

COPY_ONLY не сбивает цепочку регулярных копий. Для PostgreSQL используйте pg_dump с форматом -Fc и pg_restore.

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

Откат в 1С:Линк и в облачных сервисах

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

Облако (1С:Фреш и подобные сервисы) устроено иначе:

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

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

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

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

Ещё одна неочевидная ловушка — кеш клиента. После смены платформы или конфигурации 1С иногда показывает старые формы или падает на открытии. Запустите базу с параметром /ClearCache или очистите папку кеша пользователя в %APPDATA%\1C\1cv8\ (в ней есть подпапки с длинными именами из букв и цифр). Делайте это при закрытой 1С.

Как обновлять 1С, чтобы откат не понадобился

Большинство откатов случаются из-за обновлений, которые ставили сразу в рабочую базу. Несколько привычек снимают проблему.

  1. Копия перед каждым обновлением. В Бухгалтерии 3.0 при обновлении через Администрирование → Обслуживание → Обновление версии программы можно включить создание копии. Для серверной базы — копия средствами СУБД.
  2. Подпишите копию. Имя вида buh_3.0.xxx_before_update.dt: через месяц важно понимать, к какому релизу она относится.
  3. Тестовая копия. Обновите сначала копию базы , проведите пару документов, сформируйте ОСВ и декларацию. Только потом обновляйте рабочую.
  4. Не спешите с новым релизом. Если обновление не срочное (не новые формы отчётности), подождите несколько дней: исправления часто выходят следом.
  5. Платформу — отдельно от конфигурации. Меняйте их в разные дни. Так сразу видно, что из двух вызвало сбой.
  6. Сохраняйте .cf доработанной базы перед обновлением: Конфигурация → Сохранить конфигурацию в файл.
Перед обновлением 1С
Выполнено: 0 / 5

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

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