Откат правок в Конфигураторе 1С: от Ctrl+Z до загрузки копии базы

· 10 мин

Содержание

Отменить изменения в Конфигураторе 1С можно четырьмя способами, и выбор зависит от того, как далеко зашла правка. Опечатку в модуле убирает Ctrl+Z. Все несохранённые правки разом откатывает Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Один испорченный объект возвращают через сравнение и объединение с копией. А если изменения уже применены к базе клавишей F7, остаётся только загрузить сохранённый файл .cf или выгрузку .dt.

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

На какой стадии правка и что её отменяет

В Конфигураторе 1С 8.3 есть две конфигурации, и путаница между ними — причина большинства неудачных откатов:

  • 🛠 Основная конфигурация — то, что вы редактируете в дереве метаданных. Её можно сохранить (Ctrl+S), но пользователи её ещё не видят.
  • 🗄 Конфигурация базы данных — то, с чем работают пользователи в режиме 1С:Предприятие. Основная попадает сюда только после команды «Обновить конфигурацию базы данных» (F7).

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

Стадия правкиЧем отменитьЧто теряется
Набрали текст в модуле, окно открытоCtrl+ZНичего
Изменили объекты, конфигурацию не сохранялиЗакрыть без сохранения или «Вернуться к конфигурации БД»Все несохранённые правки
Сохранили основную, но не нажимали F7«Вернуться к конфигурации БД»Все правки после последнего обновления БД
Нужно вернуть один объект, остальное оставитьСравнение и объединение с файлом .cfТолько правки этого объекта
Уже обновили конфигурацию БДЗагрузка .cf и повторное обновлениеДанные удалённых реквизитов не вернутся
Повредили данные или структуруЗагрузка выгрузки .dtВсё, что ввели после выгрузки
Где сейчас ваша ошибочная правка?

Горячие клавиши отмены в редакторе модулей

Текстовый редактор Конфигуратора хранит историю действий для каждого открытого окна отдельно. Отмена в модуле формы не трогает модуль объекта, открытый в соседней вкладке.

Основные сочетания:

КлавишиДействие
Ctrl+ZОтменить последнее действие
Ctrl+YПовторить отменённое
Ctrl+SСохранить основную конфигурацию
F7Обновить конфигурацию базы данных

Те же команды есть в меню Правка: рядом с каждым пунктом указано сочетание, действующее в вашей версии платформы. Если клавиши переназначены через Сервис → Параметры, ориентируйтесь на меню.

Как пользоваться отменой без сюрпризов:

  1. Остановитесь, как только заметили ошибку. Каждое следующее действие отодвигает нужный шаг вглубь истории.
  2. Нажимайте Ctrl+Z по одному разу и смотрите, что возвращается. Вставка большого фрагмента или автозамена может отменяться одним шагом целиком.
  3. Если откатили лишнее, верните его через Ctrl+Y. Но после любого нового ввода повтор отменённого пропадает.
  4. Не закрывайте окно модуля, пока не убедились, что текст в порядке. Закрытое окно историю отмены не хранит.

Ctrl+Z работает с текстом, а не со структурой. Удалённый из дерева метаданных реквизит, справочник или форму отмена не вернёт. Для таких правок нужны способы из следующих разделов.

Перед крупной переделкой процедуры скопируйте её целиком в блокнот или закомментируйте старый вариант (Ctrl+Num / в большинстве версий). Это быстрее любой процедуры отката.

Как увидеть все свои правки разом и решить, что откатывать

В Конфигураторе нет отдельного «журнала изменений» по шагам. Его роль играет сравнение основной конфигурации с конфигурацией базы данных: оно показывает каждое изменённое, добавленное и удалённое с момента последнего обновления.

Порядок действий:

  1. Откройте Конфигурация → Сравнить конфигурации.
  2. Слева выберите «Основная конфигурация», справа — «Конфигурация базы данных».
  3. Запустите сравнение. В окне результата включите отбор, при котором показываются только отличия.
  4. Пройдитесь по дереву: изменённые свойства и модули отмечены, у модулей можно открыть построчное сравнение текста.

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

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

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

Что искать в дереве отличий в первую очередь:

  • 🔍 удалённые объекты и реквизиты — их потеря опаснее всего;
  • 🔍 изменённые типы реквизитов — при обновлении базы данные могут преобразоваться;
  • 🔍 модули с большим числом отличий — там чаще всего и сидит испорченная правка.

Для истории «кто и когда менял конфигурацию» пригодится журнал регистрации (Администрирование → Журнал регистрации). Факт изменения и обновления конфигурации там фиксируется с пользователем и временем, но содержимого правок журнал не показывает.

Возврат к конфигурации базы данных: откат всех несохранённых правок

