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