Вернуть прежнюю версию 1С после неудачного обновления: платформа, конфигурация, база
Содержание
Откатить обновление
в 1С кнопкой «Отменить» нельзя. Платформу возвращают, указав в настройках базы прежнюю версию. Конфигурацию — восстановлением резервной копии .dt или загрузкой старого .cf. Есть и быстрый вариант: если обновление загружено в Конфигураторе, но команда Конфигурация → Обновить конфигурацию базы данных ещё не выполнялась, достаточно Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД.
Частая ошибка — сразу ставить старый релиз поверх нового. Пока база работала на новом релизе, обработчики обновления уже переделали данные под новую структуру. Старая конфигурация на таких данных может работать с ошибками. Поэтому сначала решите, что именно ломается, и только потом выбирайте способ отката.
Что откатывать: платформу, конфигурацию или всю базу
Обновление в 1С бывает двух видов, и откатываются они по-разному.
- 🧩 Платформа (технологическая часть,
1cv8.exe, сервер 1С). Данные базы она не меняет, откат простой. - 📦 Конфигурация (Бухгалтерия, ЗУП, УТ). Меняет структуру таблиц и запускает обработчики, которые переписывают данные. Откат сложнее.
- 🗄 База целиком. Возврат к состоянию на момент копии: старая конфигурация вместе со старыми данными.
| Способ | Когда подходит | Что теряете | Риск |
|---|---|---|---|
| Выбрать прежнюю версию платформы | После обновления платформы база падает, тормозит, не печатает | Ничего | Низкий |
| «Вернуться к конфигурации БД» | Обновление загружено, но не записано в базу | Ничего | Низкий |
Загрузить .dt из копии | Обновление прошло, база работает неправильно | Всё, что ввели после копии | Средний |
Загрузить старый .cf | Копии нет, данные после обновления нужны | Новые реквизиты и их значения | Высокий |
| Версия из хранилища | Доработанная конфигурация на групповой разработке | Изменения после выбранной версии | Средний |
Как откатить платформу 1С на предыдущую версию
Новая версия платформы ставится рядом со старой, в отдельную папку: C:\Program Files\1cv8\8.3.xx.xxxx\. Старая не удаляется, если вы не сделали этого вручную. Это и делает откат платформы почти бесплатным.
Файловая база и клиент
- Откройте окно запуска 1С, выделите базу и нажмите Изменить.
- Пройдите мастер до последней страницы.
- В поле Версия 1С:Предприятия укажите прежнюю версию, например
8.3.24или полный номер8.3.24.1691. - Нажмите Готово и запустите базу.
Значение попадает в файл списка баз ibases.v8i строкой Version=. Если базу на рабочие места раздают общим списком, поправьте версию в этом файле один раз, и она подтянется всем.
[Бухгалтерия предприятия]
Connect=File="D:\Bases\Buh";
Version=8.3.24
Если старую версию уже удалили, скачайте её дистрибутив в личном кабинете на портале поддержки и установите. Номер прежней версии виден в истории установки или в папке C:\Program Files\1cv8\.
Клиент-серверный вариант
Здесь правило жёсткое: версия клиента должна совпадать с версией сервера 1С до последней цифры. Поэтому откатывают сразу и сервер, и все клиенты.
- Предупредите пользователей и дождитесь, пока все выйдут. Остановка службы сервера 1С обрывает все сеансы.
- Остановите службу «Агент сервера 1С:Предприятия 8.3».
- Установите сервер прежней версии и зарегистрируйте его как службу (флажок в установщике).
- Отключите автозапуск службы новой версии, чтобы на одном порту не стартовали две.
- На клиентах установите ту же версию и укажите её в настройках базы.
Регистрацию службы можно сделать и вручную из папки 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С идёт в два этапа. Сначала изменения попадают в основную конфигурацию (её вы видите в дереве Конфигуратора). Потом команда «Обновить конфигурацию базы данных» переносит их в конфигурацию базы данных и перестраивает таблицы.
Пока второго этапа не было, откат занимает минуту:
- Откройте базу в Конфигураторе.
- Выберите
Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. - Подтвердите. Основная конфигурация станет такой же, как в базе.
Этот приём выручает, когда обновление прервалось на сравнении-объединении или вы поняли, что взяли не тот файл .cfu.
Если обновление уже записано в базу
Тогда остаётся загрузить старую конфигурацию целиком: Конфигурация → Загрузить конфигурацию из файла, выбрать .cf прежнего релиза и обновить конфигурацию
базы данных.
Что важно знать про этот путь:
- ❗ Реквизиты и таблицы, которых нет в старом релизе, будут удалены вместе с данными. Конфигуратор покажет список изменений структуры — прочитайте его, а не нажимайте «Принять» сразу.
- ❗ Данные, которые обработчики обновления уже преобразовали, обратно не вернутся. Возможны ошибки в отчётах и проведении.
- ❗ Если конфигурацию дорабатывали, загрузка типового
.cfсотрёт доработки. Нужен.cfименно вашей базы до обновления.
Используйте загрузку .cf только когда копии базы нет, а терять введённые после обновления документы нельзя. Затем сразу проверьте базу (Администрирование → Тестирование и исправление в Конфигураторе) и ключевые отчёты.
Откат конфигурации через хранилище
Если база подключена к хранилищу конфигурации, история версий у вас уже есть. Каждое помещение изменений — отдельная версия с датой, автором и комментарием.
- В Конфигураторе откройте
Конфигурация → Хранилище конфигурации → История хранилища. - Найдите версию до обновления: обычно у неё комментарий вроде «Обновление на релиз …» на следующей строке.
- Выделите её и сохраните в файл
.cf. - Загрузите этот файл в базу, где нужно откатиться, и обновите конфигурацию базы данных.
Хранилище откатывает только конфигурацию, не данные. Ограничения те же, что у загрузки .cf: новые реквизиты исчезнут, преобразованные данные останутся как есть.
Для рабочей базы чаще всего правильнее так: откатить данные из копии .dt, а хранилище использовать, чтобы откатить версию у разработчиков и заново подготовить обновление.
Если версию нужно откатить и в самом хранилище, договоритесь с командой: кто-то помещает старую версию как новую, с комментарием «Откат релиза …». Удалять историю хранилища не нужно.
Полный откат базы 1С из резервной копии
Это самый надёжный способ откатить обновления в 1С: база возвращается в точно такое состояние, в каком была перед обновлением. Цена — документы, введённые после копии, придётся завести заново.
Файловая база: загрузка .dt
- Сохраните текущее состояние, даже испорченное:
Администрирование → Выгрузить информационную базу. Оно пригодится, чтобы перенести документы, введённые после обновления. - Убедитесь, что в базе никто не работает .
- Выполните
Администрирование → Загрузить информационную базуи выберите.dtдо обновления. - Согласитесь с перезапуском Конфигуратора.
Вместо копии .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С, чтобы откат не понадобился
Большинство откатов случаются из-за обновлений, которые ставили сразу в рабочую базу. Несколько привычек снимают проблему.
- Копия перед каждым обновлением. В Бухгалтерии 3.0 при обновлении через
Администрирование → Обслуживание → Обновление версии программыможно включить создание копии. Для серверной базы — копия средствами СУБД. - Подпишите копию. Имя вида
buh_3.0.xxx_before_update.dt: через месяц важно понимать, к какому релизу она относится. - Тестовая копия. Обновите сначала копию базы , проведите пару документов, сформируйте ОСВ и декларацию. Только потом обновляйте рабочую.
- Не спешите с новым релизом. Если обновление не срочное (не новые формы отчётности), подождите несколько дней: исправления часто выходят следом.
- Платформу — отдельно от конфигурации. Меняйте их в разные дни. Так сразу видно, что из двух вызвало сбой.
- Сохраняйте
.cfдоработанной базы перед обновлением:Конфигурация → Сохранить конфигурацию в файл.