Работа с атрибутами

В предыдущей статье мы рассмотрели что такое атрибуты. Теперь переходим непосредственно с работой над их аргументами и описанием.

Для начала создадим пользовательский атрибут с произвольным именем. Например test_1:

Описание атрибута

У каждого атрибута есть аргумент и описание (Details). В аргументы вводятся формулы, а описание позволяет задать единицы измерения, наименование параметра, а также видимость этого параметра в окне параметров. Вот так выглядят эти настройки:

Так как это важные настройки, давайте разберём каждый пункт подробнее:

  1. Единицы (Units) задают тип данных, который получится после выполнения формулы в аргументе атрибута. Например, если выполняется работа с текстовыми или смешанными данными и на выходе значение должно быть текстовым, то выбираем в этом пункте значение "Текст". Если это будут вычисления, где на выходе должно получится число, то выбираем из списка "Сантиметры" (если пользуетесь метрической системой) или Дюймы (если имперская система).
  2. Пункт "Правило отображения" (Display rule) отвечает за то, как атрибут будет отображаться в окне параметров. Обычно тут есть 4 пункта:
    • Пользователи не могут видеть этот атрибут - атрибут не будет отображаться в окне параметров.
    • Пользователи могут видеть этот атрибут - атрибут и его аргумент будут видны в окне параметров, но изменить его значение нельзя.
    • Пользователи могут редактировать как текстовое поле - атрибут и его аргумент будут видны в окне параметров, значение агрумента можно изменить, вписав другое.
    • Пользователи могут выбирать из списка - в окне параметров будет отображатся атрибут и список значений, где можно выбрать нужный пункт.
  3. Отобразить подпись - сюда можно вписать подпись, которая будет отображаться в виде имени атрибута в окне параметров. Это удобно, т.к.имя атрибута довольно редко понятно конечному пользователю из-за особенностей и правил его составления.
  4. Отображать здесь - формат в котором аргумент атрибута будет отображён в окне параметров. Если формула возвращает текстовые данные, то выбираем текст. Если числовые, то миллиметры, градусы и т.д. Всё зависит от того, как нужно представить данные пользователю. Важно помнить, что если в первом пункте выставлены сантиметры, а в этом, четвёртом пункте, будут выставлены миллиметры, то отображаться в окне параметров будут именно миллиметры (значение атрибута в сантиметрах будет умножено на 10, чтобы отображение было в миллиметрах), а в атрибутах работа будет продолжена в сантиметрах. Не запутайтесь!

Аргумент атрибута

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


Для формул есть несколько правил:

  • Формула всегда начинается со знака равно (=), кроме предустановленного атрибута OnClick, который не поддерживает использование в нём формул.
  • Текст в формулах всегда должен содержаться в кавычках.
  • Можно объединить "строку" со значением атрибута с помощью знака амперсанда (&). Например, для отображения текстовой строки "Цена 20 рублей", значение атрибута может быть таким: ="Цена "& price &" рублей" (где "price" это имя атрубута в котором записано значение 20).
  • Символ (#) означает ошибку в формуле.

Давайте в качестве примера создадим ещё несколько пользовательских атрибутов, которые будут содержать некоторые значения. Настроим их отображение в окне параметров. Затем в другом атрибуте проведём вычисления формулой и тоже отобразим его в окне параметров.

Пусть это будет нахождение длины гипотенузы в треугольнике. Определение звучит так: "Сумма квадратов катетов равна квадрату гипотенузы". Поэтому создаём 3 пользовательских атрибута:

  • catet_a
  • catet_b
  • hypotenuse

Подписываем их соответственно "Катет А", "Катет В" и "Гипотенуза". Везде в описании атрибута выставляем сантиметры и отображаем их в миллиметрах. Катеты пользователь может редактировать как текстовое поле, а гипотенузу пользователь может видеть.

В аргументы катетов записываем любые числовые значения, а в аргумент гипотенузы записываем такую формулу и нажимаем Enter:

=SQRT(catet_a*catet_a+catet_b*catet_b)

Готово! Теперь можно вводить у катетов в окне параметров какие-либо значения и моментально вычислять длину гипотенузы, значение которой отобразится в параметре "Гипотенуза".

P.S. Функция SQRT возвращает положительный квадратный корень из числа.

В следующей статье мы рассмотрим обращение к атрибутам.

Поделитесь этой статьёй с друзьями!

Насколько для Вас была полезной эта статья?

Рейтинг 5 (1 Голоса)
Be the first to comment