Выполнение отчета

Чтобы выполнить отчет, нужно использовать команду report/exec_report:

svc=report/exec_report&params={"reportResourceId":<long>,
			       "reportTemplateId":<long>,
			       "reportObjectId":<long>,
			       "reportObjectSecId":<long>,
			       "interval":{
			       		"from":<uint>,
			       		"to":<uint>,
			       		"flags":<uint>
			       },
			       "tzOffset":<uint>,
			       "lang":<text>}

:!: Внимание! Одновременно в сессии может быть выполнен только один отчет, поэтому если в сессии содержаться результаты выполнения предыдущего отчета, то перед выполнением следующего отчета их следует удалить командой report/cleanup_result.

:!: Использование данного запроса рассмотрено в примере Отчеты.

Параметры

Название Описание
reportResourceId ID ресурса
reportTemplateId ID шаблона
reportObjectId ID элемента
reportObjectSecId ID подэлемента, например геозоны или уведомления, если у элемента нету подэлементов, то 0
interval настройки интервала отчета
from начало интервала, UNIX-время
to окончание интервала, UNIX-время
flags флаги интервала
tzOffset часовой пояс (см. Часовые пояса)
lang язык (двухбуквенный код)

Флаги интервала:

Флаг Описание
0x00 указанный интервал
0x01 начиная 'От' до сегодня
0x02 за предыдущие n дней
0x04 за предыдущие n недель
0x08 за предыдущие n месяцев
0x10 за предыдущие n лет
0x20 включая текущее
0x40 за предыдущие n часов

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

{
	"reportResult":{		/* результат отчета */
		"msgsRendered":<int>,		/* загружены сообщения: 0 - нет, 1 - да */
		"stats":[			/* массив статистических параметров */
			[<text>,<text>]			/* [название параметра, значение] */
		],
		"tables":[			/* массив таблиц */
			{
				"nm":<text>,		/* тип таблицы */
				"text":<text>,		/* название */
				"f":<uint>,		/* флаги таблиц (см. ниже) */
				"r":<uint>,		/* количество строк */
				"c":<uint>,		/* количество колонок */
				"h":[<text>],		/* массив названий столбцов таблицы */
				"t":[<text>]		/* итого */
			}
		],
		"attachments":[			/* массив приложений (графиков, фотографий) */
			{
				"n":<text>,		/* название */
				"t":<text>		/* тип: chart - график, photo - фотография */
			}
		]
	},
	"reportLayer":{			/* графический слой */
		"name":<text>,			/* название слоя */
		"bounds":[
			<double>,			/* минимальная широта */
			<double>,			/* минимальная долгота */
			<double>,			/* максимальная широта */
			<double>			/* максимальная долгота */
		],
		"units": [{		/* объекты */
			"id": <long>,		/* ID объекта */
			"msgs":{		/* сообщения */
				"count":<uint>,		/* количество сообщений */
				"first":{		/* первое сообщение из интервала */
					"time":<uint>,		/* время */
					"lat":<double>,		/* широта */
					"lon":<double>		/* долгота */
				},
				"last":{		/* последнее сообщение из интервала */
					"time":<uint>,		/* время */
					"lat":<double>,		/* широта */
					"lon":<double>		/* долгота */
				}
			},
			"mileage":<double>,	/* пробег */
			"max_speed":<double>	/* максимальная скорость */
		}]
	},
	"layerCount":<uint>	/* количество слоев, которые объединены в слой отчета */
}

Чтобы получить все доступные типы таблиц нужно выполнить запрос report/get_report_tables.

Флаги таблиц:

Флаг Описание
0x1 Группировка: по дням
0x2 Ограничение по времени
0x4 Группировка: по неделям
0x8 Группировка: по месяцам
0x10 Итого
0x20 Графики: разделять датчики
0x100 Детализация: частичная
0x200 Графики: отсчет с нуля
0x800 Детализация: полная
0x1000 Нумерация строк
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2020 Gurtam