Вернуть 1С к состоянию до обновления: конфигурация, платформа и база на SQL
Содержание
Кнопки «отменить обновление» в 1С 8.3 нет. Откатить обновление конфигурации
можно только восстановлением базы из резервной копии, сделанной до обновления: выгрузки .dt, копии файла 1Cv8.1CD или бэкапа MS SQL / PostgreSQL. Исключение одно: если новый релиз загружен в конфигураторе, но ещё не применён к базе, его снимают командой Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД.
Откат платформы — отдельная история. Старая версия 8.3 обычно остаётся на компьютере рядом с новой, и базу достаточно переключить на неё в окне запуска. На сервере 1С откат сложнее: службу агента сервера нужно перерегистрировать на прежнюю версию, а клиенты должны работать на той же сборке.
Что сделать до отката: копия текущего состояния и диагностика
Откат — тоже изменение базы. Перед ним зафиксируйте то, что есть сейчас, даже если релиз «сломал всё».
- 📦 Сохраните текущую базу. Выгрузите
.dtчерезАдминистрирование → Выгрузить информационную базув конфигураторе или сделайте бэкап СУБД. Эта копия понадобится, если после отката придётся достать из неё документы, введённые уже на новом релизе. - 🕒 Найдите копию «до». Проверьте дату и время резервной копии. Всё, что пользователи ввели после этого момента, после восстановления пропадёт.
- 🔢 Запишите версии. Номер релиза конфигурации виден в
Справка → О программе(знак вопроса в правом верхнем углу), там же — версия платформы. Запишите обе цифры до обновления и после. - 🧩 Проверьте расширения. Если в базе есть расширения, обновлённые под новый релиз, после отката они могут не подключиться.
- 🔍 Убедитесь, что проблема в релизе. Ошибку «после обновления» иногда даёт не конфигурация, а кэш клиента или новая платформа. Иногда хватает запуска с ключом
/ClearCacheили переключения на прежнюю версию платформы, и база остаётся на новом релизе.
Восстановление из копии заменяет данные целиком. Договоритесь с пользователями, кто и что перевведёт за период между копией и откатом, и только потом начинайте.
| Способ | Когда подходит | Чем рискуете |
|---|---|---|
| Возврат к конфигурации БД | Релиз загружен, но «Обновить конфигурацию базы данных» не выполняли | Почти ничем, данные не трогаются |
Загрузка .dt | Файловая или серверная база, копия сделана в конфигураторе | Потеря данных после даты копии |
Замена файла 1Cv8.1CD | Файловая база, есть копия папки | То же, плюс ошибка, если файл копировали при открытой базе |
| Восстановление бэкапа SQL | Клиент-серверная база | То же; нужно право на восстановление в СУБД |
Загрузка .cf поверх данных | Копии нет совсем | Рассинхрон данных и версии, возможна потеря реквизитов |
| Смена версии платформы | Сломалось после обновления платформы, а не релиза | Конфигурация может требовать номер платформы не ниже нового |
Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Данные не затрагиваются.Способ 1. Откатить обновление 1С из резервной копии
Это основной и самый надёжный путь. После восстановления база — точно та, что была в момент копии: конфигурация, данные, настройки поддержки, пользователи.
Загрузка выгрузки .dt
- Попросите всех выйти из базы. Для загрузки нужен монопольный доступ.
- Откройте базу в режиме
Конфигуратор. - Выберите
Администрирование → Загрузить информационную базу. - Укажите файл
.dt, сделанный до обновления, и подтвердите замену данных. - Дождитесь сообщения о завершении. На базе в 20–30 ГБ загрузка может идти час и дольше.
- Запустите базу в режиме
1С:Предприятиеи проверьте номер релиза вСправка → О программе.
Загрузка .dt полностью стирает текущее содержимое базы. Поэтому копию текущего состояния делают до этого шага, а не после.
Замена файла 1Cv8.1CD в файловой базе
Если вы копировали папку файловой базы целиком, откат — это обратная замена файла.
- Закройте базу у всех пользователей, включая фоновые сеансы на других компьютерах.
- Переименуйте текущий
1Cv8.1CD, например в1Cv8_posle_obnovleniya.1CD. - Положите в папку файл
1Cv8.1CDиз копии. - Запустите базу.
Если 1С при открытии ругается на повреждение файла, копию, скорее всего, снимали при открытой базе. Тогда попробуйте .dt или более раннюю копию. Утилита chdbfl.exe из папки bin платформы проверяет файловую базу
, но чинить ею копию «до обновления» имеет смысл, только если других копий нет.
Копия, сделанная помощником обновления
В типовых конфигурациях на БСП встроенный помощник обновления файловой базы предлагает перед установкой релиза создать резервную копию. Настройки резервного копирования в БП 3.0 и ЗУП 3.1 находятся в Администрирование → Обслуживание → Резервное копирование и восстановление. Там же видно, куда сохраняются копии. Найдите в этой папке архив с датой обновления и восстановите его тем же разделом или вручную распакуйте 1Cv8.1CD.
Способ 2. Откат обновления конфигурации в конфигураторе
Релиз загружен, но к базе не применён
Обновление в конфигураторе проходит в два этапа. Сначала новый релиз попадает в основную конфигурацию, потом команда Конфигурация → Обновить конфигурацию базы данных меняет структуру данных.
Если второй шаг не выполнялся или прервался, откатитесь так:
- Откройте
Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. - Подтвердите, что изменения основной конфигурации будут потеряны.
- Проверьте
Конфигурация → Поддержка → Настройка поддержки: там должен стоять прежний номер версии.
Данные базы при этом не меняются, потому что их структура ещё старая.
Релиз уже применён к базе
Здесь конфигуратор не поможет. Можно загрузить старый релиз через Конфигурация → Загрузить конфигурацию из файла (файл .cf) и снова обновить конфигурацию
базы данных. Но это не откат:
- ❌ обработчики обновления нового релиза уже переписали часть данных под новую логику, обратно их никто не переведёт;
- ❌ реквизиты и объекты, добавленные новым релизом, будут удалены вместе с данными в них;
- ❌ загрузка
.cfзаменяет конфигурацию целиком, доработки и настройки поддержки придётся восстанавливать отдельно; - ❌ программа на БСП может при запуске сравнить версию конфигурации с версией, записанной в данных, и отказаться работать или повторно запустить обновление.
Если копии нет, а новый релиз падает на конкретной операции, сначала поищите исправление: следующий релиз, обходной путь, расширение. Загрузка старого .cf поверх данных — крайняя мера, и делают её на копии базы, а не на рабочей.
Способ 3. Откат обновления платформы 1С 8.3
Платформа и конфигурация обновляются независимо. Новая версия платформы ставится в отдельную папку, например C:\Program Files\1cv8\8.3.25.1374, а прежние остаются рядом, пока их не удалят.
На рабочем месте пользователя
- В окне запуска выделите базу и нажмите
Изменить. - Пройдите мастер до последней страницы и в поле
Версия 1С:Предприятияукажите прежний номер полностью, например8.3.24.1548. - Нажмите
Готовои запустите базу.
Если прежней версии на компьютере уже нет, установите её дистрибутив заново. Новую версию удалять необязательно: удаление через Параметры Windows → Приложения или appwiz.cpl нужно, только если она мешает другим базам.
Перед откатом платформы проверьте требование релиза. Каждый релиз конфигурации задаёт минимальную версию платформы. Если номер прежней платформы ниже этого минимума, база на ней не запустится, и тогда откатывать придётся и релиз.
На сервере 1С:Предприятия
В клиент-серверном варианте версия клиента должна совпадать с версией сервера до последней цифры сборки. Поэтому откат сервера всегда тянет за собой откат клиентов.
Остановка службы агента сервера обрывает сеансы всех пользователей всех баз кластера. Делайте это вечером или в согласованное окно.
- Остановите службу
Агент сервера 1С:Предприятия 8.3вservices.msc. - Запустите установщик прежней версии сервера и отметьте установку сервера как службы Windows. Если служба при этом не перерегистрировалась, удалите старую регистрацию и зарегистрируйте
ragent.exeиз папки прежней версии:
"C:\Program Files\1cv8\8.3.24.1548\bin\ragent.exe" -instsrvc -usr ".\USR1CV8" -pwd "пароль" -regport 1541 -port 1540 -range 1560:1591 -d "C:\Program Files\1cv8\srvinfo" -srvc -agent
- Укажите ту же папку
srvinfo, что использовалась раньше: в ней хранится реестр кластера со списком баз. - Запустите службу и подключитесь консолью администрирования.
- На клиентах переключите версию платформы, как описано выше.
Способ 4. Консоль администрирования серверов 1С при откате
Сама консоль ничего не откатывает. Она нужна, чтобы откат прошёл без пользователей в базе.
Блокировка сеансов перед восстановлением
- В консоли раскройте
Кластеры → <ваш кластер> → Информационные базы, откройте свойства нужной базы. - Включите
Блокировка начала сеансов включена, задайте время и текст сообщения для пользователей. - Отметьте
Блокировка регламентных заданий включена, чтобы фоновые задания не держали соединения. - В ветке
Сеансыбазы завершите оставшиеся сеансы. Предупредите людей заранее: несохранённые документы пропадут.
После восстановления снимите обе блокировки, иначе пользователи не войдут.
Консоль не открывается после смены версии
Консоль работает через radmin.dll конкретной версии платформы. После отката сервера зарегистрируйте библиотеку из папки прежней версии, командная строка от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.24.1548\bin\radmin.dll"
Без этого консоль либо не видит сервер, либо ругается на несовпадение версий. Вместо консоли можно пользоваться утилитой rac; список кластеров выводит rac cluster list, остальные команды смотрите в rac help.
Откат клиент-серверной базы на MS SQL и PostgreSQL
Для серверной базы бэкап СУБД быстрее и надёжнее .dt, особенно на больших объёмах. Восстанавливать его нужно при заблокированных сеансах 1С.
Копия перед обновлением в MS SQL
BACKUP DATABASE [buh] TO DISK = N'D:\Backup\buh_do_obnovleniya.bak'
WITH COPY_ONLY, STATS = 10;
COPY_ONLY не ломает цепочку регулярных бэкапов. Сжатие COMPRESSION экономит место, но в SQL Server Express его нет.
Восстановление в MS SQL
ALTER DATABASE [buh] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
RESTORE DATABASE [buh] FROM DISK = N'D:\Backup\buh_do_obnovleniya.bak'
WITH REPLACE, STATS = 10;
ALTER DATABASE [buh] SET MULTI_USER;
Первая команда обрывает все соединения с базой, включая рабочие процессы 1С. Поэтому сначала блокировка сеансов в консоли, потом скрипт.
PostgreSQL
Копию снимают pg_dump, восстанавливают pg_restore в пустую базу:
pg_dump -U postgres -Fc -f D:\Backup\buh_do_obnovleniya.dump buh
pg_restore -U postgres -d buh_restore D:\Backup\buh_do_obnovleniya.dump
Удобно восстановить копию в новую базу buh_restore, проверить её, а потом в свойствах информационной базы в консоли поменять имя базы на сервере СУБД. Старая база при этом остаётся как запасной вариант.
Не восстанавливайте бэкап SQL, если в кластере сменилась версия платформы и база уже открывалась на новой версии: сначала верните сервер 1С к той версии, на которой делалась копия.
Ошибки после отката обновления 1С и как их убрать
Администрирование → Печатные формы, отчеты и обработки и верните прежнюю версию расширения из копии.При чистке кэша закройте 1С у этого пользователя полностью. Папки с длинными именами из букв и цифр внутри %APPDATA%\1C\1cv8 — это кэш баз, их можно удалять; список баз хранится в файле ibases.v8i в %APPDATA%\1C\1CEStart, его не трогайте.
Как обновлять 1С, чтобы откат не понадобился
Откат почти всегда дороже, чем подготовка. Несколько привычек снимают большую часть проблем.
- 🧪 Сначала копия базы
. Разверните рабочую базу из
.dtв отдельную тестовую, обновите её и проверьте ключевые операции: проведение документов, закрытие месяца , печать, обмены. - 📋 Читайте описание релиза. Смотрите требование к версии платформы и список изменённых объектов, особенно если у вас есть доработки или расширения.
- 💾 Копия прямо перед обновлением. Не вчерашняя ночная, а снятая после выхода пользователей. Для файловой базы —
.dtили копия папки при закрытой базе, для серверной — бэкап СУБД сCOPY_ONLY. - ⏸️ Не перескакивайте через платформу и релиз одновременно. Обновили платформу — поработайте день, потом ставьте релиз. Так сразу видно, кто виноват.
- 🖥️ Не удаляйте прежнюю платформу сразу. Пусть постоит неделю-две: переключение версии в окне запуска займёт минуту.
- 🗓️ Обновляйте не в отчётный период. Последние дни перед сдачей отчётности и закрытием месяца — худшее время для нового релиза.