Откат конфигурации 1С 8.3 к прошлому релизу: копия базы, файл .cf и хранилище
Содержание
Откатить обновление
1С 8.3 через Конфигуратор надёжно можно одним способом: загрузить резервную копию базы
, сделанную до обновления, командой Администрирование → Загрузить информационную базу (файл .dt). Если обновление ещё не применено к базе данных, хватит команды Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Кнопки «отменить обновление» в платформе нет.
Загрузка только старого файла конфигурации (.cf) тоже возможна, но это компромисс. Обработчики нового релиза уже переложили данные под новую структуру, и старая конфигурация может работать с ними некорректно. Ниже разобрано, какой путь выбрать, где взять прошлую версию и что проверить после отката.
1. Перед откатом: какая версия стоит сейчас и что именно сломалось
Сначала зафиксируйте исходное состояние. Без этого легко откатить не то или потерять данные, введённые после обновления.
- Запишите текущий номер релиза. В режиме «Предприятие» он виден в окне
Справка → О программе(или через меню-«гамбургер» в заголовке окна). В Конфигураторе откройтеКонфигурация → Открыть конфигурацию, щёлкните правой кнопкой по корню дерева и выберите «Свойства» — поле «Версия». - Запишите версию платформы. Она тоже есть в окне «О программе».
- Сформулируйте причину отката. Ошибка при открытии одного отчёта или документа часто чинится исправлением в следующем релизе, и откатывать всю базу ради неё нет смысла.
- Выясните, сколько данных внесено после обновления. Если прошёл час — их проще ввести заново. Если неделя — откат из резервной копии обойдётся дорого.
Перед любыми действиями выгрузите текущее состояние базы в .dt. Даже «сломанная» база после обновления содержит документы, которых нет в старой копии. Без этой выгрузки вы потеряете их окончательно.
Выгрузка делается в Конфигураторе: Администрирование → Выгрузить информационную базу. Для неё нужен монопольный доступ: пользователи должны выйти из базы, фоновые задания на сервере лучше временно запретить.
Когда откатываться не стоит
- 🔹 Сломалась внешняя обработка или печатная форма. Чаще проще обновить её под новый релиз у разработчика.
- 🔹 Не работает
расширение. Его можно отключить в
Конфигурация → Расширения конфигурации, не трогая саму конфигурацию. - 🔹 Проблема в платформе, а не в конфигурации. Тогда достаточно запустить базу на прежней версии платформы (о ней ниже).
2. Где найти предыдущую версию: резервная копия базы или файл конфигурации
Для отката нужен один из трёх источников. Чем он «полнее», тем чище результат.
| Источник | Что содержит | Где искать |
|---|---|---|
Файл .dt | Конфигурация и все данные на момент выгрузки | Папка, куда выгружали копию перед обновлением; папка резервных копий из помощника обновления |
| Копия каталога файловой базы | Файл 1Cv8.1CD целиком | Копия папки базы, сделанная вручную или скриптом |
| Бэкап SQL-сервера | Данные клиент-серверной базы | Задания резервного копирования СУБД (MS SQL, PostgreSQL) |
Файл .cf | Только конфигурация, без данных | Каталог шаблонов, сохранённый ранее .cf, хранилище |
Каталог шаблонов конфигураций
Если релизы ставили из дистрибутива, прошлые версии лежат в каталоге шаблонов. По умолчанию это %APPDATA%\1C\1cv8\tmplts\1c\. Внутри — папки по конфигурациям и номерам релизов, например Accounting\3_0_xxx_yy\.
В папке релиза ищите файл 1Cv8.cf — это полная конфигурация. Файл 1Cv8.cfu — только обновление, для отката он не подходит. Если пути в вашей системе другие, в окне запуска 1С откройте Настройка и посмотрите список каталогов шаблонов.
Копия, которую предлагал помощник обновления
При обновлении из режима «Предприятие» (Администрирование → Интернет-поддержка и сервисы → Обновление версии программы) помощник предлагает создать резервную копию. Если галочку не снимали, копия лежит в выбранной тогда папке. Её путь виден в настройках помощника.
Проверьте копию на тестовой базе
Не загружайте найденный .dt сразу в рабочую базу. Бывает, что копия оказалась не той датой, не той базой или повреждена. Сначала проверьте её отдельно.
- В окне запуска 1С нажмите
Добавитьи создайте новую пустую информационную базу в отдельной папке. - Откройте её в Конфигураторе и загрузите .dt через
Администрирование → Загрузить информационную базу. - Запустите базу в режиме «Предприятие» и посмотрите номер релиза в окне «О программе».
- Откройте журнал документов и найдите последние документы. Их дата покажет, на какой момент сделана копия.
Если копия в порядке, у вас есть точная картина потерь: всё, что введено позже даты последнего документа, придётся восстановить. Тестовую базу не удаляйте до конца проверки — она пригодится для сверки остатков после отката.
Для файловой базы на тестовую копию уходит несколько минут. Для серверной разверните копию в отдельную базу на том же кластере, а не поверх рабочей.
💡 На будущее: перед каждым обновлением сохраняйте ещё и конфигурацию отдельно — Конфигурация → Сохранить конфигурацию в файл. Файл .cf весит немного, а в трудной ситуации экономит часы.
3. Как откатить обновление 1С 8.3: три сценария в Конфигураторе
Выбор способа зависит от того, на каком этапе остановилось обновление и что у вас есть на руках.
Сценарий 1. Вернуться к конфигурации БД
В Конфигураторе есть две конфигурации: основная (её вы редактируете и обновляете) и конфигурация базы данных (с ней работают пользователи). Пока вы не нажали «Обновить конфигурацию базы данных», изменения живут только в основной.
- Откройте конфигурацию:
Конфигурация → Открыть конфигурацию. - Выберите
Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. - Подтвердите действие. Основная конфигурация станет такой же, как конфигурация базы данных.
Этот вариант спасает, если обновление прервалось на этапе сравнения и объединения или вы передумали до применения.
Сценарий 2. Загрузить копию базы .dt
- Попросите всех выйти из базы. Монопольный доступ обязателен.
- Убедитесь, что текущее состояние уже выгружено в отдельный .dt (раздел 1).
- В Конфигураторе выберите
Администрирование → Загрузить информационную базу. - Укажите файл копии, сделанной до обновления, и подтвердите замену.
- После загрузки Конфигуратор предложит перезапуститься — согласитесь.
Загрузка .dt полностью заменяет базу: и конфигурацию, и данные. Всё, что ввели после создания копии, пропадёт. Отсюда и требование сначала выгрузить текущее состояние.
Для файловой базы альтернатива — подменить файл 1Cv8.1CD копией из бэкапа. Делайте это, только когда в базе нет ни одного сеанса, а старый файл переименуйте, а не удаляйте.
Для клиент-серверной базы данные можно восстановить средствами СУБД из бэкапа на момент до обновления. Восстановление на рабочую базу оборвёт сеансы пользователей, поэтому планируйте его на нерабочее время.
Сценарий 3. Загрузить старую конфигурацию из .cf
- Выгрузите текущую базу в .dt.
- Откройте
Конфигурация → Загрузить конфигурацию из файлаи выберите1Cv8.cfнужного релиза. - Конфигуратор заменит основную конфигурацию. На вопрос об обновлении конфигурации базы данных ответьте «Да» или запустите его вручную (следующий раздел).
Почему это компромисс: при переходе на новый релиз отработали обработчики обновления. Они могли заполнить новые реквизиты, перенести данные между регистрами, изменить настройки. Старая конфигурация об этих изменениях не знает. Часть данных из новых объектов при откате будет удалена вместе с самими объектами.
💡 Если база на поддержке и вы её дорабатывали, после загрузки .cf загляните в Конфигурация → Поддержка → Настройка поддержки. Убедитесь, что режим поддержки объектов остался таким, как был до обновления.
4. Применение отката: обновление конфигурации базы данных
После сценария 3 старая версия лежит только в основной конфигурации. Пользователи её не увидят, пока вы не примените её к базе данных.
- Нажмите
F7или выберитеКонфигурация → Обновить конфигурацию базы данных. - Конфигуратор покажет окно «Реорганизация информации» со списком изменений структуры. При откате там будет много удаляемых реквизитов и объектов — это ожидаемо.
- Прочитайте список. Если удаляются объекты с важными данными, остановитесь и подумайте о загрузке .dt вместо этого пути.
- Нажмите «Принять». Дождитесь окончания реструктуризации.
Сколько это займёт — зависит от размера базы. На файловой базе в пару гигабайт обычно хватает нескольких минут. На крупной серверной базе реструктуризация может идти час и дольше.
Для обновления конфигурации базы данных нужен монопольный доступ. Если в базе кто-то остался, Конфигуратор предложит завершить сеансы — пользователи потеряют несохранённые документы. Предупредите их заранее.
Динамическое обновление (без монопольного режима) при откате не используйте. Изменения структуры здесь значительные, и пользователи, работающие во время обновления, получат ошибки.
5. Откат версии в хранилище конфигурации
Если база подключена к хранилищу, Конфигуратор не даст просто загрузить .cf поверх: объекты должны быть захвачены. Порядок другой.
Получить старую версию из истории хранилища
- Откройте
Конфигурация → Хранилище конфигурации → История хранилища. - Найдите версию до обновления по дате или комментарию. Удобно, когда при помещении релиза писали комментарий вроде «Обновление до 3.0.xxx».
- Выделите версию и сохраните её в файл .cf командой в окне истории.
Вернуть хранилище к этой версии
- Захватите в хранилище всю конфигурацию: корень дерева, рекурсивно.
- Загрузите сохранённый .cf через
Конфигурация → Загрузить конфигурацию из файла. - Поместите изменения в хранилище с понятным комментарием, например «Откат релиза 3.0.xxx».
- Обновите конфигурацию базы данных рабочей базы (раздел 4).
Остальные разработчики после этого выполняют Конфигурация → Хранилище конфигурации → Обновить конфигурацию из хранилища, иначе их локальные копии останутся на новом релизе.
Историю хранилища не переписывают. Откат — это новая версия поверх старых, и в журнале видно, кто и когда вернул релиз. Это удобно для разбора ситуации позже.
Если вы отключали базу от хранилища, чтобы загрузить .dt, после отката подключите её снова и сравните конфигурацию с хранилищем. Расхождения появятся, если в хранилище уже поместили новый релиз.
6. Проверка базы после отката
Откат не заканчивается на успешной загрузке. Проверьте базу, прежде чем пускать пользователей.
- ✅ Номер версии. Откройте
Справка → О программеи убедитесь, что стоит прежний релиз. - ✅ Запуск без сообщений об обновлении. Если при входе 1С предлагает «завершить обновление» или выдаёт ошибку обработчиков, данные остались от нового релиза. Типично для сценария 3.
- ✅ Тестирование и исправление. В Конфигураторе:
Администрирование → Тестирование и исправление. Для начала отметьте только проверку логической целостности, без исправлений, и посмотрите отчёт. - ✅ Ключевые отчёты. Сформируйте оборотно-сальдовую ведомость за текущий месяц и сравните с цифрами до обновления. Для ЗУП подойдёт свод начислений за последний расчётный месяц.
- ✅ Расширения. Проверьте в
Конфигурация → Расширения конфигурации, что расширения подключены и применяются без ошибок. - ✅ Обмены и регламентные задания. Убедитесь, что синхронизация с другими базами и загрузка из банка работают.
Если базу запускали на новой версии платформы, а нужна старая, укажите её для базы: в окне запуска выберите базу, нажмите Изменить и на последнем шаге заполните поле «Версия 1С:Предприятия». Учтите, что .dt, выгруженный новой платформой, старая платформа может не загрузить.
Режим «Тестирование и исправление» с галочками исправления может удалить «битые» ссылки и изменить данные. Запускайте его только после свежей выгрузки .dt и в монопольном режиме.