Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetStateCount - metoda objektu PmAlarmEvent

Popis:
Získání počtu alarmů, které vyhovují zadanému filtračnímu textu.
Syntaxe:
GetStateCount(sFilter As String) As Long
Volání:
n = oAlEv.GetStateCount(sFilter)
Parametry:
sFilter(String) Filtrační text určující, které alarmy/eventy se mají zahrnovat do požadovaného výsledku.

Různá filtrační pole mohou být použita i zároveň, alarm/event potom musí vyhovavat všem (např. "desc:FIQ100;priority.ge:5;").

Filtrační text xx nesmí být prázdný (např. nelze zadat "desc:;").

Údaje s přiřazenou hodnotou jsou zde odděleny středníkem, například "state:3;desc:Test2;records:50;".
 

Existují následující druhy filtračních textů ("field" představuje některý sloupec alarmů):

"field:xx;" znamená, že příslušné pole alarmu se musí rovnat hodnotě xx.
"field:#eq:xx;" znamená, že příslušné pole alarmu se musí rovnat hodnotě xx. Pokud se má příslušné pole alarmu rovnat jednomu z několika textů, lze uvést více textů oddělených #or: (operátor NEBO).
"field:#begin:xx;" znamená, že příslušné pole alarmu musí začínat textem xx. Pokud má příslušné pole alarmu začínat na některý z několika textů, lze uvést více textů oddělených #or: (operátor NEBO).
"field:#in:xx;" znamená, že příslušné pole alarmu musí uvnitř obsahovat text xx. Pokud má příslušné pole alarmu obsahovat některý z několika textů, lze uvést více textů oddělených #or: (operátor NEBO).
"field:#le:xx;" znamená, že příslušné pole alarmu musí být menší nebo rovno číslu xx.
"field:#ge:xx;" znamená, že příslušné pole alarmu musí být větší nebo rovno číslu xx.
 
Poznámka! Pokud pole začíná textem s., potom se jedná o volbu skrytou koncovému uživateli v prohlížečce alarmů/eventů a slouží k nastavení pevné filtrace skriptem bez ohledu na nastavení uživatelské části filtru. Pro stejný sloupec mohou být současně použité oba typy filtračních polí současně. Aby alarm/event vyhověl, musí vyhovět oběma filtračním polím. Toho lze s výhodou využít k nastavení pevné filtrace skriptem (neovlivnitelné koncovým uživatelem) a současně nastavit i počáteční stav uživatelské filtrace (měnitelnou koncovým uživatelem). Například s.source:#begin:Kotel;source:Kotel1;.
 
"state:xx;" (nepovinné) - Zobrazovat alarmy, jejichž stav (state) se shoduje se stavem xx. Lze uvést i několik stavů oddělených čárkou. Například "state:3,2,1;".
"hoot:xx;" (nepovinné) - Zobrazovat alarmy, podle houkání, kde xx:
0 = nehoukající alarmy
1 = houkající alarmy
"area:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž oblast (area) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "area:Kotelna1;" nebo "area:#eq:Kotelna1;" nebo "area:#eq:Kotelna1#or:Kotelna2;" nebo "area:#begin:Kotelna;".
"s.area:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž oblast (area) splňuje danou operaci #oper:xx. Část filtru skrytá koncovému uživateli v prohlížečce alarmů/eventů. Například "s.area:Kotelna1;" nebo "s.area:#eq:Kotelna1;" nebo "s.area:#eq:Kotelna1#or:Kotelna2;" nebo "s.area:#begin:Kotelna;".
"source:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž zdroj (source) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "source:Kotel;" nebo "source:#eq:Kotel;" nebo "source:#eq:Kotel1#or:Kotel2;" nebo "source:#begin:Kotel;".
"s.source:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž zdroj (source) splňuje danou operaci #oper:xx. Část filtru skrytá koncovému uživateli v prohlížečce alarmů/eventů. Například "s.source:Kotel;" nebo "s.source:#eq:Kotel;" nebo "s.source:#eq:Kotel1#or:Kotel2;" nebo "s.source:#begin:Kotel;".
"desc:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž popis (desc) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "desc:FIQ101;" nebo "desc:#eq:FIQ101;" nebo "desc:#eq:FIQ101#or:FIQ102;" nebo "desc:#begin:FIQ;".
"s.desc:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž popis (desc) splňuje danou operaci #oper:xx. Část filtru skrytá koncovému uživateli v prohlížečce alarmů/eventů. Například "s.desc:FIQ101;" nebo "s.desc:#eq:FIQ101;" nebo "s.desc:#eq:FIQ101#or:FIQ102;" nebo "s.desc:#begin:FIQ;".
"comment:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž komentář (comment) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "comment:oprava;" nebo "comment:#eq:oprava;" nebo "comment:#eq:oprava#or:test;" nebo "comment:#begin:oprava;".
"s.comment:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž komentář (comment) splňuje danou operaci #oper:xx. Část filtru skrytá koncovému uživateli v prohlížečce alarmů/eventů. Například "s.comment:oprava;" nebo "s.comment:#eq:oprava;" nebo "s.comment:#eq:oprava#or:test;" nebo "s.comment:#begin:oprava;".
"priority:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž priorita (priority) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v prohlížečce alarmů/eventů. Například "priority:5;" nebo "priority:#eq:5;" nebo "priority:#le:5;" nebo "priority:#ge:5;".
"from:xx;" (nepovinné) - Zobrazovat alarmy, jejichž čas vzniku (timeon) je větší nebo rovno času "xx". Čas se zadává tvaru time(YYYY.MM.DD-hh:mm:ss.mmm), např. from:time(2016.07.28-14:30:00.000); Časový interval umožňuje omezit prohledávanou část alarmů (alarmy mimo časový interval se netestují).
"to:xx;" (nepovinné) - Zobrazovat alarmy, jejichž čas vzniku (timeon) je menší nebo rovno času "xx". Čas se zadává tvaru time(YYYY.MM.DD-hh:mm:ss.mmm), např. to:time(2016.07.28-15:00:00.000);. Čas to lze zadat i klíčovým slovem now, které znamená do aktualního času (v okamžiku volání), např. to:now. Časový interval umožňuje omezit prohledávanou část alarmů (alarmy mimo časový interval se netestují).
"timerange:xx;" (nepovinné) - Zobrazovat alarmy, jejichž čas vzniku (timeon) leží v zadaném časovém intervalu. Pro určení časového intervalu pomocí timerange, musí být zadané buď from nebo to, kde timerange umožňuje dopočítat druhou chybějící časovou mez časového intervalu. Časový interval lze tedy zadat pomocí následujících dvojic: from - to, from - timerange nebo to - timerange. Například to:now;timerange:30m;. Časový interval umožňuje omezit prohledávanou část alarmů (alarmy mimo časový interval se netestují).

Časový rozsah se zadáva ve tvaru celého čísla následovaného znakem časové jednotky (bez mezery). Časové jednotky jsou: w = týden, d = den, h = hodina, m = minuta, s = sekunda. Například timerange:12h; nebo timerange:90m;.

Poznámka:
Pro eventy nemá smysl (pouze pro alarmy).
Příklad1:
Zjištění počtu všech alarmů ve stavu: aktivní nekvitovaný (červený).
n = oAlEv.GetStateCount("state:3;")
Příklad2:
Zjištění počtu všech alarmů ve stavu aktivní nekvitovaný (červený), které mají prioritu 10.
n = oAlEv.GetStateCount("TechAlarm", "state:3;priority:10;")
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice