Атрибут типа «Список значений». Вычисление текущего значения
Введение
Здесь представлен пример сравнения значения атрибута типа «Список значений» с требуемым с помощью формулы.
См. также подробное описание и другие примеры использования атрибута типа «Список значений».
Структура атрибута типа «Список значений»
- Атрибут типа «Список значений» хранит ID значения, выбранного из предварительно заданного списка.
- Список возможных значений настраивается в свойствах атрибута и не может быть изменён при выполнении приложения.
- Каждое возможное значение содержит:
- Системное имя значения.
- Отображаемые названия на русском, английском и немецком языках (достаточно указать название на одном языке).
- Цвет — числовой код в десятичном формате. Для поиска кодов цветов и их преобразования из шестнадцатеричной в десятичную форму можно воспользоваться, например, сайтом https://convertingcolors.com/.
- Значок — строка с кодом FontAwesome. Для поиска кодов значков можно воспользоваться встроенной галереей значков или сайтом https://fontawesome.com/.
Сравнение значения атрибута типа «Список значений» с помощью формулы
С помощью формулы сравнить значение атрибута типа «Список значений» с требуемым можно по системному имени значения следующими способами:
-
равенство
$EnumAttributeSystemName == EnumValueSystemName
или
EQUALS($EnumAttributeSystemName->cmw.variantAlias, "EnumValueSystemName")
или
EQUALS($EnumAttributeSystemName, ENUMVALUE("EnumAttributeSystemName", "EnumValueSystemName"))
-
неравенство
$EnumAttributeSystemName !== EnumValueSystemName
или
NOT(EQUALS($EnumAttributeSystemName->cmw.variantAlias, "EnumValueSystemName"))
или
NOT(EQUALS($EnumAttributeSystemName, ENUMVALUE("EnumAttributeSystemName", "EnumValueSystemName")))
Прикладная задача
Требуется, чтобы логический атрибут «Одобрено» принимал значение true
, если для атрибута «Статус претензии» типа «Список значений» выбрано значение «Претензия удовлетворена».
Настройка приложения
-
Создайте атрибут «Статус претензии» со следующими свойствами:
- Системное имя: ClaimStatus
- Тип данных: список значений
- Список значений
Системное имя EN RU Approved
Claim approved Претензия удовлетворена Rejected
Claim rejected Претензия отклонена -
Создайте атрибут «Одобрено» со следующими свойствами:
- Тип данных: логический
- Вычислять по выражению: флажок установлен
-
Вычисляемое значение: формула
$ClaimStatus == "Approved"
или
EQUALS($ClaimStatus->cmw.variantAlias, "Approved")
или
EQUALS($ClaimStatus, ENUMVALUE("ClaimStatus", "Approved"))
Синтаксис формул
- Все три варианта формулы возвращают
true
, если атрибут «Статус претензии» имеет значение «Претензия удовлетворена». EQUALS()
— принимает два аргумента и возвращаетtrue
, если они равны.$ClaimStatus->cmw.variantAlias
— возвращает строку с системным именем текущего значения атрибутаClaimStatus
.ENUMVALUE("ClaimStatus", "Approved")
— возвращает строку с ID значенияApproved
атрибутаClaimStatus
.
Тестирование
- Создайте запись.
- В поле атрибута «Статус претензии» установите значение «Претензия отклонена».
- Сохраните запись.
- Поле атрибута «Одобрено» будет пустым.
- В поле атрибута «Статус претензии» установите значение «Претензия удовлетворена».
- Сохраните запись.
- В поле атрибута «Одобрено» будет установлен флажок.
Связанные статьи
Эта статья была полезна 1 чел.