Различия

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

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

ru:kit:remoteapi:apiref:report:update_report [29/05/2017 18:20]
ru:kit:remoteapi:apiref:report:update_report [18/05/2021 08:12] (текущий)
Строка 1: Строка 1:
 +====== Шаблоны ======
 +Для создания,​ редактирования и удаления шаблонов отчетов используется команда **report/​update_report**: ​
 +<code javascript>​
 +svc=report/​update_report&​params={"​itemId":<​long>,​
 + "​id":<​long>,​
 + "​callMode":<​text>,​
 + "​n":<​text>,​
 + "​ct":<​text>,​
 + "​p":<​text>,​
 + "​tbl":​[
 + {
 + "​n":<​text>,​
 + "​l":<​text>,​
 + "​c":<​text>,​
 + "​cl":<​text>,​
 + "​s":<​text>,​
 + "​sl":<​text>,​
 + "​p":<​text>,​
 + "​sch":​{
 + "​f1":<​uint>,​
 + "​f2":<​uint>,​
 + "​t1":<​uint>,​
 + "​t2":<​uint>,​
 + "​m":<​uint>,​
 + "​y":<​uint>,​
 + "​w":<​uint>,​
 + "​fl":<​uint>​
 + },
 + "​f":<​uint>​
 + }
 + ]}
 +</​code>​
  
 +===== Параметры =====
 +^ Название ^ Описание ^
 +| itemId | ID ресурса |
 +| id | ID шаблона |
 +| callMode | режим: создание,​ редактирование,​ удаление (create, update, delete) |
 +Остальные параметры являются обязательными только при создании и редактировании,​ они рассмотрены в разделе [[get_report_data]].
 +
 +====Параметр "​p"​====
 +В этом параметре задаётся группировка для таблицы и другие настройки.
 +
 +**Пример**
 +
 +<​code=javascript>​
 +"​p":"​{
 + \"​grouping\":​\"​
 + {\\\"​type\\\":​\\\"​total\\\",​\\\"​nested\\\":​ /​* включить группировку "​Итого"​ */
 + {\\\"​type\\\":​\\\"​year\\\"​}}\"​ /​* включить вложенную группировку "​Год"​ */
 + }"
 +</​code>​
 +
 + ​**Основные типы группировки** ​
 +^ Тип ^ Описание ^
 +| total | Итого |
 +| year | Год |
 +| month | Месяц |
 +| week | Неделя |
 +| wday | День недели |
 +| mday | Число |
 +| day | Дата |
 +| shift | Смена |
 +
 +Дополнительные типы группировки можно узнать,​ получив информацию о таблице (параметр **gt**) [[ru:​sidebar:​remoteapi:​apiref:​report:​get_report_tables]]
 +
 +Для таблицы **account_tree** ("​Иерархия учетной записи"​) могут быть использованые следующие параметры:​
 +<​code=javascript>​
 +"​p":​ "{
 + \"​account_tree\":​{
 + \"​group\":<​bool>,​
 + \"​types\":<​text>​
 + }
 +}" ​
 +</​code>​
 +^ Параметр ^  Описание ​ ^ По-умолчанию ​ ^
 +| group | группировать ли элементы:​\\ 0 - нет,\\ 1 - да |  0  |
 +| types | типы элементов,​ включен-\\ ных в отчет:​\\ avl_account\\ avl_resource\\ user\\ avl_unit\\ avl_unit_group\\ avl_retranslator\\ avl_route | включены все |
 +
 +**Пример** (все двойные кавычки внутри значения должны быть экранированы):​
 +
 +<code javascript>​
 +    "​p":"​{\"​account_tree\":​{\"​group\":​1,​\"​types\":​\"​avl_account,​avl_resource,​user,​avl_unit,​avl_unit_group,​avl_retranslator,​avl_route\"​}}"​
 +</​code>​
 +
 +Для таблицы **driver_ddd** ("​Активность водителя"​) может быть использован параметр:​
 +
 +**drv_activity** (Способ определения активности)
 +
 +<​code=javascript>​
 +"​p":​ "{
 + \"​drv_activity\":<​text>​
 +}" ​
 +</​code>​
 +
 +^ Значение ^ Описание ^
 +| ddd | использовать данные из .ddd файлов (по умолчанию)|
 +| online | использовать данные из онлайн активностей |
 +
 +Для таблицы **driver_orders** ("​Заявки"​) может быть использован параметр:​
 +
 +**order_filter** ("​Фильтр"​)
 +
 +<​code=javascript>​
 +"​p":"​{
 + \"​order_filter\":<​uint>​
 +}"
 +</​code>​
 +
 +^ Значение ^ Описание ^
 +| 0x1 | посещенные заявки|
 +| 0x2 | не посещенные заявки |
 +| 0x4 | посещенные вовремя заявки|
 +| 0x8 | заявки,​ посещенные с опозданием|
 +| 0x10 | выполненные и отклоненные заявки |
 +| 0x20 | не выполненные и не отклоненные заявки |
 +| 0x40 | выполненные заявки |
 +| 0x80 | отклоненные заявки |
 +
 +Для таблицы **unit_counter_sensors** ("​Датчики счётчиков"​) могут быть использованы параметры:​
 +
 +**sensor_val:​min** (минимальное значение датчика)
 +**sensor_val:​max** (максимальное значение датчика)
 +
 +<​code=javascript>​
 +"​p":​ "{
 + \"​sensor_val\":​{\"​min\":​\"​10\",​\"​max\":​\"​14\"​}
 +}" ​
 +</​code>​
 +
 +Для графиков:​
 +<​code=javascript>​
 +"​p":"​{
 + \"​sensor_mask\":<​text>,​ /​* маска датчика */
 + \"​instant_speed_base\":​{
 + \"​mask\":<​text>​}} /​* маска датчика для раскрашивания линии датчика */
 +</​code>​
 +
 +Для таблиц со сменами - можно не разделять смены с переходом суток. Для этого необходимо добавить следующие параметры:​
 +
 +<​code=javascript>​
 +"​p":​{\"​split_shifts\":​1},​
 +"​s":​{\"​split_shifts\"​}
 +</​code>​
 +
 +Для таблиц с [[https://​docs.wialon.com/​ru/​hosting/​user/​reports/​templ/​contents/​tables/​filtration|фильтрами]] по Геозонам/​Объектам можно передавать такие настройки в параметр '​p'​
 +
 +1) Для добавления группы в //​фильтр "​Объекты"​ (например таблица "​Поездки"​)//​ в запросе редактирования шаблона [[ru:​sidebar:​remoteapi:​apiref:​report:​report|report/​update_report]] указать:​
 +
 +<​code=javascript>​
 +{\"​geozones_ex\":​{\"​zones\":​\"​gu5813000_100\",​\"​types\":​\"​1,​1\",​\"​flags\":​0}}
 +где "​gu"​– обозначение группы объектов,​ 5813000 – ид группы,​ _100 – радиус действия
 +</​code>​
 + 
 +
 + 2) Для добавления группы //в фильтр "​Геозоны/​объекты"//​ (например таблица Объекты для Геозон) в запросе редактирования шаблона report/​update_report указать:​
 +
 +<​code=javascript>​
 +"​p":"​{\"​units\":​\"​5813000\"​}"​ </​code>​
 +где 5813000 – ид группы. ​
 +
 +=====Графики=====
 +График представляет собой отдельную таблицу.
 +На графики можно наносить маркеры. Для этого необходимо добавить в шаблон таблицу маркера и в таблицу графика добавить флаги маркеров.
 +
 +Пример таблицы маркера.
 +<​code=javascript>​
 +{"​n":"​unit_events",​
 + "​l":"",​
 + "​f":​0,​
 + "​c":"",​
 + "​cl":"",​
 + "​p":"",​
 + "​sch":​{
 +   "​y":​0,​
 +   "​m":​0,​
 +   "​w":​0,​
 +   "​f1":​0,​
 +   "​f2":​0,​
 +   "​t1":​0,​
 +   "​t2":​0},​
 + "​sl":"",​
 + "​s":"​[\"​chart_unit_events\"​]"​},​
 +</​code>​
 +
 +
 +Пример флагов маркеров.
 +<​code=javascript>​
 +"​p":"​{
 +  \"​chart_markers\":​{
 +    \"​f\":​2556}
 +  }"
 +}
 +</​code>​
 +
 +Доступные маркеры/​состояния.
 +^ Маркер ^ Флаг ^ Описание ^
 +| unit_events | 0x4 | События |
 +| unit_fillings | 0x8 | Заправки |
 +| unit_photos | 0x10 | Изображения |
 +| unit_stays | 0x20 | Стоянки |
 +| unit_speedings | 0x40 | Превышения скорости |
 +| unit_stops | 0x80 | Остановки |
 +| unit_thefts | 0x100 | Сливы |
 +| unit_videos | 0x800 | Видео |
 +| unit_engine_hours | - | Моточасы |
 +| unit_conn_quality | - | Потери связи |
 +
 +Для изменения фона графика в зависимости от состояния объекта нужно добавить в шаблон таблицу маркера/​состояния,​и в таблицу графика добавить параметр **chart_regions**.
 +
 +Пример изменения фона графика.
 +<​code=javascript>​
 +"​p":"​{...,​
 +\"​chart_regions\":​[
 +  {\"​id\":​\"​chart_stops_regions\",​\"​color\":​14413564,​\"​priority\":​5,​\"​name\":​\"​Stops\"​},​
 +  {\"​id\":​\"​chart_engine_hours_regions\",​\"​color\":​16381105,​\"​priority\":​4,​\"​name\":​\"​Engine hours\"​},​
 +  {\"​id\":​\"​chart_conn_quality_regions\",​\"​color\":​14474460,​\"​priority\":​3,​\"​name\":​\"​Connection loss\"​},​
 +  {\"​id\":​\"​chart_stays_regions\",​\"​color\":​16773056,​\"​priority\":​2,​\"​name\":​\"​Parkings\"​},​
 +  {\"​id\":​\"​chart_trips_regions\",​\"​color\":​16766408,​\"​priority\":​1,​\"​name\":​\"​Trips\"​}],​
 +  ... }
 +</​code>​
 +
 +Доступные состояния.
 +^ id ^ Описание ^
 +| chart_stops_regions | Остановки |
 +| chart_engine_hours_regions | Моточасы |
 +| chart_conn_quality_regions | Потери связи |
 +| chart_stays_regions | Стоянки |
 +| chart_trips_regions | Поездки |
 +
 +===== Дополнительные настройки =====
 +
 +Каждая настройка шаблона представляет собой отдельный столбец в таблице.
 +Чтобы активировать опцию - нужно добавить в шаблон соответствующие столбцы.
 +
 +**Доступные настройки**
 +^ Таблица ^ Столбец ^ Описание ^
 +| unit_stats | multi_drivers | Несколько водителей/​прицепов |
 +| unit_stats | precise_calculations | Пробег/​топливо/​счетчики с точностью до сотых |
 +| unit_stats | exclude_thefts | Исключить сливы из расхода топлива |
 +| unit_stats | trips_mileage | Считать пробег только по поездкам |
 +| unit_stats | intersect_zone | Учитывать пересечение геозоны треком |
 +| unit_stats | address_format | Формат адреса |
 +| unit_stats | time_format | Формат времени |
 +| unit_stats | us_units | Система единиц |
 +| unit_stats | shifts | Смены |
 +| unit_trips | render_msgs | Все сообщения на карте |
 +| unit_trips | render_trips | Треки поездок |
 +| geozones | render_geozones | Геозоны |
 +| unit_videos | render_unit_videos | Маркеры видео |
 +| unit_fillings | render_filling_markers | Маркеры заправок |
 +| unit_photos | render_unit_photos | Маркеры изображений |
 +| unit_stops | render_stops_markers | Маркеры остановок |
 +| unit_speedings | render_speedings_markers | Маркеры превышений скорости |
 +| unit_thefts | render_theft_markers | Маркеры сливов |
 +| unit_events | render_events_markers | Маркеры событий |
 +| unit_stays | render_stays_markers | Маркеры стоянок |
 +| unit_location | render_location_markers | Последнее местоположение |
 +| unit_stats_zones | all_resources | геозоны из всех ресурсов |
 +| unit_stats_zones | desc_address | Добавить поле описания к адресу |
 +| unit_stats_zones | address_zones | Геозоны в качестве адресов |
 +
 +
 +:!: Формат адреса,​ времени и метрика указываются в параметре **"​p"​** .
 +
 +===== Возвращаемый результат =====
 +При создании и редактировании:​
 +<code javascript>​
 +[
 + <​long>,​ /​* ID шаблона */
 + {
 + "​id":<​long>,​ /​* ID шаблона */
 + "​n":<​text>,​ /​* название */
 + "​ct":<​text>,​ /​* тип шаблона */
 + "​c":<​uint>​ /​* контрольная сумма (crc16) */
 + }
 +]
 +</​code>​
 +Типы шаблонов рассмотрены в разделе [[get_report_data]].
 +
 +При удалении:​
 +<code javascript>​
 +[
 + <​long>,​ /​* ID шаблона */
 + null
 +]
 +</​code>​
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2024 Gurtam