update_report

Para crear, modificar y eliminar plantillas de informes, utilice el método report/update_report.

Endpoint

Copied!
svc=report/update_report&params={
  "itemId":<long>,
  "id":<long>,
  "callMode":"<text>",
  "n":"<text>",
  "ct":"<text>",
  "p":"<text>",
  "tbl":[
    {
      "n":"<text>",
      "l":"<text>",
      "c":"<text>",
      "cl":"<text>",
      "cp":"<text>",
      "s":"<text>",
      "sl":"<text>",
      "filter_order":"<text>",
      "p":"<text>",
      "sch":{"f1":<uint>,"f2":<uint>,"t1":<uint>,"t2":<uint>,"m":<uint>,"y":<uint>,"w":<uint>,"fl":<uint>},
      "f":<uint>
    }
  ]
}

Parámetros

La solicitud debe contener los siguientes parámetros:

Nombre Descripción
itemId ID del recurso.
id ID de la plantilla.
callMode Acción: crear, actualizar, eliminar (create, update, delete).

Los demás parámetros solo se requieren para crear y modificar plantillas. Se describen en la página get_report_data.

El parámetro tbl[].n es el nombre de sistema de la tabla. Depende del tipo de plantilla indicado en ct. Para obtener más información, consulte la sección Nombres y tipos de tablas.

Para crear o modificar una plantilla, la matriz tbl debe contener al menos una tabla. Si la matriz está vacía, la plantilla no se guarda y se devuelve el error 6.

Parámetros de la plantilla

El parámetro p especifica la agrupación de la tabla y otros ajustes. Algunos ajustes están disponibles solo para tablas específicas.

Agrupación

El parámetro grouping define cómo se agrupan las filas de la tabla:

Copied!
"p":"{
    \"grouping\":\"   
        {\"type\":\"total\",\"nested\":    /* habilitar la agrupación «Total» */
            {\"type\":\"year\"}}\"         /* habilitar la agrupación anidada «Año» */
}"

Tipos de agrupación básicos:

Tipo Descripción
total Total.
year Año.
month Mes.
week Semana.
wday Día de la semana.
mday Día del mes.
day Fecha.
shift Turno.

Para ver los tipos de agrupación avanzados, obtenga la información de la tabla mediante la solicitud get_report_tables (parámetro gt).

Tabla account_tree

Para la tabla account_tree, se pueden utilizar los siguientes parámetros:

Copied!
"p": "{
    \"account_tree\": {
        \"group\": <bool>,
        \"types\": \"<text>\"
    }
}"
Parámetro Descripción
group Agrupación de los elementos:
  • 0: no;
  • 1: sí.
El valor predeterminado es 0.
types Tipos de elementos incluidos en los resultados de la tabla:
  • avl_account;
  • avl_resource;
  • user;
  • avl_unit;
  • avl_unit_group;
  • avl_retranslator;
  • avl_route.
De forma predeterminada, se incluyen todos los tipos de elementos.

Ejemplo (todas las comillas dobles dentro del valor se deben escapar):

Copied!
    "p":"{\"account_tree\":{\"group\":1,\"types\":\"avl_account,avl_resource,user,avl_unit,avl_unit_group,avl_retranslator,avl_route\"}}"

Tabla driver_ddd

Para la tabla driver_ddd, se puede utilizar el parámetro drv_activity (Actividad del conductor):

Copied!
"p": "{
	\"drv_activity\":"<text>"
	}" 

El parámetro drv_activity puede tener los siguientes valores:

Valor Descripción
ddd Utilizar los datos de los archivos .ddd (de forma predeterminada).
online Utilizar los datos de las actividades en línea.
binds_and_trips Utilizar los datos de las actividades de asignación y de viajes.

Tabla driver_orders

Para la tabla driver_orders (Pedidos), se puede utilizar el parámetro order_filter (Filtración):

Copied!
"p":"{
	\"order_filter\":<uint>
}"

