Поделиться через


Когда и где применять правило поля

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

В качестве области правил для полей также может выступать определенное состояние, переход и даже причина. Полный набор правил, которые применяются к какому-то определенному полю, является совокупностью следующих четырех подмножеств:

  • правила для типа рабочего элемента;

  • правила для состояния;

  • правила для перехода;

  • правила для причины.

Правила для типа рабочего элемента

Правила для определенного типа рабочего элемента применяются независимо от расположения рабочего элемента в модели состояний. Например, правило <REQUIRED /> выполняет следующую проверку:

"MyField Value" != NULL

Правила для состояния

Правила для состояния распространяются на экземпляр рабочего элемента в определенном состоянии. Правила для состояния применяются, когда выполняется следующее условие:

State field value == "MyState" && "MyField Value" != NULL

Правила для перехода

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

State field value == "ToState"  &&

"Previous State Before Edit/New" == "FromState"

&& "MyField Value" != NULL

Правила для причины

Правила для причины распространяются на конкретную причину определенного перехода. Правила для причины обрабатываются, когда выполняются следующие условия:

Reason field == "MyReason" &&

State field value == "ToState"  &&

"Previous State Before Edit/New" == "FromState" && "MyField Value" != NULL

Ограничение области правил для полей

Правилам для полей можно задать область, используя элементы FIELDS и FIELD (рабочий процесс) внутри элементов STATE, TRANSITION и REASON.

Примечание

При перечислении полей в бизнес-правиле, следует указать только ссылочное имя поля.

Пример

В приведенном ниже примере определяется следующее правило: "Когда ошибка находится в активном состоянии, запретить изменение поля важности клиента".

<STATE name="Active">
<FIELDS>
<FIELD refname="MyCorp.Severity" >
<READONLY />
</FIELD>
</FIELDS>
</STATE>

См. также

Другие ресурсы

Определение и настройка рабочего процесса рабочего элемента