Script para verificar condiciones de geovalla

Esta guía muestra cómo puedes escribir una regla de geocerca que verifica si un activo está dentro de una geocerca nombrada por un campo personalizado. De esta manera, puedes escribir una sola regla de evento, que verifica diferentes geocercas dependiendo del activo.

Configuración:

1. Crea un campo personalizado llamado Fence.

2. Crea un grupo de geocercas llamado Pipelines.

3. Crea una geocerca llamada por ejemplo Pipeline33. Añade Pipeline33 al grupo de geocercas Pipelines

Screenshot 2024-09-18 at 11.17.08.png

4. Edita tu activo de prueba y establece el campo personalizado "Fence" a "Pipeline33"'

Screenshot 2024-09-18 at 11.17.52.png

Crear Regla de Evento

Crea una Regla de Evento con una Expresión de Script como la siguiente:

// Encontrar geocercas en la posición actual.


var
 fences 
=
 geofence
.
find
(
trackPoint
.
position
.
longitude
,
 trackPoint
.
position
.
latitude
,
 
'Pipelines'
);


var
 isInside 
=
 
false
;


context
.
setVariable
(
'PipeName'
,
 
'-'
);


if
(
fences
.
length 
>
 
0
)


{


// Obtener el nombre de la geocerca del Campo Personalizado


var
 pipeName 
=
 session
.
user
.
getCustomFieldValue
(
'Fence'
);


if
(
pipeName 
!=
 
null
)


{


// Verificar si la geocerca nombrada está en la posición actual.


for
(
var
 iIndex 
=
 
0
;
 iIndex 
<
 fences
.
length
;
 iIndex
++)


{


if
(
fences
[
iIndex
].
name 
==
 pipeName
)


{

		isInside 
=
 
true
;


// Usar [PipeName] como variable en Notificadores

		context
.
setVariable
(
'PipeName'
,
 pipeName
);


break
;


}


}


}

}


// Devuelve verdadero si está dentro de la geocerca nombrada.


return
 isInside
;

Notificadores

Utilice la función context.setVariable() para crear variables que pueda usar en los Notificadores. Por ejemplo, cree un Argumento de Reporte si desea crear una columna en el reporte EV1000. O cree un notificador de Argumento si desea crear en la columna en la ventana de Evento en el Espacio de trabajo.

mceclip0.png

En el ejemplo anterior, la geocerca nombrada estará en la variable [PipeName]. 

Resultado: 

Screenshot 2024-09-18 at 11.25.53.png