exec_report
Метод exec_report используется для выполнения отчета.
В одной сессии не может выполняться несколько отчетов одновременно, поэтому, если в сессии уже есть результат отчета, необходимо удалить его перед выполнением следующего. Для этого используется метод report/cleanup_result.
Этот запрос нельзя выполнять одновременно со следующими запросами:
Конечная точка
svc=report/exec_report¶ms={
"reportResourceId": <long>,
"reportTemplateId": <long>,
"reportObjectId": <long>,
"reportObjectSecId": <long>,
"reportObjectIdList": [
<uint>,
...
],
"interval": {
"from": <uint>,
"to": <uint>,
"flags": <uint>
},
"remoteExec": <uint>,
"reportTemplate": <object>
}
Параметры
Запрос может содержать следующие параметры. Обязательные параметры отмечены звездочкой (*).
| Название | Описание |
|---|---|
| reportResourceId* | ID ресурса. Отчет выполняется от имени создателя ресурса, если reportTemplateId равен 0. |
| reportTemplateId* | ID шаблона. |
| reportObjectId* | ID элемента. |
| reportObjectSecId* | ID подчиненного элемента (водителя, прицепа или их группы); 0, если у элемента нет подчиненных элементов. |
| reportObjectIdList | Массив ID дополнительных элементов (для отчета по группам объектов). |
| interval* | Настройки интервала отчета. |
| from* | Начало интервала, время Unix. |
| to* | Конец интервала, время Unix. |
| flags* | Флаги интервала. |
| remoteExec | Укажите значение 1 для этого параметра, чтобы отчет выполнялся на сервере Webreport. Параметр необязателен и используется, только если после этого выполняется запрос report/get_report_status. Если в возвращаемом результате содержится "remoteExec":1, отчет принят сервером в обработку, и время его выполнения ограничено 5 минутами.Укажите 0 или не указывайте этот параметр, чтобы отчет выполнялся на сервере Web. В этом случае время его выполнения ограничено 2 минутами. |
| reportTemplate | JSON шаблона отчета, который можно получить после запроса report/get_report_data. Параметр необязателен и используется, только если reportTemplateId равен 0. |
Флаги интервала
| Флаг | Описание | Значение параметра from |
Значение параметра to |
Комментарии |
|---|---|---|---|---|
| 0x00 (0) | Указанный интервал. | Значение метки времени в секундах. | Значение метки времени в секундах. | |
| 0x01 (1) | От указанного времени до сегодняшнего дня. | Значение метки времени в секундах. | 0 | Любое значение, переданное в параметре, заменяется текущим временем сервера. |
| 0x02 (2) | За предыдущие n дней. | 0 | Количество дней. | Любое значение, переданное в параметре from, заменяется последним полным периодом или текущим временем сервера, если присутствует флаг 0x20. |
| 0x04 (4) | За предыдущие n недель. | 0 | Количество недель. | |
| 0x08 (8) | За предыдущие n месяцев. | 0 | Количество месяцев. | |
| 0x10 (16) | За предыдущие n лет. | 0 | Количество лет. | |
| 0x20 (32) | Включая текущий период. | |||
| 0x40 (64) | За предыдущие n часов. | 0 | Количество часов. | |
| 0x80 (128) | За предыдущие n минут. | 0 | Количество минут. |
Возвращаемый результат
{
"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>" /* массив ячеек */
],
"header_type": ["<text>"], /* массив типов заголовков таблицы */
"totalRaw": [ /* массив значений строки «Итого» */
{
"v": <double>, /* исходное значение ячейки */
"vt": <double> /* тип значения */
},
...
]
}
],
"attachments": [ /* массив вложений (графиков, фотографий) */
{ /* для графиков */
"name": "<text>", /* название */
"type": "<text>", /* тип: chart — график, photo — фотография */
"datasets": ["<text>"], /* массив с названиями кривых графика */
"axis_y": ["<text>"], /* массив наименований осей 'Y' */
"axis_x": "<text>", /* наименование оси 'X' */
"flags": <uint>, /* формат оси, см. описание ниже */
"p": "<text>" /* настройки графика */
},
{ /* для фотографий и видео */
"name": "<text>", /* название и перечисленные ниже параметры, разделенные символом ";" */
"ftm": "<text>", /* форматированная дата */
"uid": "<text>", /* ID объекта */
"tm": "<text>", /* время Unix */
"idx": "<text>", /* индекс одновременно зарегистрированных однотипных вложений */
"lat": "<text>", /* широта */
"lon": "<text>", /* долгота */
"type": "<text>", /* тип вложения */
"zone": <JSON>, /* информация о геозоне */
"tags": <JSON> /* информация о тегах */
}
]
},
"reportLayer": { /* графический слой */
"name": "<text>", /* название слоя */
"bounds": [
<double>, /* минимальная широта */
<double>, /* минимальная долгота */
<double>, /* максимальная широта */
<double> /* максимальная долгота */
]
},
"layerCount": <uint> /* количество слоев, которые должны быть объединены в слое отчета */
}
Для получения всех доступных типов таблиц используйте метод report/get_report_tables.
Подробности о поле zone смотрите на странице resource/get_zone_data.
Подробности о поле tags смотрите на странице resource/update_tag.
Флаги таблиц
| Флаг | Описание |
|---|---|
| 0x1 (1) | Группировка по дням. |
| 0x2 (2) | Ограничение по времени. |
| 0x4 (4) | Группировка по неделям. |
| 0x8 (8) | Группировка по месяцам. |
| 0x10 (16) | Итого. |
| 0x20 (32) | Графики: разделять датчики. |
| 0x100 (256) | Детализация: частичная. |
| 0x200 (512) | Графики: отсчет с нуля. |
| 0x400 (1024) | Накапливать интервалы. |
| 0x800 (2048) | Детализация: полная. |
| 0x1000 (4096) | Нумерация строк. |
| 0x2000 (8192) | Выполнение таблицы только по элементу отчета (не по подчиненным элементам). |
| 0x4000 (16384) | Группировка записей по сменам. |
| 0x8000 (32768) | Обрезать интервалы в таблице. |
| 0x200000 (2097152) | Группировка по поездкам. |
| 0x400000 (4194304) | Группировка по типам нарушения. |
| 0x10000000 (268435456) | Группировка по дням недели. |
| 0x20000000 (536870912) | Группировка по дням месяца. |
| 0x40000000 (1073741824) | Группировка по годам. |
Флаги графиков
| Флаг | Дополнительный флаг | Описание |
|---|---|---|
| 0x4 (4) | Корректируемый максимум для оси Y. | |
| 0x10 (16) | Формат, указанный в настройках шаблона. | |
| 0x1 (1) | Добавочный для 0x10 (установить формат “H:M:S”). | |
| 0x2 (2) | Добавочный для 0x10 (установить формат “Y-m-E”). | |
| 0x80 (128) | Общий тип. | |
| 0x100 (256) | 24-часовой формат. | |
| 0x20 (32) | 24-часовой формат (добавочный для 0x100). | |
| 0x2 (2) | 12-часовой формат (добавочный для 0x20). | |
| 0x40 (64) | Отображение дней недели (добавочный для 0x100). |
Коды ошибок
| Код | Описание |
|---|---|
| 4 | Неверные входные параметры. |
| 6 | Неопределенная ошибка. |
| 7 | Одна из следующих ошибок:
|