El parámetro order_filter puede tener los siguientes valores:

Valor Descripción
0x1 Pedidos visitados. En desuso.
0x2 Pedidos no visitados. En desuso.
0x4 Pedidos visitados a tiempo. En desuso.
0x8 Pedidos visitados con atraso. En desuso.
0x10 Pedidos confirmados y rechazados.
0x20 Pedidos no confirmados y no rechazados.
0x40 Pedidos confirmados.
0x80 Pedidos rechazados.
0x100 Pedidos visitados.
0x200 Pedidos no visitados.
0x400 Pedidos visitados a tiempo.
0x800 Pedidos visitados con atraso.

Tabla unit_counter_sensors

Para la tabla unit_counter_sensors (Sensores contadores), se pueden utilizar los siguientes parámetros:

  • sensor_val:min (valor mínimo del sensor);
  • sensor_val:max (valor máximo del sensor).
Copied!
"p": "{
	\"sensor_val\":{\"min\":\"10\",\"max\":\"14\"}
}" 

Turnos

Para dividir turnos en las tablas con turnos, utilice los siguientes parámetros:

Copied!
"p":{\"split_shifts\":1},
"s":{\"split_shifts\"}

Gráficas

Una gráfica es una tabla de una plantilla. Para las gráficas, se pueden utilizar los siguientes parámetros:

Copied!
"p":"{
	\"sensor_mask\":"<text>",		/* máscara de sensor */
	\"instant_speed_base\":{
		\"mask\":"<text>"}}	/* máscara de sensor para pintar la línea de la gráfica por sensor */

Marcadores

Para agregar marcadores a la gráfica, agregue la tabla de marcadores a la plantilla y los flags de marcadores a la tabla de la gráfica. Ejemplo de la tabla de marcadores:

Copied!
{"n":"unit_events",
 "l":"",
 "f":0,
 "c":"",
 "cl":"",
 "p":"",
 "sch":{
   "y":0,
   "m":0,
   "w":0,
   "f1":0,
   "f2":0,
   "t1":0,
   "t2":0},
 "sl":"",
 "s":"[\"chart_events_markers\"]"},

Ejemplo de flags de marcadores:

Copied!
"p":"{
  \"chart_markers\":{
    \"f\":2556}
  }"

Marcadores/estados disponibles:

Marcador Flag Descripción
unit_events 0x4 Eventos.
unit_fillings 0x8 Llenados de combustible.
unit_photos 0x10 Imágenes.
unit_stays 0x20 Estacionamientos.
unit_speedings 0x40 Excesos de velocidad.
unit_stops 0x80 Paradas.
unit_thefts 0x100 Descargas de combustible.
unit_videos 0x800 Vídeo.
unit_fillings 0x4000 Recargas de batería.

El flag 0x4 también agrega los marcadores de infracciones a la gráfica.

Fondo

Los intervalos de eventos como viajes, paradas, estacionamientos, pérdidas de conexión y horas de motor se pueden utilizar como fondo de la gráfica. Para obtener más información sobre cómo se ve el fondo en la interfaz, consulte Propiedades de gráficas.

El fondo requiere dos objetos de la matriz tbl: la tabla de origen, que proporciona los intervalos, y la tabla de la gráfica.

En la tabla de origen, agregue el nombre de una de las columnas con intervalos al parámetro s. Por ejemplo, para mostrar los intervalos de los viajes, agregue lo siguiente al objeto unit_trips:

Copied!
"s":"[\"chart_trips_regions\"]"

En la tabla de la gráfica, agregue el objeto chart_regions al parámetro p:

Copied!
"p":"{
  \"chart_regions\":{
    \"0\":{
      \"id\":\"<text>\",
      \"name\":\"<text>\",
      \"color\":<uint>,
      \"priority\":<uint>}
  }}"

