Жизненные циклы

Каждый класс может иметь несколько жизненных циклов. Жизненный цикл - это то, что назначает состояние каждого экземпляра класса и позволяет экземпляру изменять свое состояние с помощью переходов между состояниями. Например, класс Инцидент может иметь жизненный цикл Вычисление, который имеет такие состояния как Открытый, В процессе и Закрытый.

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

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

  • Добавление по крайней мере двух состояний
  • Добавление позволенных переходов между этими состояниями

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

Добавление панели переходов между состояниями к инструментальной панели экземпляров класса

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

callFunction({env/storageContext}, "currentTransitions", "class1", "cycle1", {data}, dc(), {env/storageInstanceId})

где

class1 - это имя класса, чей переход между состояниями будет показан

cycle1 - это имя жизненного цикла