1

Не могу получить данные отчета через report/exec_report&params

(22/02/2021 12:46:07 отредактировано ecoperator)

Тема: Не могу получить данные отчета через report/exec_report&params

Добрый день!
У меня local 1904. Есть отчет о стоянках. Через API report/exec_report&params пытаюсь получить данные отчета для группы. Приходит только meta информация о параметрах таблицы, а самих данных в поле stats нет. Как то так: {'reportResult': {'msgsRendered': 0, 'stats': [] ....  Подскажите в какую сторону копать?

2

Не могу получить данные отчета через report/exec_report&params

Re: Не могу получить данные отчета через report/exec_report&params

Добрый день!

Если параметр "stats" содержит пустой массив, значит в отчете нет таблицы Статистика
Данные по таблицам в параметре "tables".

Diana Cheley
Wialon Hosting Expert
Gurtam
3

Не могу получить данные отчета через report/exec_report&params

Re: Не могу получить данные отчета через report/exec_report&params

Diana пишет:

Добрый день!

Если параметр "stats" содержит пустой массив, значит в отчете нет таблицы Статистика
Данные по таблицам в параметре "tables".

Спасибо! Со stats разобрался. Вот с tables не совсем понятно. Я получаю вот такой ответ

{'reportResult': {'msgsRendered': 0, 'stats': [['Отчет', 'Длительная стоянка групп'], ['Группа', 'Р997ХЛ763'], ['Начало интервала', '2021-02-23 20:00:00'], ['Окончание интервала', '2021-02-24 19:59:00'], ['Время выполнения отчета', '2021-02-24 09:00:34']], 'tables': [{'name': 'unit_group_stays', 'label': 'Стоянки', 'grouping': {'type': 'unit'}, 'flags': 4098, 'rows': 1, 'level': 1, 'columns': 8, 'header': ['№', 'Grouping', 'Начало', 'Конец', 'Длительность', 'Общее время', 'Положение', 'Статус'], 'header_type': ['', '', 'time_begin', 'time_end', 'duration', 'duration_ival', 'location', 'info_event']}], 'attachments': []}, 'reportLayer': {'name': 'report markers', 'bounds': [0, 0, 0, 0]}, 'layerCount': 1}

Данных в tables как бы нет

4

Не могу получить данные отчета через report/exec_report&params

Re: Не могу получить данные отчета через report/exec_report&params

Добрый день!

'tables': [{'name': 'unit_group_stays', 'label': 'Стоянки', 'grouping': {'type': 'unit'}, 'flags': 4098, 'rows': 1, 'level': 1 .....

В таблице группировка по объектам, всего 1 строка , 1 уровня вложенности
https://sdk.wialon.com/wiki/ru/sidebar/ … j_rezultat

Вы можете запросить через запрос report/select_result_rows - https://sdk.wialon.com/wiki/ru/sidebar/ … esult_rows

https://hst-api.wialon.com/wialon/ajax.html?svc=report/select_result_rows&sid=021df621073f5b102b83740b0ea0eaf5
params: {"tableIndex":0,"config":{"type":"range","data":{"from":0,"to":0,"level":0,"unitInfo":1}}}

И ответ уже покажет, есть ли данные, или эта пустая строка
К примеру, у объекта нет стоянок, в групповом отчете выводится пустая строка (если не отмечена опция - пропускать пустые строки)

[{"n":0,"i1":0,"i2":0,"t1":0,"t2":0,"d":0,"uid":21728414,"c":["Volvo awesome","-----",""]}]
Diana Cheley
Wialon Hosting Expert
Gurtam
5

Не могу получить данные отчета через report/exec_report&params

Re: Не могу получить данные отчета через report/exec_report&params

Спасибо большое!
Все получилось!

6

Не могу получить данные отчета через report/exec_report&params

Re: Не могу получить данные отчета через report/exec_report&params

Добрый день, Диана прошу вашей помощи. У меня проблема с получением данных таблицы отчета. Выполняю запрос: "wialon/ajax.html?svc=report/exec_report&params={"reportResourceId":20937990,"reportTemplateId":3,"reportObjectId":25049144,"reportObjectSecId":0,"interval":{"from":1667242800,"to":1669834799,"flags":0}}&sid=021b315ae0df3cad89c11883daad7738" Результат выполнения: "{"reportResult":{"msgsRendered":0,"stats":[["Отчет","Топливо по объекту"],["Объект","Соболь Кучербай_А492ОО 702(с топливом)"],["Начало интервала","2022-10-31 19:00:00"],["Окончание интервала","2022-11-30 18:59:59"],["Ср. расход","19.46 l\/100 km"],["Всего заправлено","934 l"],["Всего заправок","20"],["Всего топлива слито","250 l"],["Всего сливов","22"],["Начальный пробег","0.00 km"],["Конечный пробег","0.00 km"],["Количество стоянок","246"],["Время в поездках","5 days 6:28:26"],["Пробег в поездках","4868 km"]],"tables":[{"name":"unit_fillings","label":"Заправки","grouping":{},"flags":0,"rows":20,"level":1,"columns":5,"header":["Время","Заправлено","Зарегистрировано","Кол-во","Пробег"],"header_type":["time_end","filled","registered","count","absolute_mileage_begin"]}],"attachments":[]}}
"
массив строк "tables" отсутствует в ответе, но при этом пишет что строк "rows":20 (это правильно).
Пробовал получить данные с помочью метода "select_result_rows", результат ошибка выполнения запроса (ошибка 5)
Запрос: "wialon/ajax.html?svc=report/select_result_rows&params={"tableIndex":1,
"config":{"type":"row","data":{"from":1,"to":20,"level":0,"flat":0,"rawValues":0,"unitInfo":0}}}&sid=02bc4e49e804958232e340254cf5630c" Результат выполнения: "{"error":5}"

7

Не могу получить данные отчета через report/exec_report&params

Re: Не могу получить данные отчета через report/exec_report&params

Добрый день, timofejas ,

Результат выполнения вашего отчета содержит информацию о двух таблицах - Статистика и Заправки.
Данные по Статистике уже выводятся после выполнения запроса exec_report.
Для получения данных из таблицы Заправки вам необходимо обратиться именно к этой таблице и запросить данные по строкам.
индекс таблицы - 0
Пример запроса -- hst-api.wialon.com/wialon/ajax.html?svc=report/get_result_rows&params={"tableIndex":0,"indexFrom":0,"indexTo":19}&sid=
Также обратите внимание, что индексы строк начинаются с нуля.

Запрос select_result_rows используют обычно для вложенных строк, а т.к. группировки в вашем отчете нет, то попробуйте пример  с get_result_rows указанный выше.

Если же нужно будет получать данные вложенных строк то обратите внимание, что параметры "data" будут отличаться для разных типов.
Описание тут -- https://sdk.wialon.com/wiki/ru/sidebar/ … #parametry

Также здесь вы можете найти пример выполнения отчетов -- https://sdk.wialon.com/wiki/ru/sidebar/ … es/reports

Anton Zinovyev
Technical Care Engineer (L2)
Wialon
8

Не могу получить данные отчета через report/exec_report&params

Re: Не могу получить данные отчета через report/exec_report&params

Добрый день, спасибо zant, получилось.