Правила решения коллизий
Загрузка пакета выполняется после сохранения прикрепленного SOP–файла к записи импортируемого пакета. При загрузке конфигурационных пакетов выполняется проверка записей VCS из пакета на предмет коллизий с конфигурацией целевого экземпляра. После загрузки пакета необходимо проанализировать коллизии.
Коллизия – это логическое противоречие между текущим и импортируемым содержимым или свойствами конфигурационной записи.
Пример:
- Пользователь экспортировал локальный пакет с настройками бизнес-правила.
- Пользователь прикрепил пакет к записи импортированного пакета на другом экземпляре, где существует более новая версия этого бизнес-правила, т.е. она была обновлена позже, чем запись на исходном экземпляре.
- Пользователь получил сообщение о коллизии: на целевом экземпляре содержится более новая версия этой записи.
Информация о загрузке пакета содержится в связанном списке Журнал просмотра VCS на форме Импортированного пакета. Для каждой версии пакета отображается статус загрузки в соответствующем поле и информация о коллизии в поле Сообщение.
Возможные статусы загрузки:
Статус | Описание |
---|---|
Коллизия | Версия в этом статусе не может быть импортирована до тех пор, пока причины коллизии не будут устранены. |
Норма | Версия не вызыв ает коллизию. |
Пропущено | Версия в этом статусе будет проигнорирована в процессе установки пакета. Для импорта версии измените статус Пропущено на Норма. |
Предупреждение | Статус присваивается версиям, которые имеют незначительные проблемы, связанные с импортом. В зависимости от ошибки записи VCS будут либо перенесены на целевой экземпляр, либо пропущены. |
Для решения коллизий после загрузки пакета, выполните следующие шаги:
-
Откройте вкладку Журнал просмотра VCS в области Связанные списки на форме Импортированного пакета.
-
Отфильтруйте список, исключив все записи со статусом Норма.
-
Откройте первую запись. В поле Сообщение будет указана причина ошибки.
-
Откройте запись из связанного списка Извлеченные записи.
-
Внесите необходимые изменения в поле Копия записи (JSON).
примечаниеВ ряде случаев, когда решение коллизий требует большого количества изменений, рекомендуется производить повторную сборку локального пакета на исходном экземпляре. После выгрузки пакета замените пакет во вложениях к Импортированному пакету и нажмите кнопку Загрузить повторно.
-
Нажмите Сохранить и выйти.
-
Вернитесь в запись импортированного пакета и нажмите Подготовить к импорту.
-
Убедитесь, что статус записи в связанном списке Журнал просмотра VCS изменился на Норма.
-
Повторите шаги 3–8 до тех пор, пока все записи в списке Журнал просмотра VCS не перейдут в статус Норма или, при необходимости, Пропущено.
-
Нажмите кнопку Импортировать обновления.
Если запись вызывает несколько коллизий, в системе отобразится только первая. Исправьте ошибку и нажмите Подготовить к импорту, чтобы увидеть следующую коллизию, связанную с этой записью.
Возможные коллизии
Коллизия 1
В пакете содержится версия записи Х. Запись Х связана с другой записью Y, которой нет на экземпляре. Версия записи Y также отсутствует в импортируемом пак ете. При загрузке записи VCS в Журнале просмотра VCS в поле Сообщение появится информация:
Reference {sys_id} in {column_name} does not exists in referenced table {reference_table_name}
Решение:
-
Добавьте версию записи Y в локальный пакет на исходном экземпляре.
ИЛИ
-
Оставьте запись в Журнале просмотра VCS в статусе Пропущено.
Коллизия 2
В пакете содержится версия на удаление записи Х. На экземпляре содержится запись, которая ссылается на запись X, или в пакете содержится версия записи, которая ссылается на запись Х. При загрузке записи VCS в Журнале просмотра VCS в поле Сообщение появится информация:
{column_name} column in {reference_table_name} table referenced on this record;
Решение:
Оставьте запись в Журнале просмотра VCS в статусе Пропущено.