Управление версиями конфигурации

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

Например, администратор системы создаёт новый раздел: добавляет приложения, процессы, виджеты, формы. На определённом этапе можно проверить работу компонентов раздела, зафиксировать его первую рабочую версию и продолжить разработку раздела. Через некоторое время снова можно зафиксировать версию, уже с новыми доработками. Если возникнет ошибка, обнаружение или исправление которой потребует много времени, можно быстро сделать текущей ту версию, в которой ошибка ещё не появилась.

В этой статье подробнее рассмотрим работу с версиями решения, раздела и модуля, которая выполняется по общим принципам.

Про особенности версионирования приложений, виджетов, бизнес-процессов и других структур читайте в статье «Версионность структур в ELMA365».

Состав версий решения, раздела и модуля

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

Родительская структура

Дочерние структуры, версии которых составляют версию родительской структуры

Решение

Разделы, модули, виджеты, процессы и страницы на уровне компании. Также версия решения хранит значения его параметров — названия, описания и признака платности.

Раздел

Приложения, виджеты, процессы и страницы на уровне раздела.

Модуль

Виджеты, процессы и методы API.

Для других структур в составе модуля и его настроек не поддерживается версионирование, поэтому они не входят в состав версии. При восстановлении архивной версии другие структуры и настройки не будут изменены или удалены. Подробнее читайте в статье «Создание модуля».

Правила создания версий решения, раздела и модуля

  1. Версия решения, раздела или модуля создаётся автоматически — при её импорте или обновлении. Версия раздела также добавится при его копировании.
  2. Версию решения, раздела или модуля можно зафиксировать вручную — в любой момент. Например, сохраните первый рабочий вариант нового раздела и затем продолжите его разработку.
  3. Если фиксируется версия решения, раздела или модуля — в ней сохраняются текущие версии дочерних структур, а не создаются новые версии.

Начало примечание

Примечание

Особенности создания версий решения, раздела и модуля по сравнению с другими структурами:

  • для решения, раздела и модуля можно вручную создавать версии, а версии других структур могут быть добавлены только автоматически;
  • при импорте или обновлении решения версия раздела, модуля, а также метода API не создаётся, а версии других структур добавятся, если в их настройках есть изменения.

Конец примечание

Работа с версиями на странице «Инструменты разработчика»

Для работы с версиями структур конфигурации перейдите на страницу Администрирование > Инструменты разработчика и выберите пункт Управление версиями конфигурации.

Обратите внимание:

  • версионирование структур доступно в системе, если включён фича-флаг allowVersionsSnapshots;
  • страница Управление версиями конфигурации доступна начиная с версии системы 2026.3 и выше, если включён фича‑флаг exp_exchange_enable_packageVersions и выполнена миграция сервиса exchangeSrv.

Подробнее об активации фича-флагов в поставке On-Premises читайте в статьях «Изменение параметров ELMA365 Enterprise» и «Изменение параметров ELMA365 Standard». Если вы используете поставку SaaS, обратитесь к вашему менеджеру ELMA365.

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

Содержимое структур можно развернуть. Каждый тип структуры обозначен в дереве определённым значком. Если навести курсор на значок, отобразится название типа структуры: решение, раздел, модуль, приложение, страница, виджет, процесс или метод API.

configuration-versioning-1

Справа от названия решения, раздела или модуля нажмите значок трёх точек, чтобы перейти к доступным действиям:

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

Особенности отображения структур в дереве конфигурации

Зафиксировать версию структуры

Вы можете вручную зафиксировать версию решения, раздела или модуля в любой момент:

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

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

На странице Инструменты разработчика > Управление версиями конфигурации в дереве конфигурации выберите раздел, наведите курсор на значок трёх точек и нажмите Зафиксировать версию.

  1. В открывшемся окне вы увидите название текущей версии, если она была зафиксирована ранее. Заполните поля:

