Что делать, если обновление 1С прошло неудачно
Содержание
Откатить релиз конфигурации 1С можно несколькими способами, и выбор зависит от одного факта: успели ли вы обновить конфигурацию
базы данных (клавиша F7). Если ещё не успели — хватит одной команды «Вернуться к конфигурации БД», и база останется нетронутой. Если изменения уже применены — понадобится резервная копия либо загрузка предыдущего .cf.
Самый надёжный путь — восстановление базы из копии, снятой перед обновлением. Остальные способы быстрее, но у каждого свои границы: на неудачном обновлении типовой конфигурации они срабатывают не всегда, а загрузка старого релиза поверх новой структуры способна стереть часть данных.
Любой откат, кроме «Вернуться к конфигурации БД», требует монопольного доступа к базе. Перед началом предупредите пользователей и завершите их сеансы: оборванная во время реструктуризации работа грозит повреждением данных.
С чего начать: оцениваем ситуацию перед откатом
Сначала определите, на каком этапе остановилось обновление. От этого зависит, какой способ сработает и потеряете ли вы данные.
- 🔹 Загрузили новую конфигурацию, но
F7ещё не нажимали. Самый лёгкий случай: откат мгновенный и без потерь. - 🔹 Обновление конфигурации
базы данных уже прошло. Структура базы изменилась — простым возвратом не обойтись, нужна копия или старый
.cf. - 🔹 После обновления пользователи успели поработать. Восстановление из копии вернёт и структуру, и данные на момент копии — всё, что внесли позже, придётся заносить заново.
Проверьте, что под рукой есть материал для отката: резервная копия базы
, сохранённый файл прежней конфигурации (.cf) или дистрибутив предыдущего релиза в каталоге шаблонов (tmplts). Без одного из этих источников откатить структуру не получится.
Отдельно оцените, сколько работы в базе велось после обновления. Если прошло несколько минут и никто не успел ничего внести — потери от восстановления из копии будут нулевыми. Если же база проработала полдня, прежде чем проблему заметили, взвесьте: иногда дешевле исправить последствия релиза на месте, чем потерять введённые за это время документы. Решение принимают по тому, что важнее — чистая структура или свежие данные.
Чтобы было проще сопоставить способы между собой, вот их короткая сводка — когда применять и чем рискуете:
| Способ отката | Когда подходит | Что с данными | Нужен монопольный доступ |
|---|---|---|---|
| Вернуться к конфигурации БД | F7 ещё не нажата | Не затрагиваются | Нет |
| Восстановление из копии | Копия снята перед обновлением | Откатываются на момент копии | Да |
Загрузка прежнего .cf | Есть файл старого релиза | Возможна потеря по новым объектам | Да |
| Хранилище конфигурации | Командная разработка | Данные не откатывает | Да |
Если копия есть — почти всегда выбирайте её: это единственный способ, который возвращает базу целиком и предсказуемо. Остальные варианты применяют, когда копии нет или когда откатить нужно только часть изменений.
Возврат к конфигурации базы данных — когда F7 ещё не нажата
Это самый безопасный откат. Он отменяет изменения в основной конфигурации, которые ещё не перенесены в конфигурацию базы данных. Данные не затрагиваются вообще — меняются только метаданные.
Порядок действий в Конфигураторе:
- Откройте базу в режиме
Конфигуратор. - Меню
Конфигурация→Конфигурация базы данных→Вернуться к конфигурации БД. - Подтвердите откат. Основная конфигурация снова совпадёт с той, что работает в базе.
Способ выручает в типичной ситуации: вы загрузили новый релиз, открыли основную конфигурацию, увидели ошибку сравнения или ненужные изменения — и ещё не обновляли структуру. Если команда «Обновить конфигурацию базы данных» уже выполнена, этот путь не поможет: изменения ушли в базу, и возвращать придётся другими методами.
Отличить состояние просто: если в заголовке Конфигуратора после названия конфигурации стоит звёздочка * или пункт меню «Обновить конфигурацию базы данных» активен — значит, основная конфигурация расходится с базой, и возврат ещё доступен.
Восстановление из резервной копии — самый надёжный путь
Если обновление уже применено к базе, восстановление из копии возвращает и структуру метаданных, и данные на момент её создания. Это единственный способ, который гарантированно отменяет любые последствия неудачного релиза.
Файловая база (.dt). Выгрузку делают и загружают через Конфигуратор:
- Меню
Администрирование→Загрузить информационную базу. - Укажите файл
.dt, снятый перед обновлением. - Подтвердите — платформа полностью перезапишет текущую базу содержимым копии.
Клиент-серверная база
(SQL Server или PostgreSQL). Здесь копию восстанавливают средствами СУБД — через SSMS для MS SQL или pg_restore для PostgreSQL. После восстановления в самой 1С делать ничего не нужно: вернётся и конфигурация, и данные.
Восстановление затирает всё, что внесли после снятия копии. Если между обновлением и откатом в базе уже работали — эти документы и движения будут потеряны. Перед восстановлением снимите свежую копию текущего состояния: вдруг часть новых данных понадобится перенести вручную.
Загрузка .dt и восстановление средствами СУБД требуют монопольного доступа. В клиент-серверном варианте завершите сеансы через консоль кластера или установите блокировку начала сеансов, иначе платформа не даст перезаписать базу.
Загрузка предыдущего релиза из файла конфигурации
Когда резервной копии нет, но сохранён файл прежней конфигурации (.cf) или остался дистрибутив старого релиза, откат делают загрузкой этой конфигурации поверх текущей.
- В Конфигураторе:
Конфигурация→Загрузить конфигурацию из файла. - Выберите
.cfпредыдущего релиза. Если заранее не сохраняли свой файл, возьмите поставочный.cfстарой версии из каталога шаблонов (tmplts) или скачайте дистрибутив релиза повторно. - После загрузки выполните
Конфигурация→Конфигурация базы данных→Обновить конфигурацию базы данных(F7).
Платформа сравнит старую конфигурацию с текущей структурой базы и покажет план реструктуризации. Если новый релиз добавил или изменил объекты, которые хранят данные, при откате появится предупреждение о потере данных — платформа удалит таблицы объектов, которых в старом релизе нет. Читайте это окно внимательно: именно здесь теряются данные, которые успели накопиться в новых справочниках, регистрах или реквизитах.
Файл своей рабочей конфигурации стоит сохранять перед каждым обновлением: Конфигурация → Сохранить конфигурацию в файл. Такой .cf содержит все ваши доработки и настройки поддержки — восстановить из него точнее, чем из чистого поставочного дистрибутива.
Загрузка из файла полностью заменяет основную конфигурацию, включая правила поддержки, записанные в самом файле. Для контролируемого отката целого релиза это подходит лучше, чем частичное объединение.
Пара моментов, о которых забывают. Во-первых, если прежний релиз был на замке поддержки без возможности изменения, загруженная конфигурация вернёт и этот режим — доработки после отката снова окажутся заблокированы, пока вы не снимете замок. Во-вторых, перед обновлением конфигурации базы данных закройте все сеансы: платформа не выполнит реструктуризацию, пока в базе кто-то работает, и будет ждать монопольного доступа.
Откат через хранилище конфигурации
Если конфигурация ведётся в хранилище (командная разработка), история версий хранит каждую помещённую правку с номером и комментарием. Это позволяет вернуться к состоянию до неудачного релиза.
- Подключите рабочую базу к хранилищу:
Конфигурация→Хранилище конфигурации→Открыть конфигурацию хранилища. - Откройте историю хранилища и найдите версию, которая была до обновления, — ориентируйтесь по дате и комментарию помещения.
- Получите конфигурацию этой версии и верните её в рабочую базу, затем обновите конфигурацию базы данных (
F7).
Чтобы зафиксировать откат как новую версию, объекты придётся захватить и поместить в хранилище заново — история версий сама по себе не «перематывается» назад, она только пополняется. Название отдельных пунктов меню истории может отличаться между релизами платформы, но логика одна: найти версию → получить её конфигурацию → применить к базе.
Хранилище хранит версии конфигурации, но не данные. Если после обновления пользователи успели поработать, возврат старой версии конфигурации данные не откатит — для этого всё равно нужна резервная копия базы.
Частичный откат: исключение объектов и разбор конфликтов
Иногда нужно вернуть не весь релиз, а только часть изменений — например, отменить правку одной подсистемы, оставив остальное. Для этого вместо полной загрузки используют сравнение с объединением.
- Меню
Конфигурация→Сравнить, объединить с конфигурацией из файла. - Укажите
.cfпредыдущего релиза. Откроется окно сравнения-объединения со списком различий. - Снимите флажки с объектов, которые откатывать не нужно, — они останутся в текущем виде.
- Для объектов с конфликтами задайте, какую версию взять: из файла (откат) или оставить текущую.
- Нажмите «Выполнить», затем обновите конфигурацию базы данных.
В окне сравнения удобно включить фильтр, показывающий только изменённые объекты, — так проще не потерять нужное среди сотен совпадающих. Каждое снятие или установка флажка меняет итоговый состав объединения, поэтому проверьте выбор до запуска.
Если среди откатываемых объектов есть такие, где изменилась структура хранения, платформа снова предупредит о возможной потере данных. Частичный откат так же опасен для данных, как и полный, — различается только объём затронутых объектов.
Частичное объединение — инструмент для аккуратной правки, а не для срочного восстановления. Когда база «легла» целиком, быстрее и безопаснее восстановить её из копии, чем вручную разбирать десятки конфликтов.
Тестирование и ввод базы в работу после отката
Откат меняет структуру базы, поэтому перед тем как пускать пользователей, базу нужно проверить.
- Запустите
Администрирование→Тестирование и исправление. Включите проверку логической и ссылочной целостности и реиндексацию таблиц. Для файловой базы дополнительно помогает утилитаchdbfl.exe. - Зайдите в базу в режиме
1С:Предприятиеи проверьте ключевые участки: откройте несколько документов, перепроведите один-два свежих, сформируйте привычный отчёт. Если всё открывается и считается — структура цела. - Убедитесь, что номер релиза в разделе «О программе» соответствует тому, к которому откатывались.
- Снимите блокировку начала сеансов и верните пользователям доступ.
Если база опубликована на веб-сервере, после отката проверьте, что веб-клиент открывается. Публикацию менять не нужно — релиз конфигурации на неё не влияет, но убедиться в доступности базы стоит.
Отдельно предупредите пользователей, какие данные пропали, если откат делался восстановлением из копии. Лучше заранее собрать список введённых после копии документов, чтобы потом занести их повторно без потерь.
И сразу разберитесь, почему релиз пришлось откатывать. Если обновление упало на конкретном шаге — на реструктуризации, на обработчике обновления данных или на проверке совместимости расширений, — повторная попытка без устранения причины закончится тем же. Отключите конфликтующее расширение, обновите платформу до нужного номера или устраните ошибку в данных, а уже потом планируйте обновление заново, на свежей копии.
Частые вопросы
Откатится ли платформа 1С вместе с конфигурацией?
1cv8 остаётся той же. Если нужно вернуть и платформу, её понижают отдельно, и только когда конфигурация это поддерживает.Потеряю ли я данные при возврате к конфигурации БД?
Что делать, если `.cf` старого релиза не сохранён?
tmplts) или скачайте дистрибутив этого релиза повторно с ресурса поддержки. Поставочный .cf не содержит ваших доработок, поэтому после отката их придётся вернуть отдельно.Можно ли откатить только один документ или подсистему, не трогая остальное?
Сравнить, объединить с конфигурацией из файла: в окне сравнения снимаются флажки с объектов, которые откатывать не нужно. Но если у выбранного объекта менялась структура хранения, платформа всё равно предупредит о возможной потере данных.Нужен ли монопольный доступ для отката?
.dt — да, монопольный доступ обязателен. Команда «Вернуться к конфигурации БД» монополии не требует, но на практике откат всё равно делают на закрытой для пользователей базе.