Как безопасно откатить изменения конфигурации в 1С 8.3
Содержание
Откатить конфигурацию 1С к предыдущей версии можно пятью путями: загрузить сохранённый файл .cf, вернуть объекты поставщика через механизм поддержки, загрузить полную выгрузку .dt, получить раннюю версию из хранилища конфигурации или восстановить базу
на уровне СУБД. Все операции делаются в Конфигураторе или средствами сервера баз данных — быстрее всего через загрузку .cf, если менялась только конфигурация, а данные трогать не нужно.
Прежде чем откатывать, важно понять, что именно пошло не так: сломалась структура конфигурации (формы, модули, реквизиты) или испортились данные. От этого зависит выбор способа — часть из них возвращает только конфигурацию, а часть откатывает базу целиком, вместе со всеми введёнными за это время документами.
Любой откат — потенциально разрушительная операция. Перед началом сделайте резервную копию текущего состояния: иначе неудачный откат нечем будет отменить.
Когда нужен откат и что именно откатывают
В 1С 8.3 «конфигурация» и «данные» хранятся раздельно. Конфигурация — это дерево метаданных: справочники, документы, формы, модули, отчёты. Данные — то, что пользователи ввели: проводки, документы, остатки. Платформа держит две копии конфигурации: основную (которую правят в Конфигураторе) и конфигурацию базы данных (по которой реально работают пользователи).
Типичные поводы для отката:
- 🔧 неудачное обновление: после установки нового релиза перестали открываться формы или проводиться документы;
- 🧩 ошибка в доработке: программист внёс изменение в модуль, и в рабочей базе появились ошибки;
- 🗑️ случайно удалён или испорчен объект метаданных;
- 📉 после обновления изменилась структура, и нужно вернуться к стабильной версии, пока ищут причину.
Выбор способа зависит от того, нужно ли сохранить данные:
.cf или верните объекты поставщика через поддержку. Данные останутся на месте..dt или восстановите базу на уровне СУБД. Всё, что ввели после этой точки, будет потеряно.Подготовка: резервная копия и монопольный режим
Перед откатом зафиксируйте то, что есть сейчас. Даже если текущая конфигурация с ошибкой — она может понадобиться, чтобы перенести из неё удачные правки.
Операции, которые меняют структуру конфигурации базы данных или загружают базу целиком, требуют монопольного доступа — пока они идут, другие пользователи работать не смогут. К таким относятся загрузка .dt, загрузка .cf с последующим обновлением структуры и тестирование базы
.
В клиент-серверном варианте начало сеансов блокируют в консоли кластера (rac или консоль администрирования), а активные сеансы при необходимости завершают там же командой rac session terminate. Делайте это в согласованное окно: завершение сеанса оборвёт работу пользователя без сохранения.
Резервную копию .dt делают через меню Администрирование → Выгрузить информационную базу…. Отдельно конфигурацию сохраняют через Конфигурация → Сохранить конфигурацию в файл… — получится файл .cf, который и есть «слепок» структуры без данных.
Загрузка файла конфигурации .cf и возврат к поставщику
Это самый частый сценарий: данные в базе правильные, а в конфигурации появилась ошибка. Нужно вернуть прежнюю структуру, не затрагивая документы.
Если у вас сохранён .cf стабильной версии:
- Откройте базу в режиме
Конфигуратор. - Выберите
Конфигурация → Загрузить конфигурацию из файла…и укажите сохранённый.cf. - На вопрос об обновлении согласитесь — платформа заменит основную конфигурацию.
- Выполните
Обновление конфигурации базы данных(клавишаF7). На этом шаге нужен монопольный доступ.
Загрузка конфигурации из файла полностью заменяет основную конфигурацию — все несохранённые доработки будут потеряны. Поэтому и делают резервную копию .cf заранее.
Если отдельного файла нет, но нужно вернуть типовые объекты к состоянию поставщика, используйте механизм поддержки. Понадобится дистрибутивный .cf нужного релиза (он лежит в каталоге шаблонов обновлений). Откройте Конфигурация → Сравнить, объединить с конфигурацией из файла…, укажите этот .cf и в окне сравнения отметьте объекты, которые нужно привести к версии поставщика. Так можно откатить только испорченную часть, не трогая остальное.
Настройки поддержки смотрят в Конфигурация → Поддержка → Настройка поддержки…. Если конфигурация снята с поддержки, часть автоматических сравнений будет недоступна — тогда проще загрузить .cf целиком.
Есть и более аккуратный вариант, если неудачное изменение пришло через расширение конфигурации
. Расширения (файлы .cfe) подключаются поверх основной конфигурации и не меняют её дерево. Если ошибку внесло именно расширение, откатывать основную конфигурацию не нужно — достаточно отключить или удалить расширение
. В режиме предприятия это делается в разделе с настройками администрирования, пункт Печатные формы, отчёты и обработки → Расширения; снимите флажок Используется у проблемного расширения или удалите его. Это обратимо и не затрагивает ни данные, ни типовую конфигурацию
, поэтому с расширений стоит начинать, если доработки оформлены именно так.
Полное восстановление из выгрузки .dt
Выгрузка .dt — это дамп всей информационной базы: и конфигурация, и данные в одном файле. Загрузка .dt возвращает базу ровно к тому состоянию, в котором её выгрузили.
Порядок:
- Все пользователи выходят из базы (для файловой — закрывают, для серверной — блокируем сеансы).
- В Конфигураторе выбираем
Администрирование → Загрузить информационную базу…. - Указываем нужный
.dtи подтверждаем. - После загрузки платформа перезапустится.
Загрузка .dt полностью затирает текущую базу: всё, что ввели после создания этой выгрузки, исчезнет. Если за это время работали пользователи, их документы будут потеряны.
Поэтому .dt подходит, когда нужно именно «вернуть всё как было» на конкретную дату — например, после фатального сбоя обновления. Если же данные менять нельзя, а испорчена только конфигурация, .dt — неподходящий инструмент, лучше загрузить .cf.
Частая проблема: загрузка .dt падает с ошибкой на больших базах. Выгрузка/загрузка .dt рассчитана на относительно небольшие базы; для крупных рабочих баз надёжнее восстановление средствами СУБД (см. ниже).
Практический совет по хранению копий: держите несколько .dt за разные даты, а не одну «последнюю». Если сбой заметили не сразу, единственная свежая копия может уже содержать ту же ошибку, и откатываться будет не на что. Нумеруйте файлы по дате — например, base_2026-10-01.dt — и складывайте не на тот же диск, где лежит рабочая база.
Откат версии через хранилище конфигурации
Если доработки ведутся через хранилище конфигурации, каждая помещённая версия сохраняется в истории. Это удобный способ отката: можно вернуться к любой ранее зафиксированной версии без отдельных файлов.
- Подключитесь к хранилищу:
Конфигурация → Хранилище конфигурации → Открыть хранилище конфигурации…. - Откройте историю хранилища и найдите нужную версию по номеру и комментарию.
- Выполните получение этой версии в основную конфигурацию.
- Обновите конфигурацию базы данных (
F7).
В комментариях к версиям при помещении в хранилище стоит коротко писать, что менялось. Тогда при откате вы за секунды найдёте нужную точку, а не будете сравнивать версии вслепую.
Если нужно откатить только отдельный объект (один модуль, одну форму), не обязательно возвращать всю конфигурацию — в истории хранилища можно посмотреть версию конкретного объекта и вернуть именно его.
Один нюанс. Чтобы заменить объект на версию из хранилища, он должен быть у вас захвачен. Если объект захвачен другим разработчиком, сначала согласуйте с ним — принудительное освобождение чужого захвата может привести к потере его незафиксированных правок. После получения нужной версии и обновления базы захват освобождают, чтобы объект снова стал доступен команде.
Как определить момент отката: журнал регистрации и история
Часто сложность не в том, как откатывать, а в том, на какую точку. Здесь помогает журнал регистрации — он фиксирует события в режиме 1С:Предприятие: кто и когда входил, какие документы менял, когда выполнялось обновление.
Журнал регистрации не хранит саму конфигурацию и не умеет её откатывать. Но по нему видно, в какой день база ещё работала нормально, а когда появились ошибки. По этой дате вы выбираете подходящую резервную копию .dt или .cf.
Открыть журнал можно в режиме предприятия через раздел с настройками администрирования (пункт Журнал регистрации) или из Конфигуратора — Администрирование → Журнал регистрации. Отфильтруйте события по дате и важности, чтобы отсечь штатную работу и увидеть сбои и ошибки.
Отдельно полезно сверить основную конфигурацию и конфигурацию базы данных: Конфигурация → Сравнить конфигурации…. Если они различаются, значит, изменения уже есть в дереве, но ещё не применены к базе — такой «неприменённый» откат можно отменить простой загрузкой прежнего .cf без потери данных.
Восстановление базы на уровне СУБД
Для клиент-серверных баз (MS SQL Server, PostgreSQL) надёжнее всего откатывать не средствами 1С, а восстановлением резервной копии самой СУБД. Это быстрее, чем .dt, и штатно работает даже на больших базах.
Общая логика:
- регулярный бэкап базы
настраивается на стороне СУБД (план обслуживания в SQL Server,
pg_dump/pg_basebackupв PostgreSQL); - для отката администратор восстанавливает базу из нужного бэкапа средствами сервера;
- в 1С при этом ничего загружать не нужно — после восстановления база откроется в том состоянии, что была на момент копии.
Восстановление базы СУБД, как и загрузка .dt, возвращает и данные тоже. Всё, что ввели после создания бэкапа, будет потеряно. Выполняйте только в согласованное окно и обязательно отключив пользователей.
Для файловой базы (.1CD) аналог — просто замена файла базы из копии каталога. База должна быть закрыта у всех, иначе файл будет занят. Копировать «живой» .1CD работающей базы нельзя — копия получится повреждённой.
Какой уровень выбрать: если база серверная и большая, откат через СУБД предпочтительнее. Если база небольшая или файловая — проще .dt или замена файла. Если данные трогать не нужно вовсе — ни один из этих способов не подходит, работайте с .cf.
Частые ошибки при откате
Эти ошибки чаще всего превращают простой откат в потерю данных:
- 📁 Откатили
.dtв рабочей базе без предупреждения пользователей. Введённые после выгрузки документы исчезли. Прежде чем загружать.dtили восстанавливать СУБД, всегда проверяйте дату копии и предупреждайте коллег. - 🔁 Перепутали «конфигурацию» и «базу целиком». Чтобы вернуть только сломанную структуру, нужен
.cf, а не.dt. Загрузка.dtради отката одной формы уничтожит свежие данные. - 🧊 Забыли обновить конфигурацию
базы данных. После загрузки
.cfизменения живут только в основной конфигурации, пока не нажалиF7. Пользователи продолжат работать на старой структуре, и будет непонятно, «почему откат не сработал». - 💾 Не сделали копию перед откатом. Если прежняя версия оказалась тоже с проблемой, вернуться уже некуда.
- 🧱 Пытались загрузить
.dtна большой серверной базе и получили ошибку. Для таких баз используйте восстановление средствами СУБД, а не выгрузку платформы.
Частые вопросы
Откат конфигурации удалит введённые документы?
.cf и возврат к поставщику меняют только структуру — данные остаются. Загрузка .dt и восстановление из бэкапа СУБД возвращают базу целиком, вместе с данными на момент копии.Можно ли откатить одно обновление, если не сохранял `.cf`?
.dt или бэкапа СУБД, сделанного до обновления.Чем отличается основная конфигурация от конфигурации базы данных?
Обновление конфигурации базы данных (F7), изменения в основной конфигурации на работу базы не влияют — это можно использовать для безопасного отката.Нужен ли монопольный доступ для отката?
.dt, обновления структуры после загрузки .cf и восстановления базы — да, все пользователи должны выйти. Для простого сравнения конфигураций или просмотра истории хранилища монополия не требуется.Почему `.dt` не загружается на большой базе?
.dt рассчитана на небольшие базы. На крупных рабочих базах загрузка может завершаться ошибкой или занимать часы — для них откат делают восстановлением резервной копии средствами SQL Server или PostgreSQL.