К статье
Практический материал

Разработка и Конфигурация · 11 мин

Как отменить изменения в конфигураторе 1С

Как отменить изменения в конфигураторе 1С: откат через хранилище, сравнение конфигураций, восстановление из копии. Пошаговые инструкции и типичные ошибки.

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

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

Ниже разобраны все рабочие сценарии: от отмены несохранённых правок до восстановления из копии, а также ограничения каждого способа и типичные ошибки, которые приводят к потере данных.

Отмена изменений до сохранения конфигурации

Самая простая ситуация: вы внесли правки в объекты конфигурации, но ещё не нажимали F7 (обновление конфигурации базы данных) и не сохраняли конфигурацию. В этом случае все изменения существуют только в памяти конфигуратора и в основной конфигурации, которая ещё не применена к базе.

Если файл конфигурации не сохранялся вообще, достаточно закрыть конфигуратор и ответить «Нет» на вопрос о сохранении. При следующем открытии вы увидите конфигурацию в том состоянии, в котором она была до начала работы.

Если конфигурация уже сохранена (Ctrl+S или «Сохранить конфигурацию»), но обновление базы данных не выполнялось, ситуация всё ещё обратима: конфигурация базы данных осталась прежней, изменена только основная конфигурация. Для отката используется отдельная команда, описанная в следующем разделе.

Возврат к конфигурации базы данных

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

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

Порядок действий
  1. 1
    Откройте конфигуратор и убедитесь, что обновление базы данных ещё не выполнялось (нет сообщения о реструктуризации)
  2. 2
    Если часть правок нужно сохранить, выгрузите изменённые модули или объекты в файлы
  3. 3
    Выберите Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД
  4. 4
    Подтвердите операцию в диалоге
  5. 5
    Проверьте результат: откройте ранее изменённый объект — правки должны отсутствовать

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

Откат после обновления конфигурации базы данных

Если обновление конфигурации БД уже выполнено (нажата клавиша F7 и пройдена реструктуризация), команда «Вернуться к конфигурации БД» бесполезна — обе конфигурации теперь одинаковые и содержат ваши изменения. Здесь работают три подхода: сравнение с эталонной конфигурацией, откат через хранилище и восстановление из резервной копии.

Первый вариант — загрузка эталонной конфигурации поставщика. Если база работает на типовой конфигурации с поддержкой, можно выполнить Конфигурация → Поддержка → Настройка поддержки и через сравнение с конфигурацией поставщика увидеть все отличия. Затем через «Сравнить, объединить с конфигурацией из файла» загрузить эталонный .cf и снять галочки со своих доработок, оставив их в старом виде.

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

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

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

Для отката откройте Конфигурация → Хранилище конфигурации → Хранилище, найдите нужную версию в истории и используйте команду «Получить конфигурацию версии» (или «Откатиться к версии» через сравнение). Платформа загрузит состояние конфигурации на выбранную версию.

Если нужно отменить только часть правок конкретного объекта, откройте историю объекта: правой кнопкой по объекту → «История хранилища». Там можно сравнить версии и получить старую версию отдельного объекта, не трогая остальную конфигурацию.

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

Восстановление из резервной копии

Когда хранилище не используется, а эталонной конфигурации нет (самописная или сильно доработанная база), единственный надёжный способ отката — резервная копия. Для файловых баз это выгрузка в .dt (Администрирование → Выгрузить информационную базу) или копия файла 1Cv8.1CD; для клиент-серверных — копия средствами СУБД.

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

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

Сравнение способов отката

Вернуться к конфигурации БД

Подходит, если база данных ещё не обновлена. Быстро, но удаляет все несохранённые правки без возможности частичного отката.

Хранилище конфигурации

Подходит при командной разработке. Позволяет откатить всю конфигурацию или отдельные объекты к любой помещённой версии. Не работает без предварительной настройки.

Загрузка .cf из копии

