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

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

Модель

Поле Тип Описание

name

String

Имя класса свойств.

description

String

Описание класса свойств.

value_type_id

String

ID типа значения, которое использует это свойство.

value

Object

Стандартное значение этого свойства.

multiple

Boolean

Использует ли этот класс несколько значений для каждого ключа.

source

String

ID словаря, которые используется как источник значений для типа значения dictionary.

mask

String

Регулярное выражение, которое фильтрует вводимые пользователем значения.

system

Boolean

Является ли этот класс системным.

id

String

ID класса свойств.

multiple_separator

String

Строка, которая разделяет выбранные значения при отображении в интерфейсе.

value_display_template

String

Шаблон отображения значений. Для получения значения свойства можно использовать макрос {{0}}.

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

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

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

{
    {
        "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
        }
    },
    ...
}
Параметр Описание

id

ID типа данных.

name

Название типа, отображаемое в интерфейсе.

mask

Регулярное выражение, с помощью которого фильтруется значение свойства.

system

Является ли тип значения системным.

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

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

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

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.