En esta nota técnica, echaremos un vistazo a uno de los scripts de la plantilla que puede utilizar para acelerar el proceso de filtrado y visualización de los nodos señalizados.
El script número 10 en la lista de plantillas buscará a través de todos los nodos en el modelo, y luego asignará un atributo de nodo, llamado GKNode::hasControlInfo, como verdadero o falso (o crea ese atributo de nodo si no existe).
Cuando ejecute el Script 10, se llamará a la función principal y se abrirá un diálogo con las siguientes opciones:
- Todos los planes de control
- Un plan de control
- Todos los planes de control en un plan maestro de control
Si elige la opción “Un plan de control”, deberá indicar el número de identificación del plan de control; si elige la opción “Todos los planes de control en un plan de control maestro”, deberá indicar el número de identificación del plan de control maestro.
La función getCreateNodeAttribute() comprueba si el atributo GKNode::hasControlInfo existe. si no, lo creará. El tipo de valores que acepta este atributo será booleano (verdadero o falso). El nombre externo será Has Control Info?
La función isNodeInCP( cp, node ) sólo determina si un nodo concreto tiene información para un plan de control concreto; devuelve 0, es decir, falso o No, si no hay información; y 1, es decir, verdadero o Sí, si hay información. La función getControlJunction() devolverá 0 cuando el nodo aparezca en el plan de control como Unspecified (es decir, sin información).
Al buscar todos los planes de control, se ejecutará la función startCalculation(columna). Itera todos los nodos y, para cada nodo, itera todos los planes de control. Los nodos son todos objetos de tipo GKNode y los planes de control son todos objetos de tipo CKControlPlan, así que encuéntrelos con la función getCatalog().getObjectsByType(enterType).
Al buscar un plan de control concreto, la función startCalculationCP(columna, cp) iterará todos los nodos de este plan de control concreto.
Cuando se busca un plan de control maestro concreto, la función startCalculationMCP(columna, mcp) itera todos los nodos y todos los planes de control dentro de ese plan de control maestro, sea cual sea el horario o la zona.
Una vez que el script ha terminado, puede visualizar los nodos sin información, creando un modo de vista: