Os eventos que ocorrem no servidor (alarmes, variação de tags, históricos, etc.) não podem chamar comandos relacionados ao Viewer diretamente. Para isto, é preciso criar um evento no objeto Viewer que ocorra somente na condição desejada.
Por exemplo: sempre que ocorre uma variação no número de alarmes, a tela de alarmes é aberta. Caso haja três usuários conectados à aplicação, em qual dos Viewers deve ser aberta a tela Alarmes? Em todos? Somente em um? Como isto é decidido?
Neste caso, o primeiro passo é criar um evento no objeto Viewer que dispare sempre que um alarme ocorrer. Para isto, siga estes procedimentos:
- Acesse os scripts do objeto Viewer.
- Crie um novo evento do usuário.
- No campo Propriedade ou expressão, selecione a propriedade ActiveAlarms do servidor de alarmes.
- Marque a opção Sempre que a propriedade alterar o seu valor.
O próximo passo é configurar uma tela que será aberta quando este evento for disparado:
- No evento criado, insira um pick Abrir Tela.
- Configure o nome da tela a ser aberta, bem como suas demais configurações.
DICA: Sempre que desejar abrir uma tela pop-up, digite o nome de um quadro inexistente na aplicação no campo No Quadro do pick Abrir Tela. Esse quadro será criado temporariamente, e terá um comportamento de pop-up.
Exercícios
- Crie uma lógica na aplicação que chame a tela de alarmes sempre que um novo alarme entrar em atividade.
- Crie uma lógica na aplicação que abra uma caixa de mensagem sempre que o valor de uma variável for alterado.