Классы свойств

Классы свойств

Классы свойств ​

Класс свойств – это набор заданных параметров, которые описывают какие данные принимает свойство данного класса и как оно должно быть отображено.

Модель ​

ПолеТипОписание
nameStringИмя класса свойств.
commentStringПользовательский комментарий к классу свойств.
descriptionStringОписание класса свойств.
value_type_idStringID типа значения, которое использует это свойство.
valueObjectСтандартное значение этого свойства.
multipleBooleanИспользует ли этот класс несколько значений для каждого ключа.
sourceStringID словаря, которые используется как источник значений для типа значения dictionary.
maskStringРегулярное выражение, которое фильтрует вводимые пользователем значения.
systemBooleanЯвляется ли этот класс системным.
idStringID класса свойств.
multiple_separatorStringСтрока, которая разделяет выбранные значения при отображении в интерфейсе.
value_display_templateString
Шаблон отображения значений. Для получения значения свойства можно использовать макрос {{0}}.

Словари используют следующую индексацию – ключ можно получить с помощью макроса {{0}}; {{1}} – {{N}} используются для получения соответствущих значений. |

Типы значений ​

Типы значений задаются в системе следующим образом:

json
{
    {
        "id": "ip",
        "name": "IP",
        "mask": "ip",
        "system": true
    },
    {
        "id": "mac",
        "name": "MAC",
        "mask": {
            "regex": "[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}:[A-Fa-f0-9]{2}",
            "system": true
        }
    },
    ...
}
ПараметрОписание
idID типа данных.
nameНазвание типа, отображаемое в интерфейсе.
maskРегулярное выражение, с помощью которого фильтруется значение свойства.
systemЯвляется ли тип значения системным.

Получить все типы значений можно с помощью запроса Получить все типы значений свойств.

Таблица ниже перечисляет все встроенные типы данных, которые можно использовать в классе свойств.

NOTE

При изменении типа данных класса свойств, специальные настройки для предыдущего типа данных не сбрасываются, а остаются записанными в соответствующих полях (например, поле mask для типа данных string ).

IDDescription
booleanТип, который содержит одно значение "да"/"нет".
dateТип, который хранит дату как Unix timestamp (в миллисекундах). Система отбрасывает время и использует только дату, хранящуюся в переменной.
Подробную информацию о работе этого типа данных можно найти в разделе Тип значений date
datetimeТип, который хранит дату и время как Unix timestamp (в миллисекундах).
emailТип, который содержит строку с адресом email. Этот класс используется в веб-интерфейсе, сервер не производит валидацию значения, поступившего через REST API.
floatТип, который содержит одно число с плавающей точкой.
ipТип, который содержит строку с IP адресом. Этот класс используется в веб-интерфейсе, сервер не производит валидацию значения, поступившего через REST API.
integerТип, который содержит одно целочисленное значение.
macТип, который содержит строку с MAC адресом. Этот класс используется в веб-интерфейсе, сервер не производит валидацию значения, поступившего через REST API.
phoneТип, который содержит строку с номером телефона. Этот класс используется в веб-интерфейсе, сервер не производит валидацию значения, поступившего через REST API.
stringТип, который содержит одну строку. Использует параметрmask.
timeТип, который хранит время как Unix timestamp (в миллисекундах). Система отбрасывает дату и использует только время, хранящееся в переменной.
urlТип, который содержит строку с URL. Этот класс используется в веб-интерфейсе, сервер не производит валидацию значения, поступившего через REST API.
dictionaryТип, который использует словарь. Хранит текущее значение как массив выбранных ключей из заданного словаря. Ключи хранятся в поле value_source.key, а ID словаря в поле value_source.source. При использовании этого типа значений, поле value хранит массив значений, которые соответствуют данным в поле value_source.
В поле Источник задаётся словарь, из которого можно выбрать данные для данного свойства.
Переключатель Множественный выбор определяет возможность выбрать из соответствующего словаря несколько значений одновременно. Само свойство при этом будет содержать массив ключей или первых элементов массива.

Тип значений date ​

Для значения типа данных date, система производит следующие операции для упрощения работы со значениями.

Время хранящееся в значении устанавливается в нулевое значение (00:00:00.000). Значение часов устанавливается со смещением так, чтобы оно имело одинаковое значение временной метки для одной и той же даты в разных часовых поясах следующим образом:

  • Система добавляет +11 часов для часовых поясов от UTC-11 до UTC+12;
  • Система добавляет +12 часов для часового пояса UTC-12;
  • Система не изменяет значения для часовых поясов UTC+13 и UTC+14.

Например:

  • 01 Сентября 2024 07:00:00 UTC-05, временная метка: 1725188400000
  • 01 Сентября 2024 14:00:00 UTC+03, временная метка: 1725188400000

В этом примере дата 01.09.2024 имеет одинаковую временную метку (1725188400000) в разных часовых поясах (UTC-5 и UTC+3).

Таким образом, для большинства часовых поясов временная метка для одной и той же даты будет одинаковой. Исключения составляют часовые пояса UTC-12, UTC+13 и UTC+14.