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