Универсальный вариант при наличии резервной копии. Сохраняет текущие данные, но требует внимательности при реструктуризации.

Восстановление базы из .dt

Полный откат к моменту копирования. Теряются все данные, введённые после создания копии.

Частичная отмена: отдельные объекты и модули

Часто отменить нужно не всё, а одну ошибочную правку — например, изменённый модуль документа. Для этого удобно сравнение конфигураций: Конфигурация → Сравнить конфигурации. Выберите основную конфигурацию и конфигурацию базы данных (или файл эталонного .cf) — платформа покажет дерево различий.

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

Для объединения с файлом используйте «Сравнить, объединить с конфигурацией из файла»: в настройках правил объединения можно указать, что приоритет отдаётся загружаемой (эталонной) конфигурации, и отметить только те объекты, которые нужно откатить.

Типичные ошибки
01
Обновление конфигурации БД сразу после правок без промежуточной проверки — после реструктуризации простой откат становится невозможен
02
Отсутствие резервной копии перед доработками — при ошибке не к чему возвращаться
03
Загрузка старой конфигурации без анализа реструктуризации — удаляются реквизиты вместе с введёнными данными
04
Откат всей конфигурации вместо точечного восстановления одного объекта — теряются чужие или полезные правки
05
Работа в рабочей базе без копии — ошибка сразу затрагивает пользователей

Как проверить результат отката

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

Запустите тестирование и исправление (Администрирование → Тестирование и исправление) в режиме проверки логической и ссылочной целостности, если откат затрагивал структуру метаданных. Для серьёзных изменений полезно прогнать базу в пользовательском режиме: открыть ключевые документы, отчёты и формы, которые связаны с откаченными объектами.

Контрольные точки

Как проверить результат

Состояние откаченного объекта
Норма

Код и свойства совпадают с эталонной версией

Тревожный признак

Объект содержит остатки правок или не открывается

Обновление конфигурации БД
Норма

Выполняется без ошибок и непредвиденной реструктуризации

Тревожный признак

Платформа требует удалить объекты с данными, которых быть не должно

Работа пользовательского режима
Норма

Документы проводятся, отчёты формируются без ошибок

Тревожный признак

Ошибки обращения к несуществующим реквизитам или методам

Профилактика: как не потерять работу в будущем

Лучший способ отмены изменений — тот, который подготовлен заранее. Перед любой доработкой делайте выгрузку .dt или хотя бы выгрузку конфигурации в .cf. Это занимает несколько минут и превращает любой откат в простую операцию.

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

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

Итог

Что важно запомнить

До обновления базы данных откат делается командой «Вернуться к конфигурации БД». После обновления — через хранилище, загрузку эталонного .cf или резервную копию. Регулярные копии и хранилище превращают откат из аварии в штатную операцию.

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

Можно ли отменить обновление конфигурации базы данных после F7?

Отдельной кнопки «отменить обновление» в платформе нет. После реструктуризации вернуться можно только загрузив прежнюю конфигурацию из файла .cf, через хранилище или восстановив базу из резервной копии. Поэтому перед F7 стоит убедиться, что копия существует.

Что будет с данными при загрузке старой конфигурации?

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

Как отменить изменения одного модуля, не трогая остальное?

Откройте сравнение конфигураций (основной и конфигурации БД или эталонного файла), найдите объект, откройте построчное сравнение модуля и вручную перенесите прежний код. При работе с хранилищем используйте «Историю хранилища» объекта и получите его старую версию.

Работает ли откат, если база на поддержке без возможности изменения?

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

Можно ли восстановить удалённый объект конфигурации?

Если после удаления конфигурация БД не обновлялась — да, командой «Вернуться к конфигурации БД». После обновления объект восстанавливается только из хранилища, эталонного .cf или резервной копии. Данные удалённого объекта после реструктуризации восстановить нельзя — только из копии.

Чем отличается «Загрузить конфигурацию из файла» от «Сравнить, объединить»?

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