Вернуть 1С на прежний релиз: способы отката и чем они грозят данным

· 11 мин

Содержание

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

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

Что происходит с базой при обновлении и почему откат не симметричен

Обновление типовой конфигурации делает три вещи:

  • 🧩 меняет состав метаданных: справочники, документы, реквизиты, регистры;
  • 🗄️ перестраивает таблицы базы данных под новую структуру (этап «Обновить конфигурацию базы данных»);
  • ⚙️ при первом запуске в режиме «1С:Предприятие» выполняет обработчики обновления — они переносят и пересчитывают данные под новый релиз.

Первые два шага обратимы: можно загрузить прежний .cf, и структура вернётся. Третий шаг обратно не прокручивается. Обработчики могли заполнить новые реквизиты, переложить сведения из одного регистра в другой, удалить устаревшие записи. Старая версия конфигурации об этих изменениях ничего не знает.

Поэтому вариантов отката по сути два:

СпособКогда подходитЧто теряетеРиск
Восстановление из резервной копииЕсть копия до обновленияВсё, что ввели после копииНизкий
«Вернуться к конфигурации БД»Обновление загружено, но структура базы ещё не обновляласьНичегоНет
Загрузка старого .cf поверхКопии нет, база почти не работала на новом релизеНичего явно, но данные могут быть несогласованыВысокий
Сравнение и объединение со старым .cfНужно вернуть отдельные объекты, а не весь релизНичего явноСредний
Откат платформыОбновляли только платформуНичегоНизкий
Что именно у вас случилось?

Подготовка к откату обновления: что сделать до первого действия

Даже если база «сломана», сначала зафиксируйте её текущее состояние. Откат может пойти не так, и тогда понадобится точка, к которой можно вернуться.

  1. Завершите работу всех пользователей. В клиент-серверной базе включите блокировку начала сеансов в свойствах информационной базы в консоли кластера. Активные сеансы при этом оборвутся, поэтому предупредите людей заранее и выбирайте нерабочее время.
  2. Сделайте выгрузку текущей базы: в Конфигураторе Администрирование → Выгрузить информационную базу. Имя файла дайте говорящее, например buh_posle_obnovleniya_2026-10-07.dt.
  3. Сохраните текущую конфигурацию отдельно: Конфигурация → Сохранить конфигурацию в файл. Пригодится, если были доработки, которые придётся переносить.
  4. Найдите файл старого релиза. Без него откатить конфигурацию невозможно, а с сайта поставщика скачиваются полные дистрибутивы не всех версий.
  5. Проверьте, хватает ли места на диске: .dt и копия СУБД вместе могут занять в 2–3 раза больше, чем сама база.

Старый .cf часто уже лежит на компьютере. Установленные шаблоны конфигураций по умолчанию хранятся в каталоге %APPDATA%\1C\1cv8\tmplts\. Внутри — папки по поставщику, конфигурации и номеру версии, а в них файл 1Cv8.cf полной поставки.

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

Способ 1. Откатить обновление 1С из резервной копии базы

Это основной и самый безопасный способ. Вы возвращаете базу целиком — и конфигурацию, и данные — в состояние до обновления.

Восстановление из файла .dt

  1. Откройте базу в Конфигураторе.
  2. Выберите Администрирование → Загрузить информационную базу.
  3. Укажите файл .dt, снятый до обновления.
  4. Подтвердите предупреждение: текущие данные будут полностью заменены.
  5. После загрузки Конфигуратор предложит перезапуститься — соглашайтесь.

Загрузка .dt требует монопольного доступа к базе. Большая база загружается долго: для 20–30 ГБ закладывайте от часа и больше, в зависимости от диска и СУБД.

Файловая база: копия каталога

Если перед обновлением вы просто скопировали каталог базы, откат ещё проще:

  1. Убедитесь, что в базе нет ни одного сеанса.
  2. Переименуйте текущий файл 1Cv8.1CD, например в 1Cv8_new.1CD. Не удаляйте его.
  3. Положите на его место 1Cv8.1CD из копии.
  4. Запустите базу и проверьте номер релиза в Справка → О программе (меню вызывается кнопкой с тремя полосками или значком в заголовке окна).

Клиент-серверная база: бэкап СУБД

Для MS SQL Server или PostgreSQL удобнее восстанавливать штатными средствами СУБД — это быстрее, чем .dt.

  • 🔒 Включите блокировку начала сеансов и завершите текущие сеансы в консоли кластера.
  • 🗂️ Восстановите копию поверх рабочей базы средствами СУБД (в SQL Server — восстановление базы данных из бэкапа, в PostgreSQL — pg_restore из дампа).
  • ✅ Снимите блокировку и проверьте релиз в программе.

Восстанавливать бэкап СУБД поверх базы, к которой подключены сеансы 1С, нельзя: сервер 1С держит соединения и кэши. Сначала все сеансы, потом СУБД.

Если после обновления уже работали

Копия до обновления вернёт базу в прошлое, и всё, что ввели позже, пропадёт. Рабочий приём:

  1. Восстановите копию в новую информационную базу, а не поверх рабочей.
  2. В обновлённой базе выгрузите документы за период после обновления универсальной обработкой выгрузки и загрузки данных XML (она есть в наборе стандартных обработок для платформы 8.3).
  3. Загрузите файл в восстановленную базу, перепроведите документы за этот период.
  4. Сверьте остатки и обороты по ключевым счетам в обеих базах.
  5. Только после сверки переключите пользователей на восстановленную базу.

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

Способ 2. Вернуться к старой конфигурации без копии базы

Обновление ещё не применено к базе

