- Создатель Васильев Антон, отредактировано 24.05.2024
Краткое описание
Вычисление одного Условия применения (УП) происходит по следующим правилам:
- Условия по одному параметру объединяются логикой «ИЛИ», кроме условий на состояние бизнес-объекта, где логика объединения условий задается настройками.
- Условия по разным параметрам объединяются логикой «И».
- Условие применения работает только при полном соответствии всем параметрам.
Например, Условие применения «CanSign» можно представить как:
(Режим формы = Чтение) И (Значение Свойства «$canSign» = «Да»),
и элемент, к которому будет применено это Условие применения, будет отображаться на форме только при точном его выполнении.
Если к одному элементу интерфейса применяется несколько Условий применения, то итоговое условие вычисляется по следующим правилам:
- Каждое условие разбивается на составные части по параметрам.
- Части всех Условий применения по одному параметру объединяются логикой «ИЛИ».
- Полученные условия по разным параметрам объединяются логикой «И».
Например, если описаны два Условия применения:
УП1
(Режим формы = Редактирование) И (Роль = Делопроизводитель) И (Статус объекта = (Поле_А=1 И Поле_Б=1))
УП2
(Режим формы = Чтение) И (Роль не указана) И (Статус объекта = (Поле_В=1 ИЛИ Поле_Д=1))
То при наложении на элемент интерфейса обоих Условий применения результирующее условие будет имет вид:
УП1+УП2
(Режим Формы = Редактирование ИЛИ Чтение) И (Роль = Делопроизводитель) И (Статус объетка = ((Поле_А=1 И Поле_Б=1) ИЛИ (Поле_В=1 ИЛИ Поле_Д=1)))
<?xml version='1.0' encoding='UTF-8'?> <ui xmlns="http://www.intertrust.ru/schema/palette/tn-ui"> <condition name="{name}"> <!-- Роли --> <roles> <role name="{name role}"/> <role name="{name role}"/> </roles> <!-- Режим формы --> <modes> <mode name="{name mode}"/> <mode name="{name mode}"/> </modes> <!-- Состояние объекта --> <schema-ref ref="{schema name}" condition-union="AND" > <boolean-ref value="true" ref="{name schema property}"/> </schema-ref> <!-- Выражение --> <expression lang="JavaScript"><![CDATA[...]]></expression> </condition> </ui>
attributes
Параметры | Описание |
---|---|
name | Название условия применения |
roles
Роли пользователя
Параметры | Описание |
---|---|
role | Название роли в приложении или системной роли |
modes
Режимы формы
Параметры | Описание |
---|---|
mode | Режим формы. Варианты:
|
schema-ref
Состояние бизнес объекта
attributes
Параметры | Описание |
---|---|
ref | Название схемы объекта |
condition-union | Объединения условий. По умолчанию OR |
boolean-ref
Логический параметр
Параметры | Описание |
---|---|
ref | Название свойство схемы |
value | Значение true/false |
string-ref
Текстовый параметр
Параметры | Описание |
---|---|
ref | Название свойство схемы |
value | Текстовое значение Параметр не должен быть пустым |
integer-ref
Числовой параметр
Параметры | Описание |
---|---|
ref | Название свойство схемы |
value | Числовое значение Параметр не должен быть пустым |
double-ref
Числовой параметр, с плавающей точкой
Параметры | Описание |
---|---|
ref | Название свойство схемы |
value | Числовое значение, с плавающей точкой Параметр не должен быть пустым |
expression
Выражение
Параметры | Описание |
---|---|
lang | Тип кода. Используется JavaScript Пример return object.id != null && object.type != null && object.type === 'DATE_INTERVAL' && object.condition != null && object.condition === 'INTERVAL'; |
Статус | ГОТОВО |
---|---|
Комментарий | digest, digest1, digestSOLiveSearch |
Теги и атрибуты: