update_report
Для создания, редактирования и удаления шаблонов отчетов используйте метод report/update_report.
Конечная точка
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>",
"cp":"<text>",
"s":"<text>",
"sl":"<text>",
"filter_order":"<text>",
"p":"<text>",
"sch":{"f1":<uint>,"f2":<uint>,"t1":<uint>,"t2":<uint>,"m":<uint>,"y":<uint>,"w":<uint>,"fl":<uint>},
"f":<uint>
}
]
}
Параметры
Запрос должен содержать следующие параметры:
| Название | Описание |
|---|---|
| itemId | ID ресурса. |
| id | ID шаблона. |
| callMode | Действие: create, update, delete. |
Остальные параметры нужны только для создания и редактирования шаблонов. Они описаны на странице get_report_data.
Параметр tbl[].n — это системное название таблицы. Оно зависит от типа шаблона, указанного в ct. Подробнее см. в разделе Названия и типы таблиц.
Параметры шаблона
Параметр p определяет группировку таблицы и другие настройки. Некоторые настройки доступны только для отдельных таблиц.
Группировка
Параметр grouping определяет, как группируются строки таблицы:
"p":"{
\"grouping\":\"
{\"type\":\"total\",\"nested\": /* включить группировку \"Итого\" */
{\"type\":\"year\"}}\" /* включить вложенную группировку \"Год\" */
}"
Основные типы группировки:
| Тип | Описание |
|---|---|
| total | Итого. |
| year | Год. |
| month | Месяц. |
| week | Неделя. |
| wday | День недели. |
| mday | День месяца. |
| day | Дата. |
| shift | Смена. |
Чтобы узнать дополнительные типы группировки, запросите информацию о таблице с помощью запроса get_report_tables (параметр gt).
Таблица account_tree
Для таблицы account_tree можно использовать следующие параметры:
"p": "{
\"account_tree\": {
\"group\": <bool>,
\"types\": \"<text>\"
}
}"
| Параметр | Описание |
|---|---|
| group | Группировка элементов:
|
| types | Типы элементов, включенные в результаты таблицы:
|
Пример (все двойные кавычки внутри значения должны быть экранированы):
"p":"{\"account_tree\":{\"group\":1,\"types\":\"avl_account,avl_resource,user,avl_unit,avl_unit_group,avl_retranslator,avl_route\"}}"
Таблица driver_ddd
Для таблицы driver_ddd можно использовать параметр drv_activity (Источник активности водителя):
"p": "{
\"drv_activity\":"<text>"
}"
Параметр drv_activity может иметь следующие значения:
| Значение | Описание |
|---|---|
| ddd | Использовать данные из файлов .ddd (по умолчанию). |
| online | Использовать онлайн-данные. |
| binds_and_trips | Использовать данные назначений и поездок. |
Таблица driver_orders
Для таблицы driver_orders (Заявки) можно использовать параметр order_filter (Фильтрация):
"p":"{
\"order_filter\":<uint>
}"
Параметр order_filter может иметь следующие значения:
| Значение | Описание |
|---|---|
| 0x1 | Посещенные заявки. Устарел. |
| 0x2 | Непосещенные заявки. Устарел. |
| 0x4 | Заявки, посещенные вовремя. Устарел. |
| 0x8 | Заявки, посещенные с опозданием. Устарел. |
| 0x10 | Подтвержденные и отклоненные заявки. |
| 0x20 | Неподтвержденные и неотклоненные заявки. |
| 0x40 | Подтвержденные заявки. |
| 0x80 | Отклоненные заявки. |
| 0x100 | Посещенные заявки. |
| 0x200 | Непосещенные заявки. |
| 0x400 | Заявки, посещенные вовремя. |
| 0x800 | Заявки, посещенные с опозданием. |
Таблица unit_counter_sensors
Для таблицы unit_counter_sensors (Датчики счетчиков) можно использовать следующие параметры:
sensor_val:min(минимальное значение датчика);sensor_val:max(максимальное значение датчика).
"p": "{
\"sensor_val\":{\"min\":\"10\",\"max\":\"14\"}
}"
Смены
Для разделения на смены в таблицах со сменами используйте следующие параметры:
"p":{\"split_shifts\":1},
"s":{\"split_shifts\"}
Графики
График представляет собой таблицу в шаблоне. Для графиков можно использовать следующие параметры:
"p":"{
\"sensor_mask\":"<text>", /* маска датчика */
\"instant_speed_base\":{
\"mask\":"<text>"}} /* маска датчика для раскрашивания линии графика по датчику */
Маркеры
Чтобы добавить маркеры на график, добавьте таблицу маркеров в шаблон, а флаги маркеров — в таблицу графика. Пример таблицы маркеров:
{"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_events_markers\"]"},
Пример флагов маркеров:
"p":"{
\"chart_markers\":{
\"f\":2556}
}"
Доступные маркеры/состояния:
| Маркер | Флаг | Описание |
|---|---|---|
| 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_fillings | 0x4000 | Зарядки батареи. |
Флаг 0x4 также добавляет на график маркеры нарушений.
Фон
Интервалы таких событий, как поездки, остановки, стоянки, потери связи и моточасы, можно использовать в качестве фона графика. О том, как фон выглядит в интерфейсе, см. на странице Свойства графиков.
Для фона требуются два объекта массива tbl: таблица-источник, которая предоставляет интервалы, и таблица графика.
В таблице-источнике добавьте в параметр s название одного из столбцов с интервалами. Например, чтобы показать интервалы поездок, добавьте в объект unit_trips следующее:
"s":"[\"chart_trips_regions\"]"
В таблице графика добавьте в параметр p объект chart_regions:
"p":"{
\"chart_regions\":{
\"0\":{
\"id\":\"<text>\",
\"name\":\"<text>\",
\"color\":<uint>,
\"priority\":<uint>}
}}"
Ключи объекта — это индексы интервалов, начиная с 0. Чтобы показать на одном графике несколько типов интервалов, добавьте объект для каждого из них.
| Параметр | Описание |
|---|---|
| id | Название столбца из параметра s. |
| name | Название интервала, которое показывается на графике. |
| color | Цвет фона интервала. |
| priority | Приоритет отображения. Если интервалы перекрываются, интервал с большим значением отрисовывается поверх. |
Если параметр id или name пуст, интервал не добавляется на график.
Если строки таблицы-источника не нужны в отчете, оставьте ее параметры c и cl пустыми. Таблица все равно рассчитывается и предоставляет интервалы для графика.
Столбцы с интервалами
Доступны следующие столбцы:
| Столбец | Описание |
|---|---|
| chart_stops_regions | Остановки. |
| chart_engine_hours_regions | Моточасы. |
| chart_conn_quality_regions | Потеря связи. |
| chart_stays_regions | Стоянки. |
| chart_trips_regions | Поездки. |
| chart_speedings_regions | Превышение скорости. |
| chart_digital_sensors_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.
Возвращаемый результат
Если запрос выполнен успешно, возвращается ответ следующего формата.
Для запросов на создание и изменение:
[
<long>, /* ID шаблона */
{
"id":<long>, /* ID шаблона */
"n":"<text>", /* название */
"ct":"<text>", /* тип шаблона */
"c":<uint> /* контрольная сумма (crc16) */
}
]
Для запросов на удаление:
[
<long>, /* ID шаблона */
null
]
Типы шаблонов описаны в разделе Типы шаблонов на странице get_report_data.
В противном случае возвращается код ошибки.
Коды ошибок
| Код ошибки | Описание |
|---|---|
| 4 | Неверные входные параметры. |
| 6 | Неопределенная ошибка. |
| 7 | Не удалось получить элемент. Возможно, у пользователя нет права Создание, редактирование и удаление шаблонов отчетов на этот ресурс. |