|
<< Click to Display Table of Contents >> Navigation: API MasterSCADA 4D > Подключение к исполнительной системе по JSON > HTTP API MasterPLC > Справочники > /Methods/GetTableData |
Читает данные основного справочника и всех связанных с ним справочников, на которые ссылаются запрошенные поля. Связи (ref-поля) возвращаются отдельно, чтобы клиент мог сопоставить внешние значения.
HTTP: POST /Methods/GetTableData
{
"table": 12345,
"filter": "{IDModel.Name}='Меркурий 230'",
"fields": [
"Serial",
"IDModel.NomReestr",
"IDModel.Name",
"IDModel.IDProduser.Name"
]
}
Поле |
Тип |
Обязательное |
По умолчанию |
Описание |
|---|---|---|---|---|
table |
integer |
да |
— |
Идентификатор справочника в VMInfo |
fields |
array<string> |
да |
— |
Список полей; непустой. Путь через точку задаёт поле связанного справочника |
recId |
integer |
нет |
— |
Идентификатор конкретной записи основного справочника |
filter |
string |
нет |
— |
Условие фильтрации; ссылки на поля — в фигурных скобках {Поле} |
{
"main": "Meters",
"refs": {
"IDModel.NomReestr": { "table": "Models", "field": "NomReestr" },
"IDModel.Name": { "table": "Models", "field": "Name" },
"IDModel.IDProduser.Name": { "table": "Produce", "field": "Name" }
},
"tables": {
"Meters": {
"pk": { "name": "IDMeters", "type": "DINT" },
"fields": [
{ "name": "Serial", "type": "STRING" },
{ "name": "IDModel.NomReestr", "type": "DINT", "ref": true },
{ "name": "IDModel.Name", "type": "DINT", "ref": true },
{ "name": "IDModel.IDProduser.Name", "type": "DINT", "ref": true }
],
"data": {
"1": ["gsdf45", 2, 2, 1],
"2": ["65748", 1, 1, 1]
}
},
"Models": {
"displayField": "Name",
"pk": { "name": "IDModel", "type": "DINT" },
"fields": [
{ "name": "Name", "type": "STRING" },
{ "name": "NomReestr", "type": "DINT" }
],
"data": {
"1": ["Меркурий 230 АМ", 467584],
"2": ["Меркурий 234 ART2 PQR", 4566587]
}
},
"Produce": {
"pk": { "name": "IdProduce", "type": "DINT" },
"fields": [
{ "name": "Name", "type": "STRING" }
],
"data": {
"1": ["Меркурий 230 АМ"],
"2": ["Тепловодохран"]
}
}
},
"code": 0
}
Поле |
Тип |
Условие |
Описание |
|---|---|---|---|
main |
string |
успех |
Имя основного справочника |
refs |
object |
успех |
Связи ref-полей основного справочника со справочниками из tables |
refs.<поле>.table |
string |
в записи |
Имя связанного справочника в tables |
refs.<поле>.field |
string |
в записи |
Имя поля связанного справочника, используемого как значение |
tables |
object |
успех |
Данные всех справочников запроса; ключ — имя справочника |
tables.<имя>.displayField |
string |
у справочника задано отображаемое поле |
Имя отображаемого поля |
tables.<имя>.pk |
object |
всегда |
Первичный ключ: { name, type } |
tables.<имя>.fields |
array |
всегда |
Описания полей |
tables.<имя>.fields[].name |
string |
в записи |
Имя (путь) поля |
tables.<имя>.fields[].type |
string |
в записи |
SCADA-тип поля |
tables.<имя>.fields[].ref |
bool |
поле — внешняя связь |
true для ref-поля |
tables.<имя>.data |
object |
всегда |
Ключ — значение первичного ключа (строка); значение — массив значений в порядке fields |
code |
integer |
всегда |
Результат метода |
•pk — объект { name, type } (в старой справке был строкой).
•Значения data всегда представлены массивом, даже если поле одно (в старой справке отдельные справочники показывались скалярами).
•displayField выводится только для справочников, у которых оно задано.
•Отсутствие table/fields, пустой fields, а также справочник без первичного ключа возвращают OpcUa_BadRequestHeaderInvalid.