Страница 1 из 1

Доступ к пользовательским атрибутом через REST API

Добавлено: 11 ноя 2019, 15:39
asharunov
Добрый день.
Добавил для точек учета Пользовательский атрибут, как теперь получить эти данные через REST API?
Может это как-то возможно через функцию GetMeasurePointByNumberExtended?

Re: Доступ к пользовательским атрибутом через REST API

Добавлено: 12 ноя 2019, 04:54
Иван Славный
Да, это возможно. Описание функции GetMeasurePointByNumberExtended было немного некрректно. Сейчас мы исправили его.

Ниже приведен пример запроса атрибутов точки учета через данную функцию на PowerShell:

Код: Выделить всё

$url = "http://localhost:80/Api.asmx"
 
# Создаем прокси класс для работы со службой
$webservice = New-WebServiceProxy -uri $url -Namespace "LersWebserviceNamespace"
 
# Устанавливаем куки-контейнер, необходим для авторизации пользователя
$webservice.CookieContainer = New-Object System.Net.CookieContainer
 
# Входим в систему ЛЭРС УЧЕТ
$response1 = $webservice.Login('admin', 'admin')
 
# Если произошла ошибка, прекращаем работу
if($response1.IsError -eq $true)
{
     Write-Host $response1.ErrorMessage
     exit
}
 
# Получаем точку учета по номеру 100 с запросом атрибутов (measurePointFlags = 32 - указывает, что необходимо вернуть атрибуты точки учета)
$response2 = $webservice.GetMeasurePointByNumberExtended(100, 32)

# Выводим значе6ния всех атрибутов полученной выше точки
foreach($atrrib in $response2.MeasurePoint.Attributes)
{
     Write-Host $atrrib.AttributeValue
}
Также хочу отметить, что указанные функции не относятся к REST API, а являются частью старого API доступа к данным.

Re: Доступ к пользовательским атрибутом через REST API

Добавлено: 13 ноя 2019, 11:48
asharunov
Иван Славный писал(а):
12 ноя 2019, 04:54
Да, это возможно. Описание функции GetMeasurePointByNumberExtended было немного некрректно. Сейчас мы исправили его.

Ниже приведен пример запроса атрибутов точки учета через данную функцию на PowerShell:

Код: Выделить всё

$url = "http://localhost:80/Api.asmx"
 
# Создаем прокси класс для работы со службой
$webservice = New-WebServiceProxy -uri $url -Namespace "LersWebserviceNamespace"
 
# Устанавливаем куки-контейнер, необходим для авторизации пользователя
$webservice.CookieContainer = New-Object System.Net.CookieContainer
 
# Входим в систему ЛЭРС УЧЕТ
$response1 = $webservice.Login('admin', 'admin')
 
# Если произошла ошибка, прекращаем работу
if($response1.IsError -eq $true)
{
     Write-Host $response1.ErrorMessage
     exit
}
 
# Получаем точку учета по номеру 100 с запросом атрибутов (measurePointFlags = 32 - указывает, что необходимо вернуть атрибуты точки учета)
$response2 = $webservice.GetMeasurePointByNumberExtended(100, 32)

# Выводим значе6ния всех атрибутов полученной выше точки
foreach($atrrib in $response2.MeasurePoint.Attributes)
{
     Write-Host $atrrib.AttributeValue
}
Также хочу отметить, что указанные функции не относятся к REST API, а являются частью старого API доступа к данным.
Спасибо, все получилось!