Las claves del objeto son los índices de los intervalos, que empiezan por 0. Para mostrar varios tipos de intervalos en una misma gráfica, agregue un objeto para cada uno de ellos.

Parámetro Descripción
id El nombre de la columna del parámetro s.
name El nombre del intervalo que se muestra en la gráfica.
color El color de fondo del intervalo.
priority La prioridad de visualización. Si los intervalos se superponen, el intervalo con el valor más alto se dibuja encima.

Si id o name está vacío, el intervalo no se agrega a la gráfica.

Si no necesita las filas de la tabla de origen en el informe, deje vacíos sus parámetros c y cl. La tabla se sigue calculando y proporciona los intervalos para la gráfica.

Columnas con intervalos

Están disponibles las siguientes columnas:

Columna Descripción
chart_stops_regions Paradas.
chart_engine_hours_regions Horas de motor.
chart_conn_quality_regions Pérdida de conexión.
chart_stays_regions Estacionamientos.
chart_trips_regions Viajes.
chart_speedings_regions Excesos de velocidad.
chart_digital_sensors_regions Sensores digitales.

Ajustes avanzados

Cada ajuste de plantilla es una columna de tabla. Para activar una opción, agregue la columna correspondiente a la plantilla.

Están disponibles los siguientes ajustes:

Tabla Columna Descripción
unit_stats multi_drivers Varios conductores/remolques.
unit_stats precise_calculations Kilometraje/Combustible/Contadores con una precisión de hasta dos decimales.
unit_stats exclude_thefts Excluir las descargas de combustible del consumo de combustible.
unit_stats trips_mileage Contar el kilometraje solo de los viajes.
unit_stats intersect_zone Tener en cuenta la intersección de la geocerca por el recorrido.
unit_stats address_format Formato de dirección.
unit_stats time_format Formato de hora.
unit_stats us_units Sistema de medidas.
unit_stats shifts Turnos.
unit_trips render_msgs Todos los mensajes en el mapa.
unit_trips render_trips Recorridos de viajes.
geozones render_geozones Geocercas.
unit_videos render_unit_videos Marcadores de vídeos.
unit_fillings render_filling_markers Marcadores de llenados de combustible.
unit_photos render_unit_photos Marcadores de imágenes.
unit_stops render_stops_markers Marcadores de paradas.
unit_speedings render_speedings_markers Marcadores de excesos de velocidad.
unit_thefts render_theft_markers Marcadores de descargas de combustible.
unit_events render_events_markers Marcadores de eventos.
unit_stays render_stays_markers Marcadores de estacionamientos.
unit_location render_location_markers Última ubicación de la unidad.
unit_stats_zones all_resources Geocercas de todos los recursos.
unit_stats_zones desc_address Agregar la descripción de la geocerca a la dirección.
unit_stats_zones address_zones Utilizar geocercas como direcciones.

Resultado devuelto

Si la solicitud se completa correctamente, se devuelve una respuesta con el siguiente formato.

Para las solicitudes de creación o modificación:

Copied!
[
	<long>,		/* ID de la plantilla */
	{
		"id":<long>,	/* ID de la plantilla */
		"n":"<text>",	/* nombre */
		"ct":"<text>",	/* tipo de plantilla */
		"c":<uint>	/* suma de comprobación (crc16) */
	}
]

Para las solicitudes de eliminación:

Copied!
[
	<long>,		/* ID de la plantilla */
	null
]

Los tipos de plantillas se describen en la sección Tipos de plantillas de la página get_report_data.

De lo contrario, se devuelve un código de error.

Códigos de error

Código de error Descripción
4 Parámetros de entrada incorrectos.
6 Error no definido. Por ejemplo, la matriz tbl está vacía. Una plantilla debe contener al menos una tabla.
7 Error al obtener el objeto. Es posible que el usuario no tenga el derecho de acceso Crear, modificar y eliminar plantillas de informes al recurso.

Si nota un error en el texto, por favor resáltelo y presione Ctrl+Intro.