|
|
ru:kit:remoteapi:apiref:report:exec_report [27/11/2018 07:59] 127.0.0.1 внешнее изменение |
ru:kit:remoteapi:apiref:report:exec_report [18/01/2019 12:10] |
====== Выполнение отчета ====== | |
Чтобы выполнить отчет, нужно использовать команду **report/exec_report**: | |
<code javascript> | |
svc=report/exec_report¶ms={"reportResourceId":<long>, | |
"reportTemplateId":<long>, | |
"reportObjectId":<long>, | |
"reportObjectSecId":<long>, | |
"reportObjectIdList":[<uint>, ...]}, | |
"interval":{ | |
"from":<uint>, | |
"to":<uint>, | |
"flags":<uint> | |
}, | |
"reportTemplate":<object>} | |
</code> | |
| |
//:!: Внимание!// Одновременно в сессии может быть выполнен только один отчет, поэтому если в сессии содержаться результаты выполнения предыдущего отчета, то перед выполнением следующего отчета их следует удалить командой [[cleanup_result|report/cleanup_result]]. Так же данный запрос не может одновременно выполняться со следующими запросами: | |
| |
* [[export_result|report/export_result]], | |
* [[get_result_chart|report/get_result_chart]], | |
* [[get_result_map|report/get_result_map]], | |
* [[../messages/load_interval|messages/load_interval]], | |
* [[../render/create_messages_layer|render/create_messages_layer]], | |
* [[../unit/get_trips|unit/get_trips]], | |
* [[../resource/get_driver_bindings|resource/get_driver_bindings]], | |
* [[../resource/get_trailer_bindings|resource/get_trailer_bindings]], | |
* все запросы из раздела [[../exchange/exchange]] , | |
* [[../account/get_account_history|account/get_account_history]]. | |
| |
:!: Использование данного запроса рассмотрено в примере [[../../codesamples/reports]]. | |
| |
===== Параметры ===== | |
^ Название ^ Описание ^ | |
| reportResourceId | ID ресурса | | |
| reportTemplateId | ID шаблона | | |
| reportObjectId | ID элемента | | |
| reportObjectSecId | ID подэлемента, например геозоны или уведомления, если у элемента нету подэлементов, то 0 | | |
| reportObjectIdList | массив ID дополнительных элементов (для отчета по группам объектов) | | |
| interval | настройки интервала отчета | | |
| from | начало интервала, UNIX-время | | |
| to | окончание интервала, UNIX-время | | |
| flags | флаги интервала | | |
| reportTemplate | JSON шаблона отчета, который можно получить выполнив запрос [[get_report_data|get_report_data]] (необязательный параметр, используется только если reportTemplateId равен 0) | | |
| |
:!: **reportResourceId** является обязательным параметром, от имени создателя данного ресурса будет выполняться отчет если **reportTemplateId** равен 0. | |
| |
//Флаги интервала//: | |
^ Флаг ^ Описание ^ | |
| 0x00 | указанный интервал | | |
| 0x01 | начиная 'От' до сегодня | | |
| 0x02 | за предыдущие n дней| | |
| 0x04 | за предыдущие n недель | | |
| 0x08 | за предыдущие n месяцев | | |
| 0x10 | за предыдущие n лет | | |
| 0x20 | включая текущее | | |
| 0x40 | за предыдущие n часов | | |
| 0x80 | за предыдущие n минут | | |
| |
===== Возвращаемый результат ===== | |
<code=javascript> | |
{ | |
"reportResult":{ /* результат отчета */ | |
"msgsRendered":<int>, /* загружены сообщения: 0 - нет, 1 - да */ | |
"stats":[ /* массив статистических параметров */ | |
[<text>,<text>] /* [название параметра, значение] */ | |
], | |
"tables":[ /* массив таблиц */ | |
{ | |
"name":<text>, /* тип таблицы */ | |
"label":<text>, /* название */ | |
"grouping": { | |
"type":<text> /* тип группировки */ | |
}, | |
"flags":<uint>, /* флаги таблиц (см. ниже) */ | |
"rows":<uint>, /* количество строк */ | |
"level":<uint>, /* максимальное уровень в таблице */ | |
"columns":<uint>, /* количество колонок */ | |
"header":[ | |
<text> /* массив названий столбцов таблицы */ | |
], | |
"total":[ /* итого */ | |
<text> /* массив ячеек */ | |
] | |
} | |
], | |
"attachments":[ /* массив приложений (графиков, видео, фотографий) */ | |
{ /* для графиков */ | |
"name":<text>, /* название */ | |
"type":<text>, /* тип: chart - график, photo - фотография */ | |
"datasets":[<text>] /* массив с названиями кривых графика */ | |
}, | |
{ /* для фотографий и видео */ | |
"name":<text>, /* название и нижеописанные параметры через ";" */ | |
"ftm":<text>, /* форматированная дата */ | |
"uid":<text>, /* ID объекта */ | |
"tm":<text>, /* время в UNIX формате */ | |
"idx":<text>, /* индекс однотипных вложений зарегистрированных единовременно */ | |
"lat":<text>, /* широта */ | |
"lon":<text>, /* долгота */ | |
"type":<text> /* тип вложения */ | |
} | |
| |
] | |
}, | |
"reportLayer":{ /* графический слой */ | |
"name":<text>, /* название слоя */ | |
"bounds":[ | |
<double>, /* минимальная широта */ | |
<double>, /* минимальная долгота */ | |
<double>, /* максимальная широта */ | |
<double> /* максимальная долгота */ | |
] | |
}, | |
"layerCount":<uint> /* количество слоев, которые объединены в слой отчета */ | |
} | |
</code> | |
| |
Чтобы получить все доступные типы таблиц нужно выполнить запрос [[get_report_tables|report/get_report_tables]]. | |
| |
Флаги таблиц: | |
^ Флаг ^ Описание ^ | |
| 0x1| Группировка: по дням | | |
| 0x2 | Ограничение по времени | | |
| 0x4 | Группировка: по неделям | | |
| 0x8 | Группировка: по месяцам | | |
| 0x10 | Итого | | |
| 0x20 | Графики: разделять датчики | | |
| 0x100 | Детализация: частичная | | |
| 0x200 | Графики: отсчет с нуля | | |
| 0x800 | Детализация: полная | | |
| 0x1000 | Нумерация строк | | |
| 0x200000 | Группировка по поездкам | | |
| 0x400000 | Группировка по типу нарушения | | |