exec_report
El método exec_report se usa para ejecutar un informe.
En una sesión puede haber solo un resultado de informe. Por lo tanto, si hay algún resultado de informe en la sesión, usted tiene que borrarlo antes de ejecutar uno nuevo. Para hacerlo, use el método report/cleanup_result.
No puede ejecutar esta solicitud simultáneamente con las siguientes solicitudes:
Endpoint
svc=report/exec_report¶ms={
"reportResourceId": <long>,
"reportTemplateId": <long>,
"reportObjectId": <long>,
"reportObjectSecId": <long>,
"reportObjectIdList": [
<uint>,
...
],
"interval": {
"from": <uint>,
"to": <uint>,
"flags": <uint>
},
"remoteExec": <uint>,
"reportTemplate": <object>
}
Parámetros
La solicitud puede contener los siguientes parámetros. Los parámetros obligatorios están marcados con un asterisco (*).
| Nombre | Descripción |
|---|---|
| reportResourceId* | ID del recurso. El informe se ejecuta en nombre del creador del recurso si reportTemplateId es 0. |
| reportTemplateId* | ID de la plantilla. |
| reportObjectId* | ID del objeto. |
| reportObjectSecId* | ID del objeto subordinado (conductor, remolque o sus grupos); 0 si el objeto no tiene objetos subordinados. |
| reportObjectIdList | Matriz de los ID de objetos adicionales (para el informe por grupos de unidades). |
| interval* | Ajustes del intervalo de informe. |
| from* | Inicio del intervalo, tiempo Unix. |
| to* | Fin del intervalo, tiempo Unix. |
| flags* | Flags de intervalo. |
| remoteExec | Especifique el valor 1 para este parámetro para ejecutar el informe en el servidor Webreport. El parámetro es opcional y solo se utiliza si la solicitud report/get_report_status se ejecuta más tarde. Si la respuesta JSON incluye "remoteExec":1, significa que el servidor ha aceptado el informe para su procesamiento y el tiempo de ejecución se limita a 5 minutos.Especifique 0 u omita este parámetro para ejecutar el informe en el servidor Web. En este caso, el tiempo de ejecución se limita a 2 minutos. |
| reportTemplate | JSON de la plantilla de informe que puede obtener después de la solicitud report/get_report_data. El parámetro es opcional y solo se utiliza si reportTemplateId es 0. La matriz tbl de la plantilla debe contener al menos una tabla. |
Flags de intervalo
| Flag | Descripción | Valor del parámetro from |
Valor del parámetro to |
Comentarios |
|---|---|---|---|---|
| 0x00 (0) | Intervalo especificado. | Valor de la marca de tiempo en segundos. | Valor de la marca de tiempo en segundos. | |
| 0x01 (1) | Desde la hora especificada hasta hoy. | Valor de la marca de tiempo en segundos. | 0 | Cualquier valor indicado en el parámetro se sustituye por la hora actual del servidor. |
| 0x02 (2) | Por n días anteriores. | 0 | Cantidad de días. | Cualquier valor indicado en el parámetro from se sustituye por el último período completo o por la hora actual del servidor si está presente el flag 0x20. |
| 0x04 (4) | Por n semanas anteriores. | 0 | Cantidad de semanas. | |
| 0x08 (8) | Por n meses anteriores. | 0 | Cantidad de meses. | |
| 0x10 (16) | Por n años anteriores. | 0 | Cantidad de años. | |
| 0x20 (32) | Incluyendo el período actual. | |||
| 0x40 (64) | Por n horas anteriores. | 0 | Cantidad de horas. | |
| 0x80 (128) | Por n minutos anteriores. | 0 | Cantidad de minutos. |
Resultado devuelto
{
"reportResult": { /* resultado de ejecución del informe */
"msgsRendered": <int>, /* mensajes cargados: 0, no; 1, sí */
"stats": [ /* matriz de parámetros de estadísticas */
["<text>", "<text>"] /* [nombre del parámetro, valor] */
],
"tables": [ /* matriz de tablas */
{
"name": "<text>", /* tipo de tabla */
"label": "<text>", /* nombre */
"grouping": {
"type": "<text>" /* tipo de agrupación */
},
"flags": <uint>, /* flags de tabla (vea más abajo) */
"rows": <uint>, /* cantidad de líneas */
"level": <uint>, /* nivel máximo en la tabla */
"columns": <uint>, /* cantidad de columnas */
"header": ["<text>"], /* matriz de encabezados de tabla */
"total": [ /* total */
"<text>" /* matriz de celdas */
],
"header_type": ["<text>"], /* matriz de tipos de encabezados de tabla */
"totalRaw": [ /* matriz de valores de la línea «Total» */
{
"v": <double>, /* valor inicial de la celda */
"vt": <double> /* tipo de valor */
},
...
]
}
],
"attachments": [ /* matriz de datos adjuntos (gráficas, fotos) */
{ /* para gráficas */
"name": "<text>", /* nombre */
"type": "<text>", /* tipo: chart (gráfica), photo (foto) */
"datasets": ["<text>"], /* matriz con los nombres de las líneas curvas de la gráfica */
"axis_y": ["<text>"], /* matriz con las etiquetas de los ejes 'Y' */
"axis_x": "<text>", /* nombre del eje 'X' */
"flags": <uint>, /* formato del eje, vea la descripción más abajo */
"p": "<text>" /* ajustes de la gráfica */
},
{ /* para foto y vídeo */
"name": "<text>", /* nombre y siguientes parámetros separados por ";" */
"ftm": "<text>", /* fecha formateada */
"uid": "<text>", /* ID de la unidad */
"tm": "<text>", /* tiempo Unix */
"idx": "<text>", /* índice de los datos adjuntos del mismo tipo registrados simultáneamente */
"lat": "<text>", /* latitud */
"lon": "<text>", /* longitud */
"type": "<text>", /* tipo de datos adjuntos */
"zone": <JSON>, /* información de geocercas */
"tags": <JSON> /* información sobre etiquetas */
}
]
},
"reportLayer": { /* capa gráfica */
"name": "<text>", /* nombre de la capa */
"bounds": [
<double>, /* latitud mínima */
<double>, /* longitud mínima */
<double>, /* latitud máxima */
<double> /* longitud máxima */
]
},
"layerCount": <uint> /* cantidad de capas que deben combinarse en la capa del informe */
}
Para obtener todos los tipos de tablas disponibles, use el método report/get_report_tables.
Para los detalles del campo zone, vea la página resource/get_zone_data.
Para los detalles del campo tags, vea la página resource/update_tag.
Flags de tablas
| Flag | Descripción |
|---|---|
| 0x1 (1) | Agrupación por días. |
| 0x2 (2) | Limitación por tiempo. |
| 0x4 (4) | Agrupación por semanas. |
| 0x8 (8) | Agrupación por meses. |
| 0x10 (16) | Total. |
| 0x20 (32) | Gráficas: dividir sensores. |
| 0x100 (256) | Especificación: parcial. |
| 0x200 (512) | Gráficas: contar desde cero. |
| 0x400 (1024) | Acumular intervalos. |
| 0x800 (2048) | Especificación: completa. |
| 0x1000 (4096) | Numeración de líneas. |
| 0x2000 (8192) | Ejecutar la tabla solo por objeto del informe (no por objetos subordinados). |
| 0x4000 (16384) | Agrupar registros en turnos. |
| 0x8000 (32768) | Cortar intervalos en la tabla. |
| 0x200000 (2097152) | Agrupación por viajes. |
| 0x400000 (4194304) | Agrupación por tipo de infracción. |
| 0x10000000 (268435456) | Agrupación por día de la semana. |
| 0x20000000 (536870912) | Agrupación por día del mes. |
| 0x40000000 (1073741824) | Agrupación por años. |
Flags de gráficas
| Flag | Flag adicional | Descripción |
|---|---|---|
| 0x4 (4) | Máximo ajustable para el eje Y. | |
| 0x10 (16) | Formato especificado en los ajustes de la plantilla. | |
| 0x1 (1) | Adicional para 0x10 (establecer el formato «H:M:S»). | |
| 0x2 (2) | Adicional para 0x10 (establecer el formato «Y-m-E»). | |
| 0x80 (128) | Tipo genérico. | |
| 0x100 (256) | Formato de 24 horas. | |
| 0x20 (32) | Formato de 24 horas (adicional para 0x100). | |
| 0x2 (2) | Formato de 12 horas (adicional para 0x20). | |
| 0x40 (64) | Mostrar los días de la semana (adicional para 0x100). |
Códigos de error
| Código | Descripción |
|---|---|
| 4 | Parámetros de entrada incorrectos. Por ejemplo, la matriz tbl del parámetro reportTemplate está vacía. Una plantilla debe contener al menos una tabla. |
| 6 | Error no definido. |
| 7 | Uno de los siguientes errores:
|