exec_report
Функция exec_report используется для выполнения отчета.
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>}
В одной сессии не может выполняться несколько отчетов одновременно, поэтому если в сессии уже есть результат отчета, необходимо удалить его перед выполнением следующего. Для этого используется функция **[cleanup\_result](/ru/api/user-guide/api-reference/report/cleanup_result)**.Этот запрос нельзя выполнять одновременно со следующими запросами:
Параметры
Название | Описание |
---|---|
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. Если в возвращаемом результате содержится Укажите 0 или не указывайте этот параметр, чтобы отчет выполнялся на сервере Web. В этом случае время его выполнения ограничено 3 минутами. |
reportTemplate | JSON шаблона отчета, который может быть получен после запроса get_report_data. Параметр необязателен и используется, только если reportTemplateId 0. |
Флаги интервала:
Флаг | Описание |
---|---|
0x00 | Указанный интервал. |
0x01 | От... до сегодня. |
0x02 | За предыдущие n дней. |
0x04 | За предыдущие n недель. |
0x08 | За предыдущие n месяцев. |
0x10 | За предыдущие n лет. |
0x20 | Включая текущее. |
0x40 | За предыдущие n часов. |
0x80 | За предыдущие n минут. |
Возвращаемый результат
{
"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> /* количество слоев, которые должны быть объединены в слое отчета */
}
Для получения всех доступных типов таблиц используйте функцию get_report_tables.
См. подробности о поле zone на странице get_zone_data.
См. подробности о поле tags на странице update_tag.
Флаги таблиц:
Флаг | Описание |
---|---|
0x1 | Группировка по дате. |
0x2 | Ограничение по времени. |
0x4 | Группировка по неделям. |
0x8 | Группировка по месяцам. |
0x10 | Итого. |
0x20 | Графики: разделять датчики. |
0x100 | Детализация: частичная. |
0x200 | Графики: отчет с нуля. |
0x400 | Накапливать интервалы. |
0x800 | Детализация: полная. |
0x1000 | Нумерация строк. |
0x2000 | Выполнение отчета только по элементу отчета (не по подчиненным элементам). |
0x4000 | Группировка записей по сменам. |
0x8000 | Обрезать интервалы в таблице. |
0x200000 | Группировка по поездкам. |
0x400000 | Группировка по типам нарушения. |
0x10000000 | Группировка по дням недели. |
0x20000000 | Группировка по дням месяца. |
0x40000000 | Группировка по годам. |
Флаги графиков:
Флаг | Дополнительный флаг | Описание |
---|---|---|
0x4 | Корректируемый максимум для оси Y. | |
0x10 | Формат, указанный в настройках шаблона. | |
0x1 | Добавочный для 0x10 (установить формат "H:M:S"). | |
0x2 | Добавочный для 0x10 (установить формат "Y-m-E"). | |
0x80 | Общий тип. | |
0x100 | 24-часовой формат. | |
0x20 | 24-часовой формат (добавочный для 0x100). | |
0x2 | 12-часовой формат (добавочный для 0x20). | |
0x40 | Отображение дней недели (добавочный для 0x100). |
Возможные коды ошибок:
Код | Описание |
---|---|
7 | Не удалось извлечь объект отчета и ресурс отчета с требуемым ACL (ADF_ACL_ITEM_EXECUTE_REPORTS, ADF_ACL_AVL_RES_VIEW_REPORTS). |
6 | Неопределенная ошибка. |
4 | Неверные входные параметры. |