Como usar scripts-modelo para visualizar rapidamente nós semaforizados
Janeiro de 2020 — Por Margarida Delgado
Nesta nota técnica, veremos um dos scripts disponíveis no template que pode acelerar o processo de filtrar e visualizar nós semaforizados.
O Script 10 da lista de templates percorre todos os nós do modelo e atribui a cada nó um atributo chamado GKNode::hasControlInfo, com valor verdadeiro ou falso. Se esse atributo ainda não existir, o script o cria automaticamente.
Ao executar o Script 10, a função principal é chamada e um diálogo se abre com as seguintes opções:
- All Control Plans
- One Control Plan
- All Control Plans in a Master Control Plan

Se você escolher One Control Plan, deverá informar o número de ID do plano de controle. Se escolher All Control Plans in a Master Control Plan, deverá informar o número de ID do plano mestre de controle.
A função getCreateNodeAttribute() verifica se o atributo GKNode::hasControlInfo já existe. Caso não exista, ela o cria. O tipo de valor aceito por esse atributo é booleano — true ou false. O nome externo será Has Control Info?.

A função isNodeInCP(cp, node) determina se um nó específico possui informação em um determinado plano de controle. Ela retorna 0, ou seja, false/No, quando não há informação; e 1, ou seja, true/Yes, quando há informação. A função getControlJunction() retorna 0 quando o nó aparece no plano de controle como Unspecified, isto é, sem informação.

Quando a busca considera todos os planos de controle, a função startCalculation(column) é executada. Ela percorre todos os nós e, para cada nó, percorre todos os planos de controle. Os nós são objetos do tipo GKNode e os planos de controle são objetos do tipo CKControlPlan; por isso, eles são localizados com a função getCatalog().getObjectsByType(enterType).
Quando a busca considera um plano de controle específico, a função startCalculationCP(column, cp) percorre todos os nós daquele plano de controle.
Quando a busca considera um plano mestre de controle específico, a função startCalculationMCP(column, mcp) percorre todos os nós e todos os planos de controle dentro daquele plano mestre, independentemente da programação horária ou da zona.
Depois que o script termina, você pode visualizar os nós sem informação criando um modo de visualização:


