1

Как получить тип оборудования у объекта, через API

Topic: Как получить тип оборудования у объекта, через API

Всем привет!

Как получить тип оборудования у объекта, через API?

Использую библиотеку на js.

Как у меня работает скрипт:

1) У группы получаю все объекты
2) Прохожу по каждому объекту и получаю по нему информацию (В том числе мне нужен тип оборудования (ID или название))

Вот код получения информации по объекту:

var dataFlags = wialon.item.Item.dataFlag.base |
wialon.item.Unit.dataFlag.lastMessage |
wialon.item.Item.dataFlag.billingProps |
wialon.item.Item.dataFlag.profileFields |
wialon.item.Item.dataFlag.customFields |
wialon.item.Item.dataFlag.customProps |
wialon.item.Unit.dataFlag.other |
wialon.item.Item.dataFlag.adminFields |
wialon.item.Unit.dataFlag.restricted |
wialon.item.Item.dataFlag.messages;

var searchSpec = {
    itemsType: "avl_unit",
    propName: "sys_id",
    propValueMask: objects[i],
    sortType: "sys_id"
};

sess.searchItems(searchSpec, true, dataFlags, 0, 0, function(num,code, data) {
    if (code) {
        alert(wialon.core.Errors.getErrorText(code));
        return;
    }

    console.log("object",data);
});

Но почему-то в ответе на запрос, в списке полей нет ни id типа оборудования, ни названия оборудования.
Название объекта есть.

В чём  может быть проблема? С доступом? Или с флагами. Помогите с проблемой.

2

Как получить тип оборудования у объекта, через API

Re: Как получить тип оборудования у объекта, через API

Здравствуйте.

Тип оборудования запрашивается флагом данных wialon.item.Unit.dataFlag.restricted, который вы подаёте корректно.

Затем тип оборудования должен прийти в поле hw (числовой идентификатор, не строка).

Если его нет — посмотрите на права доступа, в них должен быть флаг 67108864 (0x4000000, wialon.item.Unit.accessFlag.viewDevice).

Чтобы преобразовать идентификатор в текстовое название — core/get_hw_types (session.getHwTypes)