Как вернуться к конфигурации базы данных при работе с хранилищем конфигурации 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

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

Почему команда «Вернуться к конфигурации БД» заблокирована?

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

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

Способ 1. Прямое сравнение и объединение с конфигурацией базы данных

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

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

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

Способ 2. Отмена захвата объектов в хранилище

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

  1. Выделим нужный объект метаданных или корневой узел дерева конфигурации.
  2. Перейдем в меню: Конфигурация → Хранилище конфигурации → Отменить захват.
  3. Подтвердим отмену изменений. Платформа сотрет локальные модификации и вернет объекты к состоянию последней полученной версии из хранилища.

Способ 3. Выгрузка конфигурации БД в файл и последующее объединение

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

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

Способ 4. Возврат через отключение от хранилища (с последующей синхронизацией)

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

  1. Отключим информационную базу от хранилища через меню Конфигурация → Хранилище конфигурации → Администрирование хранилища → Отключиться от хранилища.
  2. Выполним теперь уже доступную команду Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД.
  3. Сохраним полученную чистую конфигурацию в файл через Конфигурация → Сохранить конфигурацию в файл....
  4. Снова подключимся к хранилищу конфигурации.
  5. Рекурсивно захватим корень конфигурации в хранилище.
  6. Выполним сравнение и объединение с ранее выгруженным файлом .cf, чтобы перенести восстановленное состояние в хранилище.

Способ 5. Использование истории версий хранилища

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

  1. Откроем Конфигурация → Хранилище конфигурации → История хранилища.
  2. Найдем номер версии, которая соответствует текущей рабочей конфигурации базы данных.
  3. Выделим эту версию и нажмем кнопку Сравнить/объединить с конфигурацией.
  4. Применим изменения в основную конфигурацию и при необходимости зафиксируем новую версию в хранилище.
← На главную