Как откатить 1С на предыдущую версию без потери данных

· 9 мин

Содержание

Надёжный откат 1С на предыдущую версию — это восстановление из резервной копии , снятой до обновления. Если копии нет, частичный даунгрейд возможен через загрузку старого файла конфигурации .cf, но структуру базы это меняет и часть данных может пропасть.

Даунгрейд бывает двух видов, и их важно не путать. Откат платформы — это запуск той же базы на более ранней версии 1cv8. Откат конфигурации — возврат самого прикладного решения (Бухгалтерии, ЗУП и т. д.) к прошлому состоянию через файлы выгрузки .dt и .cf. Иногда нужно и то, и другое сразу, потому что новая конфигурация требует новой платформы.

Ниже — порядок действий для обоих случаев, разбор файлов .dt/.cf и разбор ошибок совместимости, из-за которых база после отката отказывается открываться.

С чего начать: копии и фиксация текущих версий

Первый шаг — не трогать рабочую базу, а сделать её полную копию. Для файлового варианта это выгрузка в .dt: Конфигуратор → Администрирование → Выгрузить информационную базу. Для клиент-серверного — средствами СУБД (бэкап SQL) плюс та же выгрузка .dt для страховки.

Выгрузка .dt требует монопольного доступа. Завершите сеансы пользователей и делайте её, когда в базе никто не работает, иначе получите ошибку о занятости базы.

Зафиксируйте, с чего и куда откатываетесь. Запишите четыре числа:

  • 🔹 текущая версия платформы (в окне запуска, строка версии, или в Справка → О программе);
  • 🔹 текущая версия конфигурации (Конфигурация → Поддержка → строка версии, либо в режиме Предприятия О программе);
  • 🔹 версия, на которую нужно вернуться;
  • 🔹 минимальная версия платформы, которую требует целевая конфигурация.

Последнее число критично. Если целевая конфигурация требует платформу выше той, что вы собираетесь поставить, база просто не запустится. Поэтому версии платформы и конфигурации планируют вместе, а не по отдельности.

Подготовка к откату 1С
Выполнено: 0 / 6

Как откатить платформу 1С на предыдущую версию

Платформы 1С устанавливаются рядом и не затирают друг друга — каждая версия лежит в своём каталоге (например, C:\Program Files\1cv8\8.3.25.1374\). Поэтому «откат платформы» — это не удаление новой, а запуск базы на старой.

Порядок такой:

  1. Скачайте и установите нужную версию платформы. Старую при этом удалять не обязательно.
  2. Откройте список информационных баз (стартовое окно 1cestart).
  3. Выделите нужную базу → Изменить → на последнем шаге в поле Версия 1С:Предприятия впишите конкретный номер (например, 8.3.24).
  4. Сохраните и запустите базу — она откроется именно на указанной версии.

Если поле версии оставить пустым, запускающий модуль сам подберёт самую свежую подходящую платформу из установленных. Явное указание номера — надёжнее: вы точно знаете, на чём работает база.

Номер версии задавайте однозначно: платформа должна быть не ниже той, что требует конфигурация. Формулировки «старше/младше» тут путают — ориентируйтесь строго на номер.

Тонкий момент — формат файловой базы. Когда новая платформа один раз открывает файловую базу .1CD, она может перевести её в более новый формат хранения. После этого старая платформа откроется уже не сможет и выдаст ошибку о неподдерживаемом формате. Вот почему копия .dt, снятая до первого запуска под новой платформой, — главная страховка: из неё старая платформа развернёт базу в своём формате заново.

Для клиент-серверной базы всё устроено иначе. Там версия задаётся не в стартовом окне, а версией самого сервера 1С — службы ragent. Клиент подключается к базе через агента кластера, и номер клиентской платформы должен совпадать с номером сервера. Поэтому откат серверной установки — это установка нужной версии сервера и перезапуск его службы.

Перезапуск службы сервера 1С обрывает все активные сеансы кластера. Планируйте откат на окно, когда в базах никто не работает, и предупредите пользователей заранее.

