Классы свойств
Класс свойств – это набор заданных параметров, которые описывают какие данные принимает свойство данного класса и как оно должно быть отображено.
Модель
| Поле | Тип | Описание |
|---|---|---|
| name | String | Имя класса свойств. |
| comment | 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}} используются для получения соответствущих значений. |
Типы значений
Типы значений задаются в системе следующим образом:
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
}
},
...
}| Параметр | Описание |
|---|---|
| id | ID типа данных. |
| name | Название типа, отображаемое в интерфейсе. |
| mask | Регулярное выражение, с помощью которого фильтруется значение свойства. |
| system | Является ли тип значения системным. |
Получить все типы значений можно с помощью запроса Получить все типы значений свойств.
Таблица ниже перечисляет все встроенные типы данных, которые можно использовать в классе свойств.
NOTE
При изменении типа данных класса свойств, специальные настройки для предыдущего типа данных не сбрасываются, а остаются записанными в соответствующих полях (например, поле 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.