Это самый быстрый способ вернуть Конфигуратор к исходному состоянию, если пользователи не видели ваших изменений.

  1. Закройте все окна модулей и форм.
  2. Выберите Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД.
  3. Подтвердите действие.

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

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

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

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

Точечный откат одного объекта через сравнение и объединение

Частая ситуация: за день вы изменили десять объектов, а испортили один. Откатывать всё жалко. Здесь помогает объединение с файлом, в котором лежит правильная версия объекта.

Шаг 1. Получите файл с правильной версией

Подойдёт любой из вариантов:

  • 📄 копия рабочей версии: Конфигурация → Конфигурация базы данных → Сохранить конфигурацию БД в файл;
  • 📄 файл .cf, сохранённый перед началом работ;
  • 📄 файл поставки или конфигурация из хранилища.

Шаг 2. Объедините только нужное

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

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

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

Если изменения уже ушли в базу: откат из .cf и .dt

После F7 правки становятся рабочей версией. Простого «отменить обновление» нет, но есть два пути.

Вариант 1. Повторное обновление из старого .cf

Подходит, если структура базы почти не менялась: правили модули, формы, макеты, добавляли объекты.

  1. Загрузите прежнюю версию: Конфигурация → Загрузить конфигурацию из файла или объедините с файлом точечно, как описано выше.
  2. Нажмите F7 и примите изменения.
  3. Проверьте работу в режиме 1С:Предприятие.

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

Вариант 2. Загрузка выгрузки базы .dt

Нужен, когда потеряны данные или реструктуризация прошла неудачно.

  1. Сделайте текущую выгрузку на всякий случай: Администрирование → Выгрузить информационную базу.
  2. Загрузите прежнюю: Администрирование → Загрузить информационную базу.

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

СпособВозвращаетДанные после копииКогда выбирать
Загрузка .cf целикомВсю конфигурациюСохраняютсяПравки были в коде и формах
Объединение с .cfОтмеченные объектыСохраняютсяИспорчено немногое
Загрузка .dtКонфигурацию и данныеТеряютсяПовреждены данные

Хранилище конфигурации: отмена захвата и возврат версии

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

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

Откат помещённой версии. Откройте Конфигурация → Хранилище конфигурации → История хранилища. Там видно, кто и когда помещал изменения. Нужную версию можно сохранить в файл .cf и дальше объединить с основной конфигурацией точечно, как в разделе выше. Так ошибочный коммит коллеги откатывается без потери чужой работы.

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

Перед правкой рабочей конфигурации
Выполнено: 0 / 5

Ошибки, из-за которых откат не удаётся

  • ❌ Перепутали основную конфигурацию и конфигурацию БД. Сохранение через Ctrl+S не меняет рабочую версию, а «Вернуться к конфигурации БД» стирает и сохранённое. Сначала посмотрите сравнение, потом отменяйте.
  • ❌ Откат без копии текущего состояния. «Вернуться к конфигурации БД» и загрузка .cf необратимы. Минута на сохранение файла снимает риск.
  • ❌ Удалили реквизит, нажали F7, потом вернули реквизит. Поле появится, а данные нет. Спасает только .dt, сделанная до обновления.
  • ❌ Загрузили .dt в рабочую базу днём. Пользователи теряют введённые документы. Выгрузку загружают в нерабочее время или в копию базы , чтобы достать оттуда нужное.
  • ❌ Объединили всю конфигурацию вместо одного объекта. Флажки в дереве сравнения по умолчанию стоят на всех отличиях. Перед «Выполнить» снимите лишнее.
  • ❌ Конфигурация на поддержке, а правка в объекте поставщика. Полный возврат к поставке перезапишет и ваши доработки. Если доработки сделаны в расширении, проще отключить или удалить расширение через Конфигурация → Расширения конфигурации, не трогая основную.

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

Сколько шагов отмены хранит редактор модулей?
Отдельной настройки глубины в Конфигураторе нет. На практике истории хватает на всю работу в открытом окне, но после закрытия окна она пропадает.
Можно ли отменить «Обновить конфигурацию БД»?
Отдельной команды нет. Загрузите прежний .cf и обновите базу снова либо загрузите выгрузку .dt, если пострадали данные.
Почему Ctrl+Z не возвращает удалённый объект метаданных?
Отмена работает только в текстовых редакторах. Объект вернёт «Вернуться к конфигурации БД» или объединение с файлом, где он ещё есть.
Как откатить правки в расширении, не трогая основную конфигурацию?
Откройте расширение через «Конфигурация → Расширения конфигурации». Его можно отключить, удалить или загрузить прежний файл .cfe и обновить расширение в базе.
Где взять копию, если её никто не делал?
Проверьте резервные копии, если обновление типовой выполняли с созданием копии, и бэкапы СУБД на сервере. Для файловой базы ищите копии файла 1Cv8.1CD.