Откат конфигурации через файлы .dt и .cf

Эти два файла решают разные задачи, и их легко перепутать:

ФайлЧто внутриЧем разворачивают
.dtВся база: конфигурация плюс все данныеАдминистрирование → Загрузить информационную базу
.cfТолько конфигурация, без данныхКонфигурация → Загрузить конфигурацию из файла

Если есть .dt, снятый до обновления, откат конфигурации и данных делается в один приём: в пустую или тестовую базу грузите .dt — и получаете точное состояние на момент копии. Это самый чистый вариант.

Когда .dt нет, а есть только файл .cf старого релиза, порядок другой:

  1. Откройте базу в Конфигураторе.
  2. Конфигурация → Загрузить конфигурацию из файла → выберите старый .cf.
  3. Дождитесь завершения и подтвердите обновление базы данных по кнопке F7 (Обновить конфигурацию базы данных).
  4. В окне реорганизации 1С покажет, какие таблицы и реквизиты будут изменены или удалены. Прочитайте список внимательно.

Загрузка .cf и обновление структуры базы идут в монопольном режиме и обрывают сеансы пользователей. Делайте это на копии, а не на рабочей базе с людьми онлайн.

Главный риск здесь именно на четвёртом шаге. Загрузка старого .cf возвращает структуру к прежнему виду: реквизиты и объекты, добавленные в новом релизе, из структуры исчезнут, а значит, пропадут и данные, которые в них лежали. Поэтому через .cf откатывают либо доработки, по которым точно нет новых данных, либо когда потеря этих данных приемлема. В остальных случаях выбирайте восстановление из .dt.

Есть и более аккуратный путь, чем прямая загрузка. Через Конфигурация → Сравнить, объединить с конфигурацией из файла вы сначала увидите полный список различий между текущей и старой конфигурацией и сможете снять галочки с тех объектов, которые откатывать не нужно. Так возвращают, например, одну изменённую форму или отчёт, не трогая остальную базу. Этот способ особенно выручает, когда в конфигурацию внесены свои доработки и терять их при откате нельзя.

Особенности отката типовой конфигурации на поддержке

Типовые решения (Бухгалтерия, ЗУП, Управление торговлей) стоят «на поддержке»: конфигурация поставщика закрыта на замок, а обновления ставятся строго по возрастанию версий. Это накладывает ограничения.

Штатного «отката релиза назад» в механизме обновления типовой конфигурации нет. Поставщик выпускает версии только вперёд, и загрузить предыдущую через Обновить не получится — программа не даст понизить номер.

Поэтому для типовой на поддержке рабочих варианта два:

  • 🔹 Восстановить из копии. Разворачиваете .dt или бэкап СУБД, снятый до обновления, — и база возвращается к прежнему релизу вместе с данными. Поддержка при этом сохраняется корректно.
  • 🔹 Загрузить .cf нужного релиза через Конфигуратор. Файл поставки конкретной версии берут из каталога шаблонов (1cv8\tmplts\...) — там лежат дистрибутивы установленных релизов. Загрузка понижает конфигурацию до этого релиза, но, как и выше, может затронуть данные новых объектов.

Если конфигурация снята с поддержки или в неё внесены свои доработки, перед откатом сравните конфигурации: Конфигурация → Поддержка → Сравнить, объединить с конфигурацией из файла. Так вы увидите, что именно изменит загрузка старого файла, и не потеряете доработки.

Понижать релиз типовой конфигурации «вручную» произвольным .cf без копии — путь к рассинхронизации данных и структуры. Если на новом релизе уже работали и вводили документы, безопаснее откатить всю базу из копии целиком.

Что делать, если резервной копии не оказалось

