Promotic
WikipediaLinkedInYoutubeTwitterFacebook

GetStateCount - metoda objektu PmAlarmEvent

Popis:
Vrací počet 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ý řetězec (např. nelze zadat "desc:;").

Údaje jsou zde ve formátu KeyVal, 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 příslušné pole alarmu se má rovnat jednomu z několika textů, pak lze uvést více textů oddělených #or:.
"field:#begin:xx;" znamená, že příslušné pole alarmu musí začínat textem xx. Pokud příslušné pole alarmu má začínat na některý z několika textů, pak lze uvést více textů oddělených #or:.
"field:#in:xx;" znamená, že příslušné pole alarmu musí uvnitř obsahovat text xx. Pokud příslušné pole alarmu má obsahovat některý z několika textů, pak lze uvést více textů oddělených #or:.
"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., pak se jedná o volbu skrytou koncovému uživateli v alarm/event prohlížeči a slouží k nastavení pevné filtrace skriptem bez ohledu na nastavení uživatelské části filtru. Pro stejný sloupec lze použít 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 = alarmy nehoukající
1 = alarmy houkající
"area:#oper:xx;" (nepovinné) - Zobrazovat alarmy, jejichž oblast (area) splňuje danou operaci #oper:xx. Část filtru měnitelná koncovým uživatelem v alarm/event prohlížeči. 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 alarm/event prohlížeči. 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 alarm/event prohlížeči. 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 alarm/event prohlížeči. 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 alarm/event prohlížeči. 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 alarm/event prohlížeči. 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 alarm/event prohlížeči. 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 alarm/event prohlížeči. 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 alarm/event prohlížeči. 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(2017.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(2017.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 jako celé číslo následované 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:
Zjistí počet všech alarmů ve stavu: aktivní nekvitovaný (červený).
VBScriptVyber a zkopíruj do schránky

n = oAlEv.GetStateCount("state:3;")
Příklad2:
Zjistí počet všech alarmů ve stavu: aktivní nekvitovaný (červený), které mají prioritu 10.
VBScriptVyber a zkopíruj do schránky

n = oAlEv.GetStateCount("TechAlarm", "state:3;priority:10;")
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice