Администрирование · 10 мин
Как откатить обновление конфигурации 1С
Как откатить обновление конфигурации 1С через резервную копию, загрузку из файла cf или хранилище. Риски, проверка результата и частые ошибки.
Откат обновления конфигурации 1С требуется, когда после установки нового релиза появились ошибки в проведении документов, отчётах или обменах данными, а ждать исправления от поставщика нельзя. В отличие от обычных программ, в 1С нет кнопки «отменить обновление»: вернуть прежнее состояние можно только через резервную копию, загрузку конфигурации из файла или через хранилище конфигурации.
Выбор способа зависит от того, что именно нужно откатить: только конфигурацию поставщика (типовые доработки не затрагиваются), всю конфигурацию целиком или данные вместе с конфигурацией. Важное ограничение: если после обновления запускалось обновление версии программы с обработчиками, изменившими данные в информационной базе, простой возврат конфигурации не отменит изменения в данных — в этом случае безопаснее восстановление из резервной копии.
Перед любыми действиями убедитесь, что у вас есть актуальная резервная копия базы и права администратора. Все операции выполняются в монопольном режиме: пользователи должны завершить работу, фоновые задания — остановлены.
Определите, что именно нужно откатить
Прежде чем действовать, ответьте на три вопроса: обновлялась ли только конфигурация поставщика или вся конфигурация с доработками, запускалось ли обновление версии программы в пользовательском режиме (обработчики, меняющие данные), и есть ли резервная копия, сделанная до обновления.
Если обновление установлено, но в режиме «1С:Предприятие» вы его ещё не запускали, данные не изменены — достаточно вернуть конфигурацию. Если база уже открывалась и отработали процедуры обновления версии, часть данных могла быть преобразована под новый релиз. Откат конфигурации без отката данных в этом случае приведёт к рассогласованию: старый код будет работать с новыми структурами данных.
Достаточно откатить конфигурацию через файл cf или хранилище
Нужна резервная копия базы, сделанная до обновления
Сначала сделайте выгрузку текущего состояния, затем оценивайте варианты
Способ 1. Восстановление из резервной копии
Самый надёжный способ отката — восстановить базу из резервной копии, созданной до обновления. Так возвращается и конфигурация, и данные в согласованном состоянии. Минус очевиден: все данные, введённые после создания копии, будут потеряны, поэтому заранее оцените объём таких данных и при необходимости выгрузите их (например, документы через «Универсальный обмен данными в формате XML»).
Для файловой базы восстановление выполняется через конфигуратор: меню «Администрирование» → «Загрузить информационную базу», укажите файл .dt. Для клиент-серверной базы восстановление делается средствами СУБД: в MS SQL Server — через Restore Database, в PostgreSQL — через pg_restore, с последующей регистрацией базы в консоли кластера, если она создавалась заново.
- 1Завершите работу всех пользователей и отключите регламентные задания
- 2Сделайте выгрузку текущего состояния базы в файл .dt как страховку
- 3В конфигураторе выполните «Администрирование» → «Загрузить информационную базу» и укажите файл копии до обновления
- 4Дождитесь окончания загрузки и реструктуризации
- 5Запустите базу в режиме Предприятия и проверьте версию конфигурации и работоспособность
Способ 2. Загрузка конфигурации из файла cf прежнего релиза
Если данные после обновления не изменялись обработчиками, можно откатить только конфигурацию. Для этого нужен файл конфигурации (.cf) прежнего релиза. Его можно получить из дистрибутива предыдущего обновления: в каталоге шаблонов 1С (обычно папка tmplts в профиле пользователя или общая папка, указанная при установке) найдите каталог нужного релиза — там лежит файл 1cv8.cf.
Порядок действий: откройте конфигуратор в монопольном режиме, выполните «Конфигурация» → «Загрузить конфигурацию из файла», укажите .cf прежнего релиза. После загрузки выполните «Обновить конфигурацию базы данных». Если конфигурация находится на поддержке с включённой возможностью изменения, платформа может потребовать подтверждение изменений поставщика.
Внимание: этот способ возвращает конфигурацию целиком, включая ваши доработки, если файл cf взят из чистого дистрибутива. Если база доработана, правильнее получить cf именно вашей конфигурации до обновления — из копии базы или из хранилища.
Способ 3. Откат через хранилище конфигурации
Если база подключена к хранилищу конфигурации, откат делается точнее всего. В хранилище сохраняются все версии, включая состояние до обновления. Откройте конфигуратор, перейдите «Конфигурация» → «Хранилище конфигурации» → «Конфигурация из хранилища» и выберите номер версии, соответствующий состоянию до обновления. Номер нужной версии проще всего определить по истории хранилища: там видно, когда и кем было выполнено обновление поставщика.
После загрузки версии из хранилища выполните обновление конфигурации базы данных. Этот способ сохраняет доработки, если они были захвачены в хранилище до обновления, и позволяет откатиться не на релиз поставщика, а именно на ваше рабочее состояние.
Откат на поддерживаемой конфигурации: нюансы
На типовых конфигурациях, находящихся на полной поддержке, прямое редактирование заблокировано. Чтобы загрузить cf прежнего релиза, сначала включите возможность изменения: «Конфигурация» → «Поддержка» → «Настройка поддержки» → «Включить возможность изменения». После отката конфигурация останется на поддержке, но поставщик будет числиться с признаком изменений — при следующем обновлении потребуется сравнение и объединение.
Альтернатива для типовых решений — повторно запустить обновление через «Поддержка» → «Обновить конфигурацию», выбрав файл обновления прежнего релиза, если поставщик предоставляет такую возможность. Однако стандартные механизмы обновления рассчитаны на переход вперёд, поэтому чаще используют загрузку полного cf.
Проверка результата после отката
После любого способа отката обязательно проверьте версию конфигурации: в режиме Предприятия откройте сведения о программе (кнопка «i» или «Сервис» → «О программе») и убедитесь, что номер релиза соответствует прежнему. Затем выполните тестирование и исправление базы (в конфигураторе: «Администрирование» → «Тестирование и исправление») хотя бы в режиме проверки логической и ссылочной целостности.
Функциональную проверку проведите на ключевых операциях: проведите тестовый документ каждого важного вида, сформируйте регламентированный отчёт, запустите обмен данными, если он используется. Только после этого открывайте доступ пользователям.
Как проверить результат
Соответствует версии до обновления
Остался новый релиз — откат не выполнен
Документы проводятся без ошибок
Ошибки о недостающих реквизитах или объектах метаданных
Ошибок логической целостности нет
Обнаружены битые ссылки или несоответствия структуры
Типичные ошибки при откате
Чаще всего проблемы возникают не из-за самой процедуры, а из-за пропущенной подготовки. Откат без резервной копии текущего состояния лишает возможности вернуться, если что-то пойдёт не так. Загрузка чужого cf на доработанную базу стирает доработки. Игнорирование обработчиков обновления данных приводит к рассогласованию кода и данных.
Часто задаваемые вопросы
Можно ли откатить обновление 1С штатной кнопкой «отмена»?
Нет, в платформе 1С нет механизма автоматической отмены обновления. Возврат выполняется только через резервную копию, загрузку конфигурации из файла .cf прежнего релиза или выбор нужной версии в хранилище конфигурации.
Что делать, если резервной копии до обновления нет?
Сначала сделайте выгрузку текущего состояния базы. Затем попробуйте загрузить cf прежнего релиза из каталога шаблонов. Если данные уже были преобразованы обработчиками обновления, полноценный откат без копии может быть невозможен — в этом случае разумнее исправлять ошибки на текущем релизе или дождаться патча от поставщика.
Где найти файл конфигурации прежнего релиза?
В каталоге шаблонов конфигураций (по умолчанию папка tmplts в каталоге данных пользователя). Внутри — вложенные папки по конфигурациям и релизам, в каталоге нужного релиза лежит файл 1cv8.cf. Также cf можно выгрузить из любой копии базы старого релиза: «Конфигурация» → «Сохранить конфигурацию в файл».
Потеряются ли данные при откате конфигурации через файл cf?
Сам по себе откат конфигурации не удаляет данные, но если новый релиз уже изменил структуру данных обработчиками, старая конфигурация может работать с ними некорректно. Полная сохранность данных гарантируется только при восстановлении из резервной копии.
Нужно ли откатывать платформу вместе с конфигурацией?
Обычно нет: конфигурации старых релизов, как правило, работают на более новых версиях платформы. Но если обновлялась и платформа, и проблемы связаны именно с ней, откат платформы выполняется отдельно — установкой прежней версии и перерегистрацией базы в кластере (для клиент-серверного варианта).
Как откатить обновление в клиент-серверной базе?
Логика та же: восстановление средствами СУБД из резервной копии либо загрузка cf через конфигуратор, подключённый к серверной базе. Перед началом заблокируйте соединения в консоли кластера и остановите регламентные задания, чтобы исключить работу пользователей во время отката.
Что важно запомнить
Откат обновления 1С — это всегда восстановление: из резервной копии, из файла cf прежнего релиза или из хранилища конфигурации. Выбирайте способ по тому, изменились ли данные обработчиками обновления. Перед откатом обязательно выгрузите текущее состояние базы, после — проверьте номер релиза, проведение документов и целостность данных.