Самый тяжёлый случай — обновились, что-то сломалось, а свежей копии до обновления нет. Прежде чем загружать старый .cf и терять данные, проверьте, не сохранилась ли копия где-то ещё:

  • 🔹 Автоматические копии 1С. Если в Конфигураторе было настроено резервное копирование по расписанию (Администрирование → Настройка резервного копирования), файлы .dt могут лежать в заданном каталоге.
  • 🔹 Бэкапы СУБД. Для клиент-серверной базы спросите администратора сервера: регулярные бэкапы SQL часто делаются автоматически и хранят состояние на вчера или раньше.
  • 🔹 Копии файлового каталога. Папку с .1CD могли копировать на сетевой диск или в облако; подойдёт и «предыдущая версия» файла средствами Windows, если на диске включены теневые копии.
  • 🔹 Файл поставки старого релиза. Дистрибутивы установленных релизов с файлами .cf лежат в каталоге шаблонов 1cv8\tmplts — оттуда берут нужную версию конфигурации для частичного отката.

Если копии нет нигде, а новый релиз мешает лишь частично, взвесьте: иногда дешевле не откатываться, а доработать проблему на новой версии. Полный даунгрейд без копии почти всегда означает потерю части данных, введённых после обновления.

Ошибки совместимости версий и как их устранить

После отката база нередко отказывается открываться. Почти всегда причина — несогласованность трёх вещей: формата базы, версии платформы и минимальной платформы, которую требует конфигурация.

Диагностика: выберите симптом

Отдельно про режим совместимости. У конфигурации есть свойство, которое заставляет её вести себя как под более ранней версией платформы. Если целевой релиз выставлен на режим совместимости «не использовать» (то есть требует самую свежую платформу), понизить его можно только на той платформе, где база пока открывается. Поэтому менять режим совместимости надо до установки старой платформы, а не после.

Проверка базы и возврат пользователей в работу

Перед тем как пускать людей, проверьте откатанную базу в Конфигураторе: Администрирование → Тестирование и исправление. Для первого прогона достаточно режима проверки без исправления — он покажет, целы ли логическая и ссылочная структуры.

Тестирование и исправление идёт в монопольном режиме. Запускайте его, когда база свободна, и всегда на копии прежде, чем на рабочей.

Дальше — короткая приёмка в режиме Предприятия:

  1. Откройте базу обычным пользователем и сверьте версию конфигурации — она должна совпасть с целевой.
  2. Проверьте остатки по ключевым разделам: сальдо по счетам, остатки на складах, кадровые данные — там, где это важно для вашей базы.
  3. Проведите несколько свежих документов и сформируйте отчёт, которым пользуетесь ежедневно.
  4. Проверьте обмены и внешние подключения (ЭДО, банк-клиент, кассы) — после смены версии их иногда нужно переподключить.

Только после этого снимайте запрет на вход и возвращайте пользователей. Копию .dt, снятую до отката, не удаляйте ещё хотя бы несколько рабочих дней — если всплывёт незамеченная проблема, будет куда вернуться.

Частые вопросы

Можно ли откатить конфигурацию без потери данных?
Полностью без потерь — только восстановлением из копии (.dt или бэкап СУБД), снятой до обновления. Загрузка старого .cf удаляет из структуры объекты нового релиза вместе с их данными.
Удалять ли новую платформу при откате?
Нет. Платформы работают параллельно. Достаточно указать нужный номер версии в свойствах базы в стартовом окне — новую можно оставить для других баз.
Почему старая платформа не открывает файловую базу после обновления?
Новая платформа перевела файл .1CD в более свежий формат хранения, и старая его уже не читает. Выход — развернуть базу из .dt, снятого до первого запуска под новой платформой.
В чём разница между файлами .dt и .cf?
.dt — это вся база целиком: конфигурация и все данные. .cf — только конфигурация, без данных. Для полного отката берут .dt, для возврата одной лишь структуры — .cf.
Сохранится ли поддержка типовой конфигурации после отката?
При восстановлении из копии — да, поддержка остаётся в прежнем состоянии. При ручной загрузке .cf проверьте раздел Поддержка: замок поставщика и правила обновления должны остаться на месте.