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
4. Edita tu activo de prueba y establece el campo personalizado "Fence" a "Pipeline33"'
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.
En el ejemplo anterior, la geocerca nombrada estará en la variable [PipeName].