AstraRegul
Релиз 2025.08.15.00
×

Browse

Выполнить запрос узлов источника по указанным параметрам.
uint4 Browse(string parameters)
 

Параметры

 
Параметр
Тип
Описание
parameters
string
JSON-строка, содержащая параметры запроса, такие как уровень, корневой узел, фильтры и необходимые столбцы для отображения
 
Формат параметров следующий:
{
    "level": "children",
    "rootTag": "RootNode",
    "filter": {
        "name": "Signal*"
    },
    "columns": [
        {
            "id": "nodeName",
            "type": "attribute",
            "parameters": {
                "id": "name"
            }
        },
        {
            "id": "nodeId",
            "type": "attribute",
            "parameters": {
                "id": "id"
            }
        }
    ]
}
 
level - уровень выполнения запроса. Возможные значения:
  children — только дочерние узлы (по умолчанию).
  descendants — все потомки узла.
rootTag - полный путь к корневому узлу для выполнения запроса. По умолчанию — пустая строка, что указывает на выполнение запроса относительно корня.
filter - условие фильтрации результатов в формате wildcard filter. Пример: "name": "Signal*" (фильтр для поиска узлов, начинающихся с sensor).
columns - список колонок, которые будут возвращены в результате запроса. Для каждой колонки нужно указать:
id — идентификатор столбца.
type — тип данных, которые будут включены в колонку. Возможные значения:
attribute - возвращает значение атрибута узла источника. Например, имя узла или его идентификатор.
property - возвращает значение пользовательского свойства узла источника.
custom - используется для задания пользователем дополнительных столбцов.
parameters — параметры, необходимые для получения данных в зависимости от типа колонки. Содержит различную информацию в зависимости от значения параметра type:
 
Для типа attribute:
id - идентификатор атрибута узла, данные которого необходимо получить.
Для типа property:
number- номер пользовательского свойства, значение которого необходимо получить.
Для типа custom:
type - тип данных для пользовательского столбца.
Возможные значения:
bool - Логическое значение
int1 - Целое число (1 байт)
int2 - Целое число (2 байта)
int4 - Целое число (4 байта)
int8 - Целое число (8 байт)
uint1 - Беззнаковое целое число (1 байт)
uint2 - Беззнаковое целое число (2 байта)
uint4 - Беззнаковое целое число (4 байта)
uint8 - Беззнаковое целое число (8 байт)
float - Число с плавающей точкой
double - Число с двойной точкой
string - Строка
timestamp - Метка времени
variant - Универсальный тип данных
void - Пустой тип
 

Возвращаемое значение

 
Возвращает уникальный идентификатор запроса (uint4), который можно использовать для отслеживания выполнения запроса.
 

Пример

Запросить дочерние узлы с колонками name и id с использованием языка JavaScript:
// Создаем объект запроса
var requestParams = {
  "level": "children",
  "rootTag": "RootNode",
  "columns": [
    {
      "id": "nodeName",
      "type": "attribute",
      "parameters": {
        "id": "name"
      }
    },
    {
      "id": "nodeId",
      "type": "attribute",
      "parameters": {
        "id": "id"
      }
    }
  ]
};
 
// Преобразуем объект в строку JSON
var requestString = JSON.stringify(requestParams);
// Вызываем метод Browse с параметром
Tree_1.TreeDataSource_1.ApSourceBrowser_1.Browse(requestString);
Запросить все узлы начинающиеся с sensor с использованием языка JavaScript:
// Создаем объект запроса
var requestParams = {
    "level": "descendants",
    "filter": {
        "name": "Sensor*"
    },
    "columns": [
        {
            "id": "nodeName",
            "type": "attribute",
            "parameters": {
                "id": "name"
            }
        }
    ]
};
 
// Преобразуем объект в строку JSON
var requestString = JSON.stringify(requestParams);
 
// Вызываем метод Browse с параметром
Tree_1.TreeDataSource_1.ApSourceBrowser_1.Browse(requestString);