exec_report

Функция exec_report используется для выполнения отчета.

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

Параметры

НазваниеОписание

reportResourceId

ID ресурса. Требуется параметр. Отчет выполняется от имени создателя ресурса, если reportTemplateId 0.

reportTemplateId

ID шаблона.

reportObjectId

ID элемента.

reportObjectSecId

ID подчиненного элемента (водителя, прицепа или их группы); 0, если у элемента нет подчиненных элементов.

reportObjectIdList

Массив ID дополнительных элементов (для отчета по группам объектов).

interval

Настройки интервала отчета.

from

Начало интервала, время Unix.

to

Конец интервала, время Unix.

flags

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

remoteExec

Укажите значение 1 для этого параметра, чтобы отчет выполнялся на сервере Webreport. Параметр необязателен и используется, только если после этого выполняется запрос report/get_report_status. Если в возвращаемом результате содержится "remoteExec":1, отчет принят сервером в обработку, и время его выполнения ограничено 5 минутами.

Укажите 0 или не указывайте этот параметр, чтобы отчет выполнялся на сервере Web. В этом случае время его выполнения ограничено 3 минутами.

reportTemplate

JSON шаблона отчета, который может быть получен после запроса get_report_data. Параметр необязателен и используется, только если reportTemplateId 0.

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

ФлагОписание

0x00

Указанный интервал.

0x01

От... до сегодня.

0x02

За предыдущие n дней.

0x04

За предыдущие n недель.

0x08

За предыдущие n месяцев.

0x10

За предыдущие n лет.

0x20

Включая текущее.

0x40

За предыдущие n часов.

0x80

За предыдущие n минут.

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

Copied!
{
	"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>"         		/* массив ячеек */
                    ],
                   "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>",	/* тип вложения */
				"zone":<JSON>,	/* информация о геозоне */
				"tags":<JSON>,	/* информация о тегах */
			}
		]
	},
	"reportLayer":{			/* графический слой */
		"name":"<text>",			/* название слоя */
		"bounds":[
			<double>,			/* минимальная широта */
			<double>,			/* минимальная долгота */
			<double>,			/* максимальная широта */
			<double>			/* максимальная долгота */
		]
	},
	"layerCount":<uint>	/* количество слоев, которые должны быть объединены в слое отчета */
}

Для получения всех доступных типов таблиц используйте функцию get_report_tables.

См. подробности о поле zone на странице get_zone_data.

См. подробности о поле tags на странице update_tag.

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

ФлагОписание

0x1

Группировка по дате.

0x2

Ограничение по времени.

0x4

Группировка по неделям.

0x8

Группировка по месяцам.

0x10

Итого.

0x20

Графики: разделять датчики.

0x100

Детализация: частичная.

0x200

Графики: отчет с нуля.

0x400

Накапливать интервалы.

0x800

Детализация: полная.

0x1000

Нумерация строк.

0x2000

Выполнение отчета только по элементу отчета (не по подчиненным элементам).

0x4000

Группировка записей по сменам.

0x8000

Обрезать интервалы в таблице.

0x200000

Группировка по поездкам.

0x400000

Группировка по типам нарушения.

0x10000000

Группировка по дням недели.
0x20000000Группировка по дням месяца.
0x40000000Группировка по годам.

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

ФлагДополнительный флагОписание

0x4


Корректируемый максимум для оси Y.

0x10


Формат, указанный в настройках шаблона.


0x1

Добавочный для 0x10 (установить формат "H:M:S").


0x2

Добавочный для 0x10 (установить формат "Y-m-E").

0x80


Общий тип.

0x100


24-часовой формат.


0x20

24-часовой формат (добавочный для 0x100).


0x2

12-часовой формат (добавочный для 0x20).


0x40

Отображение дней недели (добавочный для 0x100).

Возможные коды ошибок:

КодОписание
7

Не удалось извлечь объект отчета и ресурс отчета с требуемым ACL (ADF_ACL_ITEM_EXECUTE_REPORTS, ADF_ACL_AVL_RES_VIEW_REPORTS).

6Неопределенная ошибка.
4Неверные входные параметры.
Скачать файл PDF
Скачать документ Word

Смотрите также