|
|
ru:kit:remoteapi:apiref:report:update_report [29/05/2017 18:20] |
ru:kit:remoteapi:apiref:report:update_report [18/05/2021 08:12] (текущий) |
| ====== Шаблоны ====== |
| Для создания, редактирования и удаления шаблонов отчетов используется команда **report/update_report**: |
| <code javascript> |
| svc=report/update_report¶ms={"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> |