Возврат на предыдущую версию платформы 1С:Предприятие 8.3 без потери баз
Содержание
Откатить платформу 1С проще всего, не удаляя ничего: в списке баз откройте Изменить и в поле «Версия 1С:Предприятия» укажите прежний номер, например 8.3.22.1923. Если старая версия уже удалена, сначала поставьте её из дистрибутива, а новую уберите через «Программы и компоненты». Точка восстановления Windows нужна редко, а на сервере 1С возврат версии делают отдельной процедурой.
Выбор способа зависит от того, где сломалось. Одна база на одном компьютере — хватит закрепить версию. Новая версия мешает всем программам на машине — удаляйте её. Сервер 1С — меняйте версию агента сервера и всех клиентов разом.
Когда откат версии платформы 1С оправдан
Платформы 8.3 ставятся рядом друг с другом, каждая в свою папку: C:\Program Files\1cv8\8.3.24.1586, C:\Program Files\1cv8\8.3.22.1923 и так далее. Новая версия не затирает старую. Поэтому «откат» обычно означает просто вернуть запуск на прежнюю сборку.
Типовые поводы:
- 🐞 после обновления база стала падать, тормозить или неверно печатать формы;
- 🔌 перестало работать торговое оборудование, внешняя компонента или обработка обмена;
- 🧩 сторонняя программа обращается к 1С через COM (
V83.COMConnector) и ломается на новой версии; - 🖥️ клиент обновился сам, а сервер 1С остался на старой версии, и подключиться нельзя;
- 📦 новую сборку поставили «на пробу», а отраслевая конфигурация её ещё не поддерживает.
Откат — временная мера. Типовые конфигурации раз в несколько релизов поднимают минимальную версию платформы. Через какое-то время старая сборка перестанет подходить, и проблему всё равно придётся решать на новой.
Подготовка: что проверить до отката платформы
Пять минут проверки избавят от ситуации, когда старая платформа просто не откроет базу.
1. Узнайте текущие версии. В режиме 1С:Предприятие откройте главное меню (значок с тремя полосками) → Справка → О программе. Там видна версия платформы и версия конфигурации. Запишите обе.
2. Проверьте требования конфигурации. Если конфигурацию уже обновили до релиза, которому нужна новая платформа, на старой база не запустится. Минимальная версия платформы указана в описании релиза конфигурации. Номер сравнивайте целиком: нужна платформа с номером не ниже указанного.
3. Посмотрите режим совместимости. В Конфигураторе откройте свойства корня конфигурации, поле «Режим совместимости». Если там «Версия 8.3.24», платформа 8.3.22 эту базу не откроет. Понижать режим совместимости типовой конфигурации нельзя — это ломает её обновление.
4. Сделайте резервную копию. Для файловой базы скопируйте папку с файлом 1Cv8.1CD при закрытой программе или выгрузите .dt через Конфигуратор. Для клиент-серверной — штатный бэкап СУБД.
5. Найдите дистрибутив старой версии. Если папка C:\Program Files\1cv8\<старая версия> на месте — дистрибутив не нужен. Если удалена — понадобится установочный комплект той же сборки и той же разрядности.
Если конфигурацию уже обновили под новую платформу, откатывать придётся и базу — из резервной копии, сделанной до обновления. Одной сменой платформы тут не обойтись.
Быстрый откат без удаления: закрепить версию за базой
Этот способ безопасный и обратимый. Новую версию он не трогает, просто запускает конкретную базу на старой.
- Откройте окно запуска 1С со списком баз.
- Выделите базу и нажмите
Изменить. - Пролистайте мастер до последней страницы с параметрами запуска.
- В поле «Версия 1С:Предприятия» впишите номер нужной сборки.
- Нажмите
Готовои запустите базу.
Номер можно указывать по-разному:
| Что вписано | Что запустится |
|---|---|
8.3 или пусто | самая новая установленная 8.3 |
8.3.22 | самая новая сборка из ветки 8.3.22 |
8.3.22.1923 | ровно эта сборка |
Для отката нужен полный номер из четырёх чисел. Иначе при установке очередной сборки той же ветки база снова уйдёт на неё.
Настройка хранится в файле списка баз %APPDATA%\1C\1CEStart\ibases.v8i строкой Version=8.3.22.1923. Если баз много, этот файл удобно поправить один раз и разложить по рабочим местам.
Для разового запуска хватит ярлыка с прямым путём к нужной версии:
"C:\Program Files\1cv8\8.3.22.1923\bin\1cv8c.exe" ENTERPRISE /F"D:\Bases\Buh"
Здесь 1cv8c.exe — тонкий клиент, 1cv8.exe — толстый клиент и Конфигуратор. Для серверной базы вместо /F указывают /S"server\base".
Если старой версии на компьютере уже нет, сначала установите её. Новую при этом удалять не обязательно: обе версии спокойно живут рядом.
Удаление новой версии платформы через «Программы и компоненты»
Удалять новую сборку стоит, когда она мешает всему компьютеру: программы через COM цепляют её, а не старую, или нужно, чтобы по умолчанию стартовала прежняя версия.
- Закройте все сеансы 1С на компьютере, включая Конфигуратор и фоновые обработки.
- Нажмите
Win + R, введитеappwiz.cpl, нажмите Enter. - Найдите строку «1С:Предприятие 8» с номером новой версии. 64-битная и 32-битная сборки идут отдельными строками, у 64-битной в названии есть
x86-64. - Нажмите
Удалитьи дождитесь окончания. - Убедитесь, что старая версия осталась в списке. Если её нет — установите из дистрибутива.
То же самое можно сделать из PowerShell, запущенного от администратора. Сначала посмотрите, что установлено:
Get-Package -Name "1C*" | Select-Object Name, Version
Затем удалите конкретную сборку, подставив её номер:
Get-Package -Name "1C*" | Where-Object Version -like "8.3.24.1586*" | Uninstall-Package
Командой удобно пользоваться, когда рабочих мест десятки. Проверьте фильтр на одном компьютере, прежде чем рассылать команду всем.
Базы, список баз и пользовательские настройки при удалении платформы не пропадают. Удаляются только файлы программы из папки версии.
Ручная очистка: кэш, остатки папок и COM-компоненты
После смены версии часть проблем даёт не сама платформа, а её хвосты.
Кэш клиента
Кэш лежит в двух местах профиля пользователя:
%APPDATA%\1C\1cv8\— папки с именами-идентификаторами вида0a1b2c3d-...;%LOCALAPPDATA%\1C\1cv8\— такие же папки с локальными данными.
Закройте 1С и удалите папки-идентификаторы внутри этих каталогов. Сами каталоги и файлы настроек рядом оставьте. Есть и вариант мягче — запустить базу
с параметром /ClearCache:
"C:\Program Files\1cv8\8.3.22.1923\bin\1cv8c.exe" ENTERPRISE /F"D:\Bases\Buh" /ClearCache
На терминальном сервере кэш свой у каждого пользователя. Чистите его в профиле того, у кого ошибка.
Остатки папки версии
Иногда после удаления в C:\Program Files\1cv8\ остаётся папка удалённой версии с несколькими файлами. Если в «Программах и компонентах» этой сборки уже нет, папку можно удалить вручную.
Не удаляйте папку srvinfo и папки версий, которые ещё установлены. В srvinfo хранятся данные кластера сервера 1С.
Регистрация COM-компонент
Это приём, о котором часто забывают. COM-соединитель comcntr.dll и библиотека консоли администрирования radmin.dll регистрируются в Windows одной версией. После удаления новой сборки регистрация может указывать на несуществующий файл. Внешние программы перестанут подключаться к 1С, а консоль кластера не откроется.
Перерегистрируйте библиотеки старой версии из командной строки от администратора:
regsvr32 "C:\Program Files\1cv8\8.3.22.1923\bin\comcntr.dll"
regsvr32 "C:\Program Files\1cv8\8.3.22.1923\bin\radmin.dll"
Разрядность библиотеки должна совпадать с разрядностью программы, которая ей пользуется. 32-битная программа обмена не увидит 64-битный comcntr.dll.
Реестр
Править реестр вручную ради отката не нужно. Если установщик сломался и сборка не удаляется и не ставится заново, воспользуйтесь средством устранения неполадок установки и удаления программ от Microsoft. Оно убирает «битые» записи установщика аккуратнее, чем ручная чистка веток реестра.
Точка восстановления Windows: когда она уместна
Восстановление системы (rstrui.exe) откатывает программы, драйверы и реестр на дату точки. Документы и базы 1С оно не трогает.
Способ подходит, если после установки платформы сломалось что-то вне 1С: драйвер ключа защиты, торговое оборудование, другая программа. Но вместе с платформой откатится всё, что ставили после точки: обновления, драйверы, другой софт.
| Способ | Когда выбирать | Риски |
|---|---|---|
| Закрепить версию за базой | Одна или несколько баз, старая версия установлена | Почти нет |
| Удалить новую версию | Новая сборка мешает всему компьютеру | Нужна регистрация COM, у других баз пропадёт новая версия |
| Точка восстановления | Сломалось что-то в Windows после установки | Откатится всё, что ставили после точки |
| Переустановка старой версии | Установщик повреждён, версия не запускается | Нужен дистрибутив той же сборки |
На сервере 1С точкой восстановления не пользуйтесь. Откат затронет службы и может повредить данные кластера.
Откат платформы на сервере 1С
В клиент-серверном варианте действует жёсткое правило: версия клиента должна совпадать с версией сервера до последней цифры. Поэтому откатывают сразу всё: сервер, все рабочие места и терминальные серверы.
Остановка службы агента сервера обрывает сеансы всех пользователей. Предупредите людей, дождитесь окончания регламентных заданий и делайте откат вне рабочего времени.
Порядок действий на сервере:
- Сделайте резервные копии баз средствами СУБД.
- В
services.mscостановите службу «Агент сервера 1С:Предприятия 8.3», а если используется сервер администрирования (ras) — и его службу. - Скопируйте папку
srvinfoв отдельное место. Путь к ней указан в параметре-dкомандной строки службы. - Установите старую версию сервера, если её нет, с опцией установки как службы Windows.
- Если служба осталась от новой версии, перенаправьте её на
ragent.exeстарой сборки. Имя службы возьмите в её свойствах, поле «Имя службы»:
sc config "<имя службы>" binPath= "\"C:\Program Files\1cv8\8.3.22.1923\bin\ragent.exe\" -srvc -agent -regport 1541 -port 1540 -range 1560:1591 -d \"C:\Program Files\1cv8\srvinfo\""
Порты и путь -d оставьте теми, что были у службы до отката. Пробел после binPath= обязателен.
- Запустите службу и откройте консоль кластера. Перед этим перерегистрируйте
radmin.dllстарой версии, как описано выше. - Поставьте ту же сборку клиента на все рабочие места и закрепите её за серверными базами.
Если в кластере несколько рабочих серверов, откатывают все до одной версии. Разные сборки внутри одного кластера не работают.
Веб-публикации
Если базы опубликованы на веб-сервере, публикация привязана к модулю конкретной версии платформы. Путь к модулю стоит в настройках Apache или IIS. После отката переопубликуйте базы утилитой webinst из папки bin старой версии или поправьте путь вручную и перезапустите веб-сервер.
Кэш сеансовых данных сервера
Если после отката в работе сервера появились странные ошибки, чистят кэш сеансовых данных. Это папки snccntx* в каталоге кластера внутри srvinfo\reg_1541. Удаляйте их только при остановленной службе агента сервера. Остальное содержимое reg_1541 не трогайте.
Если база не открылась после отката
Если что-то пошло не так, найдите свой симптом:
Если ни один пункт не подошёл, запустите базу на старой версии с чистым профилем — под другой учётной записью Windows. Ошибка пропала — дело в кэше или настройках пользователя. Осталась — в самой базе или конфигурации.