Перейти к содержанию

Атрибут типа «Список значений». Вычисление текущего значения

Введение

Здесь представлен пример сравнения значения атрибута типа «Список значений» с требуемым с помощью формулы.

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

Структура атрибута типа «Список значений»

  • Атрибут типа «Список значений» хранит 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, если для атрибута «Статус претензии» типа «Список значений» выбрано значение «Претензия удовлетворена».

Настройка приложения

  1. Создайте атрибут «Статус претензии» со следующими свойствами:

    • Системное имя: ClaimStatus
    • Тип данныхсписок значений
    • Список значений
    Системное имя EN RU
    Approved Claim approved Претензия удовлетворена
    Rejected Claim rejected Претензия отклонена
  2. Создайте атрибут «Одобрено» со следующими свойствами:

    • Тип данных: логический
    • Вычислять по выражению: флажок установлен
    • Вычисляемое значение: формула

      $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. Создайте запись.
  2. В поле атрибута «Статус претензии» установите значение «Претензия отклонена».
  3. Сохраните запись.
  4. Поле атрибута «Одобрено» будет пустым.
  5. В поле атрибута «Статус претензии» установите значение «Претензия удовлетворена».
  6. Сохраните запись.
  7. В поле атрибута «Одобрено» будет установлен флажок.

Связанные статьи

К началу