Справочный центр Wialon

update_report

Для создания, редактирования и удаления шаблонов отчетов используйте метод report/update_report.

Конечная точка

Copied!
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>",
      "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 определяет, как группируются строки таблицы:

Copied!
"p":"{
    \"grouping\":\"   
        {\"type\":\"total\",\"nested\":    /* включить группировку \"Итого\" */
            {\"type\":\"year\"}}\"         /* включить вложенную группировку \"Год\" */
}"

Основные типы группировки:

Тип Описание
total Итого.
year Год.
month Месяц.
week Неделя.
wday День недели.
mday День месяца.
day Дата.
shift Смена.

Чтобы узнать дополнительные типы группировки, запросите информацию о таблице с помощью запроса get_report_tables (параметр gt).

Таблица account_tree

Для таблицы account_tree можно использовать следующие параметры:

Copied!
"p": "{
    \"account_tree\": {
        \"group\": <bool>,
        \"types\": \"<text>\"
    }
}"
Параметр Описание
group Группировка элементов:
  • 0 — нет;
  • 1 — да.
Значение по умолчанию — 0.
types Типы элементов, включенные в результаты таблицы:
  • avl_account;
  • avl_resource;
  • user;
  • avl_unit;
  • avl_unit_group;
  • avl_retranslator;
  • avl_route.
По умолчанию включены все типы элементов.

Пример (все двойные кавычки внутри значения должны быть экранированы):

Copied!
    "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 (Источник активности водителя):

Copied!
"p": "{
	\"drv_activity\":"<text>"
	}" 

Параметр drv_activity может иметь следующие значения:

Значение Описание
ddd Использовать данные из файлов .ddd (по умолчанию).
online Использовать онлайн-данные.
binds_and_trips Использовать данные назначений и поездок.

Таблица driver_orders

Для таблицы driver_orders (Заявки) можно использовать параметр order_filter (Фильтрация):

Copied!
"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 (максимальное значение датчика).
Copied!
"p": "{
	\"sensor_val\":{\"min\":\"10\",\"max\":\"14\"}
}" 

Смены

Для разделения на смены в таблицах со сменами используйте следующие параметры:

Copied!
"p":{\"split_shifts\":1},
"s":{\"split_shifts\"}

Графики

График представляет собой таблицу в шаблоне. Для графиков можно использовать следующие параметры:

Copied!
"p":"{
	\"sensor_mask\":"<text>",		/* маска датчика */
	\"instant_speed_base\":{
		\"mask\":"<text>"}}	/* маска датчика для раскрашивания линии графика по датчику */

Маркеры

Чтобы добавить маркеры на график, добавьте таблицу маркеров в шаблон, а флаги маркеров — в таблицу графика. Пример таблицы маркеров:

Copied!
{"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\"]"},

Пример флагов маркеров:

Copied!
"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 следующее:

Copied!
"s":"[\"chart_trips_regions\"]"

В таблице графика добавьте в параметр p объект chart_regions:

Copied!
"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 Использовать геозоны в качестве адресов.

Возвращаемый результат

Если запрос выполнен успешно, возвращается ответ следующего формата.

Для запросов на создание и изменение:

Copied!
[
	<long>,		/* ID шаблона */
	{
		"id":<long>,	/* ID шаблона */
		"n":"<text>",	/* название */
		"ct":"<text>",	/* тип шаблона */
		"c":<uint>	/* контрольная сумма (crc16) */
	}
]

Для запросов на удаление:

Copied!
[
	<long>,		/* ID шаблона */
	null
]

Типы шаблонов описаны в разделе Типы шаблонов на странице get_report_data.

В противном случае возвращается код ошибки.

Коды ошибок

Код ошибки Описание
4 Неверные входные параметры.
6 Неопределенная ошибка.
7 Не удалось получить элемент. Возможно, у пользователя нет права Создание, редактирование и удаление шаблонов отчетов на этот ресурс.

Если вы заметили ошибку в тексте, пожалуйста, выделите её и нажмите Ctrl+Enter.