Это старая версия документа.


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

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

svc=report/exec_report&params={"reportResourceId":<long>,
			       "reportTemplateId":<long>,
			       "reportObjectId":<long>,
			       "reportObjectSecId":<long>,
			       "reportObjectIdList":[<uint>, ...]},
			       "interval":{
			       		"from":<uint>,
			       		"to":<uint>,
			       		"flags":<uint>
			       },
			       "reportTemplate":<object>}

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

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

Параметры

Название Описание
reportResourceId ID ресурса
reportTemplateId ID шаблона
reportObjectId ID элемента
reportObjectSecId ID подэлемента, например геозоны или уведомления, если у элемента нету подэлементов, то 0
reportObjectIdList массив ID дополнительных элементов (для отчета по группам объектов)
interval настройки интервала отчета
from начало интервала, UNIX-время
to окончание интервала, UNIX-время
flags флаги интервала
reportTemplate JSON шаблона отчета, который можно получить выполнив запрос get_report_data (необязательный параметр, используется только если reportTemplateId равен 0)

:!: reportResourceId является обязательным параметром, от имени создателя данного ресурса будет выполняться отчет если reportTemplateId равен 0.

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

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

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

{
	"reportResult":{		/* результат отчета */
		"msgsRendered":<int>,		/* загружены сообщения: 0 - нет, 1 - да */
		"stats":[			/* массив статистических параметров */
			[<text>,<text>]			/* [название параметра, значение] */
		],
		"tables":[			/* массив таблиц */
			{
				"name":<text>,		/* тип таблицы */
				"label":<text>,		/* название */
				"grouping": {
					"type":<text>	/* тип группировки */ 
				},
				"flags":<uint>,		/* флаги таблиц (см. ниже) */
				"rows":<uint>,		/* количество строк */
				"level":<uint>,		/* максимальное уровень в таблице */
				"columns":<uint>,	/* количество колонок */
				"header":[			/* массив названий столбцов таблицы */
					<text>			
				],
				"total":[			/* итого */
					<text>			/* массив ячеек */
				],
				"grouping" {<text>},		/* Группировка таблицы */
				"header_type" [<text>],		/* массив типов столбцов таблицы */
				"totalRaw" [				/* Массив значений для строки Итого */
				{		
				"v":<double>,	/* исходное значение ячейки */
				"vt":<double>,	/* тип значения */
				}
				...
				] 
			}
		],
		"attachments":[			/* массив приложений (графиков, видео, фотографий) */
			{		/* для графиков */
				"name":<text>,		/* название */
				"type":<text>,		/* тип: chart - график, photo - фотография */
				"datasets":[<text>]	/* массив с названиями кривых графика */
				"axis_y":[<text>],	/* Массив наименований для оси Y */
				"axis_x": <text>, /* Наименование оси X */
				"flags": <uint>, /* Формат оси, описание ниже */
				"p":<text>, /* Настройки графика, заданные при создании шаблона */
			},
			{		/* для фотографий и видео */
				"name":<text>,	/* название и нижеописанные параметры через ";" */
				"ftm":<text>,	/* форматированная дата */
				"uid":<text>,	/* ID объекта */	
				"tm":<text>,	/* время в UNIX формате */
				"idx":<text>,	/* индекс однотипных вложений зарегистрированных единовременно */
				"lat":<text>,	/* широта */
				"lon":<text>,	/* долгота */
				"type":<text>	/* тип вложения */
			}
 
		]
},
	"reportLayer":{			/* графический слой */
		"name":<text>,			/* название слоя */
		"bounds":[
			<double>,			/* минимальная широта */
			<double>,			/* минимальная долгота */
			<double>,			/* максимальная широта */
			<double>			/* максимальная долгота */
		]
	},
	"layerCount":<uint>	/* количество слоев, которые объединены в слой отчета */
}

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

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

Флаг Описание
0x1 Группировка: по дате
0x2 Ограничение по времени
0x4 Группировка: по неделям
0x8 Группировка: по месяцам
0x10 Итого
0x20 Графики: разделять датчики
0x100 Детализация: частичная
0x200 Графики: отсчет с нуля
0x800 Детализация: полная
0x1000 Нумерация строк
0x4000 Группировка: по сменам
0x200000 Группировка по поездкам
0x400000 Группировка по типу нарушения
0x10000000 Группировка: по дням недели
0x20000000 Группировка: по дням месяца
0x40000000 Группировка: по году

Флаги графиков:

Флаг Добавочный флаг Формат Описание
0x4 - Корректируемый максимум для оси Y
0x10 - Формат заданный в настройках шаблона
0x2 «%H:%M:%S» Добавочный для 0x10
0x4 «%Y-%m-%E» Добавочный для 0x10
0x80 - уникальный тип
0x100 «hh:mm» 24х часовой формат
0x20 «hh:mm» 24х часовой формат (добавочный для 0x100)
0x2 «hh:mm pm» 12ти часовой формат (добавочный для 0x20)
0x40 {«Monday», «Tuesday», «Wednesday», «Thursday», «Friday», «Saturday», «Sunday»} Отображение дней недели (добавочный для 0x100)
Follow us on Facebook Gurtam Wialon Twitter Gurtam Wialon info@gurtam.com   |   Copyright © 2002-2024 Gurtam