Самый частый счастливый случай. Вы загрузили обновление (.cfu или .cf) в Конфигураторе, увидели список изменений и передумали. Пока вы не нажали «Обновить конфигурацию базы данных» (F7), меняется только основная конфигурация, а база живёт на старой.

Откат: Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Основная конфигурация станет такой же, как конфигурация базы данных. Данные не затрагиваются.

Загрузка старого .cf поверх обновлённой базы

Если структура уже обновлена, а копии нет, остаётся загрузка прежнего релиза целиком:

  1. Сделайте выгрузку .dt текущей базы (см. подготовку выше).
  2. Конфигурация → Загрузить конфигурацию из файла, выберите старый .cf.
  3. Нажмите F7 — «Обновить конфигурацию базы данных».
  4. Изучите список изменений структуры. Если там удаление реквизитов или объектов, данные в них будут потеряны.
  5. Примите изменения и запустите базу в режиме «1С:Предприятие».

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

Слабое место этого варианта — данные, уже обработанные обработчиками обновления. Типовые конфигурации на БСП запоминают номер версии, до которой обновлена база. При запуске на релизе с меньшим номером программа может сообщить о несоответствии версий или работать с ошибками в отдельных разделах. Чем дольше база прожила на новом релизе, тем больше таких расхождений.

Если откат нужен из-за одной сломанной функции (отчёт, печатная форма, обмен), часто правильнее остаться на новом релизе и подождать исправления или переделать доработку в расширении. Откат релиза ради одного отчёта обычно обходится дороже.

Способ 3. Частичный откат релиза: объединение и хранилище

Сравнение и объединение со старым .cf

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

  1. Выгрузите базу в .dt и сохраните текущую конфигурацию в файл.
  2. Выберите Конфигурация → Сравнить, объединить с конфигурацией из файла и укажите старый .cf поставщика.
  3. В окне сравнения снимите все флажки, затем отметьте только те объекты, которые нужно вернуть: модуль отчёта, макет печатной формы, общий модуль.
  4. Режим объединения для отмеченных объектов — «Взять из файла».
  5. Выполните объединение, затем F7.

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

Откат версий через хранилище конфигурации

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

Порядок отката конфигурации из хранилища:

  1. Откройте Конфигурация → Хранилище конфигурации → История хранилища.
  2. Найдите версию до помещения обновления: по дате, комментарию или пользователю.
  3. Сохраните эту версию в файл .cf командой сохранения из истории.
  4. Дальше действуйте как в способе 2 или 3: загрузите файл целиком или объедините нужные объекты.
  5. Поместите результат в хранилище с понятным комментарием, например «Откат на релиз 3.0.x из-за ошибки печати ТОРГ-12».

Хранилище возвращает только конфигурацию. Данные база не откатывает: обработчики обновления, если они уже выполнились, остались выполненными. Для полного возврата всё равно нужна копия базы.

Как откатить обновление платформы 1С

Иногда «сломалось после обновления» означает новую платформу, а конфигурация прежняя. Тогда базу трогать не нужно.

  1. Убедитесь, что старая версия платформы установлена. Если нет — установите её из дистрибутива, новую при этом удалять необязательно: версии ставятся рядом.
  2. В окне запуска 1С выделите базу и нажмите «Изменить».
  3. На последней странице мастера в поле «Версия 1С:Предприятия» укажите нужный номер, например 8.3.24.1691.
  4. Сохраните и запустите базу.

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

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

Ошибки при откате релиза и что с ними делать

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

Как обновлять 1С, чтобы откат не понадобился

Большинство откатов — следствие обновления «вслепую». Несколько правил снимают проблему заранее:

  • 💾 Копия перед каждым обновлением. Мастер обновления в режиме «1С:Предприятие» умеет сам создавать резервную копию — не отключайте эту настройку. Для серверных баз — бэкап СУБД.
  • 🧪 Сначала на копии. Разверните .dt в тестовую базу, обновите её, сформируйте ключевые отчёты и печатные формы, проверьте обмены.
  • 📝 Читайте описание изменений. В нём указана минимальная версия платформы и порядок перехода через промежуточные релизы.
  • 🔢 Не перескакивайте через обязательные релизы. Если в описании указан промежуточный релиз, обновление через него обязательно.
  • 🧱 Доработки — в расширения. Изменения в расширении переживают обновление типовой конфигурации и не требуют объединения.
  • 🗓️ Не обновляйтесь перед сдачей отчётности. Обновите за неделю до срока или сразу после сдачи, чтобы было время откатиться.
  • 📦 Храните старые .cf. Не удаляйте шаблоны прошлых релизов, пока новый не отработал хотя бы месяц.

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

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

Можно ли откатить обновление, установленное через `.cfu`?
Файл .cfu содержит только разницу между релизами и работает в одну сторону. Для отката нужен полный .cf старого релиза или резервная копия базы.
Откатится ли обновление, если просто удалить новую версию платформы?
Нет. Платформа и конфигурация обновляются независимо. Удаление платформы не меняет релиз конфигурации в базе.
Восстановление .dt затронет пользователей и их пароли?
Да. В .dt входит список пользователей, поэтому вернутся пользователи и пароли на момент копии. Тех, кого завели после неё, придётся создать заново.
Можно ли откатить обновление в облачной 1С (1С:Фреш)?
Самостоятельно загрузить старый релиз в облаке нельзя: релизы обновляет провайдер. Восстановить данные можно из резервной копии, если сервис её хранит, — через обращение в поддержку провайдера.
Сколько времени занимает откат?
Для файловой базы до 5 ГБ — обычно 10–30 минут с проверкой. Для серверной базы в десятки гигабайт — от часа, основную часть времени занимает восстановление копии.