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

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. В этом случае время его выполнения ограничено 2 минутами.
reportTemplate JSON шаблона отчета, который можно получить после запроса report/get_report_data. Параметр необязателен и используется, только если reportTemplateId равен 0.

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

Флаг Описание Значение параметра from Значение параметра to Комментарии
0x00 (0) Указанный интервал. Значение метки времени в секундах. Значение метки времени в секундах.
0x01 (1) От указанного времени до сегодняшнего дня. Значение метки времени в секундах. 0 Любое значение, переданное в параметре, заменяется текущим временем сервера.
0x02 (2) За предыдущие n дней. 0 Количество дней. Любое значение, переданное в параметре from, заменяется последним полным периодом или текущим временем сервера, если присутствует флаг 0x20.
0x04 (4) За предыдущие n недель. 0 Количество недель.
0x08 (8) За предыдущие n месяцев. 0 Количество месяцев.
0x10 (16) За предыдущие n лет. 0 Количество лет.
0x20 (32) Включая текущий период.
0x40 (64) За предыдущие n часов. 0 Количество часов.
0x80 (128) За предыдущие n минут. 0 Количество минут.

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

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>                    /* количество слоев, которые должны быть объединены в слое отчета */
}

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

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

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

Флаги таблиц

Флаг Описание
0x1 (1) Группировка по дням.
0x2 (2) Ограничение по времени.
0x4 (4) Группировка по неделям.
0x8 (8) Группировка по месяцам.
0x10 (16) Итого.
0x20 (32) Графики: разделять датчики.
0x100 (256) Детализация: частичная.
0x200 (512) Графики: отсчет с нуля.
0x400 (1024) Накапливать интервалы.
0x800 (2048) Детализация: полная.
0x1000 (4096) Нумерация строк.
0x2000 (8192) Выполнение таблицы только по элементу отчета (не по подчиненным элементам).
0x4000 (16384) Группировка записей по сменам.
0x8000 (32768) Обрезать интервалы в таблице.
0x200000 (2097152) Группировка по поездкам.
0x400000 (4194304) Группировка по типам нарушения.
0x10000000 (268435456) Группировка по дням недели.
0x20000000 (536870912) Группировка по дням месяца.
0x40000000 (1073741824) Группировка по годам.

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

Флаг Дополнительный флаг Описание
0x4 (4) Корректируемый максимум для оси Y.
0x10 (16) Формат, указанный в настройках шаблона.
0x1 (1) Добавочный для 0x10 (установить формат “H:M:S”).
0x2 (2) Добавочный для 0x10 (установить формат “Y-m-E”).
0x80 (128) Общий тип.
0x100 (256) 24-часовой формат.
0x20 (32) 24-часовой формат (добавочный для 0x100).
0x2 (2) 12-часовой формат (добавочный для 0x20).
0x40 (64) Отображение дней недели (добавочный для 0x100).

Коды ошибок

Код Описание
4 Неверные входные параметры.
6 Неопределенная ошибка.
7 Одна из следующих ошибок:
  • служба отчетов недоступна на сервере
  • элемент из reportObjectId не существует или у вас нет права доступа Запрос сообщений и отчетов на него
  • ресурс из reportResourceId не существует или у вас нет права доступа Просмотр шаблонов отчетов на него

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