Перейти к основному содержимому
Версия: 1.23.3

Откат

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

После завершения отката импортированные версии остаются в системе как неактуальные записи VCS. Их можно восстановить вручную.

Пример

  • В конфигурационном пакете содержится запись с версией X.
  • До импорта, в целевом экземпляре находилась запись с версией Y.
  • После импорта локального пакета версия записи сменилась на X.
  • При откате локального пакета восстанавливается запись с версией Y.

Откат локального пакета


Чтобы откатить локальный пакет, выполните следующие шаги:

  1. Перейдите в КонфигурацияЛокальные пакеты.
  2. Откройте локальный пакет, который необходимо откатить.
  3. Нажмите Подготовка к откату, чтобы проверить ответ системы на восстановление записей.
  4. В области Связанные списки откройте вкладку Журнал просмотра VCS.
  5. Отфильтруйте записи, исключив все со статусом Разрешено при помощи конструктора условий. Решите все коллизии, если они есть.
  6. Нажмите Откат, чтобы восстановить предыдущую версию записей.

В результате произойдут следующие изменения:

Результат импортаРезультат отката
Новая таблицаУдаление таблицы и ее записей.
Новое полеУдаление поля из базы данных, включая всю информацию о нем.
Удаленное полеВосстановление поля в базе данных. Исходные данные при этом будут утеряны.
Новая записьЗапись удалена.
Удаленная записьЗапись восстановлена, включая исходные данные.
Обновленная записьВосстановлена предыдущая версия записи.

Решение коллизий


Общая схема работы с коллизиями во время отката следующая:

  1. В конфигурационном пакете, для которого будет совершен откат, нажмите Подготовка к откату.
  2. Прокрутите страницу вниз до области Связанные списки и откройте вкладку Журнал просмотра VCS.
  3. Отфильтруйте записи, исключив все со статусом Разрешено при помощи конструктора условий.
  4. Откройте первую запись. В поле Сообщение указана причина ошибки.
  5. Выполните необходимые действия для решения коллизии.
  6. Нажмите Сохранить или Сохранить и выйти, чтобы применить изменения.
  7. Вернитесь в конфигурационный пакет и нажмите Подготовка к откату.
  8. Убедитесь, что статус записи в Журнале просмотра VCS изменился на Разрешено.
  9. Повторите шаги 3–8 до тех пор, пока все записи в Журнале просмотра VCS не перейдут в статус Разрешено.
  10. Нажмите Откат.

Возможные коллизии


Коллизия 1

При откате локального пакета статус записи меняется на Коллизия. В поле Сообщение указано следующее:

The current version for this target entry is in a different local package. https://{your-instance.ru}/record/sys_vcs_record/123455521418546721

Решение коллизии:

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

Коллизия 2

При откате локального пакета, статус одной из записей меняется на Коллизия. В поле Сообщение указано следующее:

Current record does not exist!

Решение коллизии:

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

Коллизия 2

При откате локального пакета, статус одной из записей меняется на Коллизия. В поле Сообщение указано следующее:

Current record does not exist!

Решение коллизии:

Продолжите откат. Данная запись будет пропущена.

Коллизия 3

При откате локального пакета, статус одной из записей меняется на Коллизия. В поле Сообщение указано следующее:

Previous version for current is not found

Решение коллизии:

Продолжите откат. Данная запись будет пропущена.

Коллизия 4

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

Table is not empty

Решение коллизии:

  • Установите статус Разрешено. В этом случае таблица и ее записи будут удалены.

    ИЛИ

  • Не меняйте статус Пропущено. Таблица останется.

примечание

Больше примеров решения различных коллизий в статье Правила решений коллизий.