Откат 1С после неудачного обновления: платформа, конфигурация, кэш
Содержание
Удалить обновление 1С одной кнопкой нельзя: в программе нет команды «отменить обновление». Новую версию платформы снимают средствами Windows в Панель управления → Программы и компоненты, а прежнюю версию конфигурации возвращают только из резервной копии, сделанной до обновления. Исключение одно: если релиз загружен в Конфигураторе, но базу ещё не обновили, его можно отменить командой Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД.
Частая ошибка — думать, что удаление платформы откатит и базу. Не откатит. Платформа и конфигурация обновляются отдельно, и откатываются тоже отдельно. Сначала определите, что именно вы обновили, потом выбирайте способ.
Перед откатом: копия базы и три проверки
Откат — это тоже вмешательство в базу. Сделайте копию текущего состояния базы, даже если оно «сломанное». Если откат пойдёт не так, вам будет куда вернуться.
Как сделать копию:
- Попросите всех пользователей выйти из программы.
- Откройте базу в режиме Конфигуратора.
- Выберите
Администрирование → Выгрузить информационную базуи сохраните файл.dtна другой диск или в облако. - Для файловой базы дополнительно скопируйте файл
1Cv8.1CDиз каталога базы. Копировать его можно только когда в базе никого нет.
Для клиент-серверной базы копию делает администратор СУБД средствами Microsoft SQL Server или PostgreSQL. Файл .dt тоже пригодится, но на больших базах выгрузка идёт долго.
Перед началом ответьте себе на три вопроса:
- 🔍 Что обновлялось? Номер платформы виден в окне
Справка → О программе. Номер релиза конфигурации — там же, строкой ниже. - 📦 Есть ли копия «до»? Ищите файл
.dtили копию каталога базы с датой обновления. Программа, которая обновлялась черезАдминистрирование → Обслуживание, могла сама сохранить копию в каталог, указанный в настройках резервного копирования. - 📝 Что вводили после обновления? Все документы, введённые после него, при восстановлении из копии пропадут. Выгрузите их список заранее, чтобы потом ввести заново.
Часто «откатывать» ничего не нужно. Если после обновления не открывается одна печатная форма или отчёт, сначала отключите внешние обработки и расширения. Нередко ломается именно доработка, а не сам релиз.
Удаление обновления платформы 1С через «Программы и компоненты»
Каждая версия платформы ставится в свою папку: C:\Program Files\1cv8\8.3.xx.xxxx. Новая версия не затирает старую. Поэтому после обновления на компьютере обычно стоят две или больше платформ, и удалить можно лишнюю, не трогая остальные.
Какие версии уже стоят
Список удобно посмотреть одной командой. Откройте командную строку и выполните:
dir "C:\Program Files\1cv8" /b
dir "C:\Program Files (x86)\1cv8" /b
Папки с номерами — это установленные платформы. Папки common и conf служебные, их не трогают. Сравните список с номером из Справка → О программе: так вы поймёте, на какой сборке база работала до обновления и куда возвращаться.
Если на компьютере стоят и 32-, и 64-разрядные платформы одной версии, удалять нужно обе копии новой сборки. Иначе база может продолжить запускаться на оставшейся.
Порядок удаления
- Закройте все окна 1С на этом компьютере.
- Откройте
Панель управления → Программы и компоненты. В Windows 10 и 11 то же самое есть вПараметры → Приложения → Установленные приложения. - Найдите строки вида «1С:Предприятие 8 (x86-64) (8.3.xx.xxxx)». У 32-разрядной версии в названии нет «x86-64».
- Выделите версию, которую хотите убрать, и нажмите «Удалить».
- Проверьте, что папка этой версии исчезла из
C:\Program Files\1cv8илиC:\Program Files (x86)\1cv8.
Не удаляйте все версии подряд. Если на компьютере не останется ни одной платформы, базы не откроются вовсе. Сначала убедитесь, что нужная старая версия на месте.
Можно не удалять, а переключить версию
Удалять платформу не обязательно. В окне запуска выделите базу, нажмите «Изменить» и на последней странице мастера заполните поле «Версия 1С:Предприятия». Можно указать номер целиком (8.3.24.1548) или его начало (8.3.24) — тогда запустится последняя установленная сборка этой ветки.
Так удобно, если на одном компьютере разные базы требуют разных версий. Новая платформа остаётся на диске, но конкретная база запускается на старой.
Клиент-серверная база
Здесь правило жёсткое: версия клиента должна совпадать с версией сервера 1С до последней цифры. Если откатили платформу на сервере, на всех рабочих местах нужна та же сборка. Иначе при входе появится сообщение о несоответствии версий клиента и сервера.
Сервер откатывают так же — удаляют новую версию и проверяют, что служба агента сервера запущена из папки старой версии. Остановка службы сервера 1С обрывает сеансы всех пользователей: делайте это вечером или в выходной, предупредив людей заранее.
Как откатить обновление конфигурации 1С к прежнему релизу
С конфигурацией сложнее. При обновлении меняется не только программа, но и данные: запускаются обработчики обновления, которые переносят информацию в новые регистры и реквизиты. Поэтому «просто загрузить старый релиз» поверх нового нельзя.
Релиз загружен, но базу ещё не обновили
Так бывает при обновлении через Конфигуратор: релиз загрузили в основную конфигурацию, а на вопрос об обновлении базы ответили «Нет». Или обновление прервалось ошибкой.
- Откройте базу в Конфигураторе.
- Выберите
Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. - Подтвердите действие.
Основная конфигурация вернётся к состоянию базы данных. Данные не затрагиваются, копия не нужна.
Базу уже обновили: восстановление из копии
Это единственный надёжный способ вернуть прежний релиз.
- Пользователи выходят из программы.
- Откройте базу в Конфигураторе.
- Выберите
Администрирование → Загрузить информационную базуи укажите файл.dt, сделанный до обновления. - Подтвердите, что текущие данные будут заменены.
- После загрузки зайдите в базу и проверьте номер релиза в
Справка → О программе.
Для файловой базы можно поступить ещё проще: заменить файл 1Cv8.1CD в каталоге базы копией «до обновления». Текущий файл не удаляйте, а переименуйте — он ещё может пригодиться.
Для клиент-серверной базы восстанавливают резервную копию в СУБД. Это работа администратора SQL: восстановить бэкап в ту же или в новую базу данных и, если нужно, перенаправить информационную базу в консоли кластера.
Почему не стоит загружать старый .cf поверх нового
Технически Конфигуратор позволяет загрузить файл старой конфигурации через Конфигурация → Загрузить конфигурацию из файла. Но данные к этому моменту уже переработаны под новый релиз. Старая конфигурация может не найти нужных ей реквизитов, а часть информации при реструктуризации будет удалена.
| Способ | Когда подходит | Риски |
|---|---|---|
| Вернуться к конфигурации БД | Релиз загружен, база не обновлена | Почти нет |
Загрузка .dt из копии | Есть выгрузка до обновления | Потеря документов, введённых после копии |
Замена файла 1Cv8.1CD | Файловая база, есть копия файла | То же, плюс нужен монопольный доступ к каталогу |
| Восстановление бэкапа СУБД | Клиент-серверная база | Нужен администратор SQL |
Загрузка старого .cf | Не подходит для рабочей базы | Потеря и порча данных |
Если копии нет, а релиз мешает работать, откат лучше не изобретать. Напишите в поддержку своей конфигурации, проверьте, не вышел ли исправленный релиз, или временно обойдите ошибку внешней обработкой.
Очистка кэша 1С после удаления обновления
После смены версии платформы или релиза программа может открываться с ошибками: формы «прыгают», пропадают кнопки, появляются сообщения о несоответствии метаданных. Чаще всего виноват кэш — локальная копия конфигурации на компьютере пользователя.
Самый мягкий способ — запустить базу с параметром очистки кэша:
- В окне запуска выделите базу и нажмите «Изменить».
- На последней странице мастера в поле «Дополнительные параметры запуска» впишите
/ClearCache. - Запустите базу один раз, потом параметр уберите.
Если не помогло, удалите кэш вручную. Он лежит в двух местах:
%APPDATA%\1C\1cv8
%LOCALAPPDATA%\1C\1cv8
Внутри — папки с именами вида a1b2c3d4-... (идентификаторы баз). Удалите эти папки, предварительно закрыв 1С. При следующем входе программа создаст кэш заново, первый запуск будет немного дольше.
Файл со списком баз ibases.v8i лежит в другой папке — %APPDATA%\1C\1CEStart. Его трогать не нужно. На всякий случай сделайте его копию перед чисткой.
На терминальном сервере кэш хранится в профиле каждого пользователя. Чистить его нужно у всех, кто работает с базой, и только когда они вышли из 1С.
Временные файлы обновления в каталоге базы и на диске
Обновление оставляет после себя мусор. Часть его безопасно удалить, часть трогать нельзя.
Каталог файловой базы
Откройте папку, путь к которой виден в окне запуска внизу при выделении базы. Что там лежит:
- 📁
1Cv8.1CD— сама база. Не удалять никогда. - 🗑
1Cv8tmp.1CD— временный файл, создаётся при реструктуризации и тестировании. Если в базе никого нет, а файл остался после сбоя, его можно удалить. - 📁 папка
1Cv8Log— журнал регистрации. Её не удаляют: там история действий пользователей. - 📁 папка
1Cv8FTxt— индекс полнотекстового поиска. Удалять не нужно, при необходимости индекс перестраивают из программы.
Удаляйте временный файл только когда база закрыта у всех. Если кто-то работает, файл занят, а попытка удаления может прервать операцию.
Шаблоны конфигураций и файлы обновлений
Скачанные релизы и файлы обновлений .cfu складываются в каталог шаблонов. По умолчанию это:
%APPDATA%\1C\1cv8\tmplts
Со временем там копятся гигабайты старых релизов. Удалите папки ненужных версий, но оставьте ту, до которой откатились: она может понадобиться для повторного обновления. Путь к каталогу шаблонов можно поменять в окне запуска через кнопку «Настройка».
Файлы, скачанные встроенным помощником обновления, обычно оказываются во временной папке Windows %TEMP%. Её чистят стандартной очисткой диска.
Ярлыки, реестр и COM-компоненты после удаления версии
После удаления платформы ломается то, что было привязано к конкретной папке версии.
Ярлык не запускает 1С
Ярлык на рабочем столе мог вести прямо в C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe. Папки больше нет — ярлык мёртв. Сделайте новый ярлык на общий стартер:
C:\Program Files\1cv8\common\1cestart.exe
Стартер сам найдёт установленную платформу и откроет окно выбора баз. Так ярлыки переживают любые будущие обновления.
Перестала работать внешняя связь через COM
Если 1С обменивается данными с другой программой через COM-соединение (V83.COMConnector), после удаления версии компонента может указывать на удалённый файл. Зарегистрируйте её заново из оставшейся версии. Командную строку запустите от имени администратора:
regsvr32 "C:\Program Files\1cv8\8.3.xx.xxxx\bin\comcntr.dll"
Подставьте номер версии, которая осталась на компьютере. Разрядность библиотеки должна совпадать с разрядностью программы, которая подключается к 1С.
Так же перерегистрируют radmin.dll, если после отката перестала открываться консоль администрирования серверов 1С.
Хвосты в реестре
Ручная чистка реестра почти никогда не нужна. Если удаление из «Программ и компонентов» завершилось ошибкой и строка версии осталась в списке, запустите установщик той же версии повторно и выберите удаление. Он сам уберёт записи. Править ветки реестра вручную без опыта не стоит: легко задеть соседние программы.