Чтобы выполнить отчет, нужно использовать команду 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>}
Внимание! Одновременно в сессии может быть выполнен только один отчет, поэтому если в сессии содержаться результаты выполнения предыдущего отчета, то перед выполнением следующего отчета их следует удалить командой report/cleanup_result. Так же данный запрос не может одновременно выполняться со следующими запросами:
Использование данного запроса рассмотрено в примере Отчеты.
Название | Описание |
---|---|
reportResourceId | ID ресурса |
reportTemplateId | ID шаблона |
reportObjectId | ID элемента |
reportObjectSecId | ID подэлемента, например геозоны или уведомления, если у элемента нету подэлементов, то 0 |
reportObjectIdList | массив ID дополнительных элементов (для отчета по группам объектов) |
interval | настройки интервала отчета |
from | начало интервала, UNIX-время |
to | окончание интервала, UNIX-время |
flags | флаги интервала |
remoteExec | 1 - выполнение отчета на сервере(необязательный параметр, используется только с последующим выполнением запроса report/get_report_status);в ответ приходит пустой json, значит сервер принял отчет для обработки |
reportTemplate | JSON шаблона отчета, который можно получить выполнив запрос get_report_data (необязательный параметр, используется только если reportTemplateId равен 0) |
reportResourceId является обязательным параметром, от имени создателя данного ресурса будет выполняться отчет если 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> /* тип вложения */ } ] }, "reportLayer":{ /* графический слой */ "name":<text>, /* название слоя */ "bounds":[ <double>, /* минимальная широта */ <double>, /* минимальная долгота */ <double>, /* максимальная широта */ <double> /* максимальная долгота */ ] }, "layerCount":<uint> /* количество слоев, которые объединены в слой отчета */ }
Чтобы получить все доступные типы таблиц нужно выполнить запрос report/get_report_tables.
Флаги таблиц:
Флаг | Описание |
---|---|
0x1 | Группировка: по дате |
0x2 | Ограничение по времени |
0x4 | Группировка: по неделям |
0x8 | Группировка: по месяцам |
0x10 | Итого |
0x20 | Графики: разделять датчики |
0x100 | Детализация: частичная |
0x200 | Графики: отсчет с нуля |
0x800 | Детализация: полная |
0x1000 | Нумерация строк |
0x4000 | Группировка: по сменам |
0x200000 | Группировка по поездкам |
0x400000 | Группировка по типу нарушения |
0x10000000 | Группировка: по дням недели |
0x20000000 | Группировка: по дням месяца |
0x40000000 | Группировка: по году |
Флаги графиков:
Флаг | Добавочный флаг | Описание |
---|---|---|
0x4 | Корректируемый максимум для оси Y | |
0x10 | Формат заданный в настройках шаблона | |
0x2 | Добавочный для 0x10 | |
0x4 | Добавочный для 0x10 | |
0x80 | Общий тип | |
0x100 | 24х часовой формат | |
0x20 | 24х часовой формат (добавочный для 0x100) | |
0x2 | 12ти часовой формат (добавочный для 0x20) | |
0x40 | Отображение дней недели (добавочный для 0x100) |
|