Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

ru:kit:remoteapi:apiref:report:exec_report [18/01/2019 12:10]
ru:kit:remoteapi:apiref:report:exec_report [26/03/2020 07:43] (текущий)
Строка 1: Строка 1:
 +====== Выполнение отчета ======
 +Чтобы выполнить отчет, нужно использовать команду **report/​exec_report**: ​
 +<code javascript>​
 +svc=report/​exec_report&​params={"​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) |
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2020 Gurtam