configuration-versioning-2

  • Версия* укажите название, которое отобразится в списке версий раздела. В дальнейшем при экспорте и импорте раздела в другую компанию это название позволит идентифицировать созданную версию, т. к. отобразится в окне запуска импорта, а также в списке версий импортированного раздела;
  • Комментарий — укажите дополнительную информацию, которая отобразится в списке версий раздела.
  1. Нажмите Зафиксировать.

Просмотр истории и управление версиями структуры

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

  • порядковый номер и название версии, заданное при её создании или редактировании;
  • время фиксации версии;
  • пользователь, создавший версию;
  • комментарий.

configuration-versioning-3

Справа от выбранной версии нажмите значок трёх точек, чтобы открыть меню доступных действий, доступных для версии решения, раздела или модуля:

  • Редактировать — изменить название версии и комментарий к ней;
  • Показать состав — отобразить в виде дерева состав дочерних структур;
  • Сравнить с текущей — сравнить выбранную и текущую версии структуры;
  • Восстановить версию — сделать выбранную версию текущей.

Отметка об изменении текущей версии структуры

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

  • значком галочки configuration-versioning-4 — состав и версии дочерних структур не изменялись с момента фиксации версии;
  • значком восклицательного знака configuration-versioning-5 — появились изменения в составе структуры. Например, в составе раздела:
    • создано приложение или страница;
    • изменена версия приложения или страницы;
    • опубликован виджет или процесс внутри раздела;
    • удалена структура в разделе.

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

configuration-versioning-6

Сравнить версии структуры

Применив опцию Сравнить с текущей, вы увидите два дерева — выбранной и текущей версий структуры. Здесь доступны действия:

configuration-versioning-7

  • развернуть дочернюю структуру, чтобы сопоставить состав двух версий;
  • сравнить версии любой дочерней структуры — отобразить в отдельном окне содержимое выбранной структуры из каждой версии в формате JSON. Для этого справа от дочерней структуры нажмите значок трёх точек и затем — Сравнить.

Восстановить версию структуры

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

  1. В списке архивных версий выберите нужную, нажмите значок трёх точек и затем — Восстановить версию. Эта опция доступна также в окне сравнения версий.
  2. В открывшемся окне подтвердите создание новой версии на основе выбранной.
  3. Выполнится проверка на наличие изменений в текущей версии. Если изменения есть, вы увидите предупреждение. Для корректной работы с версиями структуры в дальнейшем нажмите Зафиксировать версию.

configuration-versioning-8

  1. На следующем шаге выполнится восстановление выбранной версии структуры и версий её дочерних структур.

Информация о восстановленной версии будет указана в комментариях к созданной версии решения, раздела или модуля и новым версиям дочерних структур.

Особенности восстановления версий решения

  1. Нельзя восстановить версию решения, в которой есть дочерняя структура (раздел, модуль, страница или пользовательское приложение), используемая в другом решении на текущий момент. Предупреждение об этом отобразится при проверке восстанавливаемой версии решения.

Например, пользовательское приложение Заказы включено в восстанавливаемую версию Решения 1 и на текущий момент оно входит в состав Решения 2. Невозможно восстановить версию Решения 1, т.к. пользовательское приложение может быть в составе только одного решения.

  1. Если в текущей версии решения есть дочерняя структура (раздел, модуль, страница или отдельное системное приложение), которая отсутствует в восстанавливаемой версии, эта дочерняя структура не будет изменена или удалена и останется в составе решения после восстановления архивной версии.

Например, в текущей версии решения есть системное приложение Внешние пользователи, а в восстанавливаемой версии его нет. После восстановления версии этоприложение останется в составе решения.

Особенности восстановления версий раздела

Если дочерняя структура  есть в текущей версии раздела, но отсутствует в восстанавливаемой, она мягко удаляется. Это позволяет в дальнейшем восстанавливать версии раздела, в состав которых структура входит.

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

Вы можете вручную вернуть приложение в состав раздела. Для этого в левом меню раздела нажмите значок гаечного ключа, в открывшемся окне перейдите на вкладку Корзина и нажмите Восстановить.

configuration-versioning-9