update_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 | Действие: создание, изменение, удаление. |
Остальные параметры нужны только для создания и изменения шаблонов. Они рассмотрены на странице get_report_data.
Параметр “p” определяет группировку таблицы и другие настройки. Пример:
"p":"{
\"grouping\":\"
{\"type\":\"total\",\"nested\": /* включить группировку "Итого" */
{\"type\":\"year\"}}\" /* включить вложенную группировку "Год" */
}"
}"
Основные типы группировки:
Тип | Описание |
---|---|
total | Итого. |
year | Год. |
month | Месяц. |
week | Неделя. |
wday | День недели. |
mday | День месяца. |
day | Дата. |
shift | Смена. |
Вы можете найти дополнительные типы группировки в информации о таблице, полученной с помощью запроса get_report_tables (параметр “gt”).
Для таблицы account_tree можно использовать следующие параметры:
"p": "{
\"account_tree\":{
\"group\":<bool>,
\"types\":"<text>"
}
}"
Название | Описание |
---|---|
group | Группировка элементов:
Значение по умолчанию — 0. |
types | Типы элементов, включенные в результаты таблицы:
По умолчанию включены все типы элементов. |
Пример (все двойные кавычки внутри значения должны быть экранированы):
"p":"{\"account_tree\":{\"group\":1,\"types\":\"avl_account,avl_resource,user,avl_unit,avl_unit_group,avl_retranslator,avl_route\"}}"
Для таблицы driver_ddd можно использовать параметр drv_activity (метод определения активности):
"p": "{
\"drv_activity\":"<text>"
}"
Значение | Описание |
---|---|
ddd | Использовать данные из файлов .ddd (по умолчанию). |
online | Использовать онлайн-данные. |
binds_and_trips | Использовать данные назначений и поездок. |
Для таблицы driver_orders (Заявки) можно использовать параметр order_filter (Фильтрация):
"p":"{
\"order_filter\":<uint>
}"
Значение | Описание |
---|---|
0x1 | Посещенные заявки. Устарел. |
0x2 | Непосещенные заявки. Устарел. |
0x4 | Заявки, посещенные вовремя. Устарел. |
0x8 | Заявки, посещенные с опозданием. Устарел. |
0x10 | Подтвержденные и отклоненные заявки. |
0x20 | Неподтвержденные и неотклоненные заявки. |
0x40 | Подтвержденные заявки. |
0x80 | Отклоненные заявки. |
0x100 | Посещенные заявки. |
0x200 | Непосещенные заявки. |
0x400 | Заявки, посещенные вовремя. |
0x800 | Заявки, посещенные с опозданием. |
Для таблицы unit_counter_sensors (Датчики счетчиков) можно использовать следующие параметры:
- sensor_val:min (минимальное значение датчика);
- sensor_val:max (максимальное значение датчика).
"p": "{
\"sensor_val\":{\"min\":\"10\",\"max\":\"14\"}
}"
Для графиков:
"p":"{
\"sensor_mask\":"<text>", /* маска датчика */
\"instant_speed_base\":{
\"mask\":"<text>"}} /* маска датчика для раскрашивания линии графика по датчику */
Для разделения на смены в таблицах используйте следующие параметры:
"p":{\"split_shifts\":1},
"s":{\"split_shifts\"}
Графики
График представляет собой таблицу в шаблоне.
Для добавления маркеров в график добавьте таблицу маркеров в шаблон и флаги маркеров в таблицу графика.
Пример таблицы маркеров:
{"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\"]"},
Пример флагов маркеров:
"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 | Видео. |
Для изменения фона графиков в зависимости от состояния объекта добавьте маркер/состояние в шаблон и параметр chart_regions в таблицу графика.
ID | Описание |
---|---|
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) */
}
]
Типы шаблонов описаны в разделе get_report_data.
Для запросов, связанных с удалением:
[
<long>, /* ID шаблона */
null
]
Возможные коды ошибок:
Код | Описание |
---|---|
7 | Не удалось извлечь элемент с требуемым ACL (ADF_ACL_AVL_RES_EDIT_REPORTS). |
6 | Неопределенная ошибка. |
4 | Неверные входные параметры. |