|
|
ru:kit:remoteapi:apiref:report:exec_report [18/01/2019 12:10] |
ru:kit:remoteapi:apiref:report:exec_report [26/03/2020 07:43] (текущий) |
| ====== Выполнение отчета ====== |
| Чтобы выполнить отчет, нужно использовать команду **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> |
| }, |
| "remoteExec":<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 | флаги интервала | |
| |remoteExec|1 - выполнение отчета на сервере(необязательный параметр, используется только с последующим выполнением запроса [[ru:sidebar:remoteapi:apiref:report:get_report_status|report/get_report_status]]);в ответ приходит пустой json, значит сервер принял отчет для обработки| |
| | 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> /* массив ячеек */ |
| ], |
| "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> /* количество слоев, которые объединены в слой отчета */ |
| } |
| </code> |
| |
| Чтобы получить все доступные типы таблиц нужно выполнить запрос [[get_report_tables|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) | |