Estoy teniendo problemas en distintas plataformas al usar Arcade para clasificar mis entidades de válvulas en diferentes categorías. El siguiente script funciona perfectamente en ArcPro (31.536.000.000 es aproximadamente la cantidad de milisegundos que hay en un año, y el código cambia correctamente los colores de las válvulas cuyo mantenimiento lleva más de un año, en unos minutos):

Ese código da el siguiente resultado en ArcPro (la válvula rota solo sirve para mostrar que funciona en Pro; la simbología de válvulas rotas y perdidas también funciona en AGOL, pero los datos no se han actualizado para reflejar el cambio en Pro):

Este es el resultado en una aplicación web de AGOL; parece que el código solo clasifica el tiempo transcurrido según la fecha actual, pero no los valores <null>. De nuevo, también funciona con las válvulas rotas o perdidas. Sin embargo, toda la simbología aparece en la leyenda.
He probado el código con Collector y Explorer en plataformas móviles iPad y Android, pero no obtengo nada más que el símbolo del valor predeterminado. Sin embargo, la aplicación web muestra la misma simbología en una plataforma móvil que en un PC, aunque no recopilo puntos desde nuestra aplicación web. Usamos un GPS Arrow conectado a un iPad como plataforma de recopilación, y no tiene sentido cambiar de aplicación para actualizar.
En Android se muestra la simbología predeterminada, aunque las distintas categorías siguen apareciendo en la leyenda:


Agradezco cualquier recomendación o ayuda. He pegado el código al final para que sea fácil modificarlo. Apenas estoy empezando a programar y todavía no tengo los conocimientos necesarios para crear una aplicación más avanzada que permita recopilar datos y que podamos descargar. Gracias de antemano; espero que esto les sirva a quienes busquen una solución similar para encontrar un método basado en periodos más largos para el mantenimiento anual.
Arcade de Collector expresión de Arcade simbología de Arcade expresiones de atributos de Arcade #arcade arcpro #AGOL mucho tiempo #time #year #annual #annualmaintenance
// establecer primero los parámetros para buscar válvulas rotas o perdidas.
var class
If ($feature.BROKEN == "YES") {
class = "Rota";
} else if ($feature.FOUND == "LOST") {
class = "Perdida";
} else {
// esta clasificación define distintas categorías según el tiempo transcurrido desde el mantenimiento. La simbología se puede ajustar con los métodos habituales
var startDate = Date($feature.DATE_OPERATION_CURRENT);
var endDate = Date(Today ());
var change = DateDiff(endDate, startDate, 'value');
var result = When (change > 31536000000, "Vencida", change <= 31536000000, "Al día", "Datos desactualizados")
return result
}
return class
//Me doy cuenta de que probablemente podría reemplazar "var result" por "class"