Descrição:
É possível implementar um filtro customizado no objeto E3Alarm?
Solução:
O E3Alarm possui uma propriedade chamada CustomFilter, responsável por informar um filtro customizado para os alarmes, em forma de expressão. A expressão pode receber uma ou mais condições lógicas, ou seja, é possível montar quaisquer condições entre os campos de alarmes nativos disponíveis, além dos campos de usuários. A propriedade CustomFilter é bastante flexível, e por isso abrange uma vasta gama de possibilidades na implementação de filtros dos alarmes na aplicação. Para popular esta propriedade, há duas possibilidades:
1. Inserir a expressão diretamente na lista de propriedades.
Clique sobre o campo referente ao valor da propriedade e escreva a expressão desejada. Por exemplo: Filtrar o campo SubConditionName de um alarme, de modo que só os alarmes gerados pela subcondição “LOLO” sejam mostrados no E3Alarm.
2. Via scripts.
A propriedade CustomFilter também pode receber valor via a execução de um script.
Exemplo 1: Inserção direta da expressão com apenas uma condição.
Sub CommandButton1_Click() Screen.Item("E3Alarm1").CustomFilter = "Source = "&chr(34) &"SubCentral*"&chr(34) End Sub
Exemplo 2: Script com duas condições que utiliza os campos de usuários do servidor de alarmes. Nome dos campos de usuários criados: Note, Regional e BaseVoltage.
Sub CommandButton1_Click() Screen.Item("E3Alarm1").CustomFilter = "Note = RegionalSul AND BaseVoltage < 35" End Sub
Exemplo 3: Script que realiza um filtro no campo Message, verificando a existência de uma determinada string.
Sub CommandButton1_Click()
Screen.Item("E3Alarm1").CustomFilter = "InStr(Message, " & Chr(34) & "manutenção" & Chr(34) & ")" & "> 0"
End Sub
NOTA: Confira se o campo utilizado na expressão está sendo monitorado pelo servidor de alarme, e também se está adicionado como coluna no E3Alarms. Altere o valor da propriedade SimpleAreaFilter para False caso a expressão criada contenha caracteres coringa e/ou múltiplos filtros de área (ver artigo KB-25363: Filtro de alarmes por múltiplas áreas.). A tabela completa dos campos que podem ser utilizados como filtro está na descrição da propriedade no AppBrowser ou no Manual de Referências de Scripts.