Promotic

GetStateCount - metoda obiektu PmaAlarmGroup

Opis:
Zwraca ilość alarmów, które odpowiadają określonemu tekstu filtra.
Składnia:
Long GetStateCount(String sFilter)
Parametry:
sFilter(String) Tekst filtra określający, które alarmy mają być zawarte w określonym wyniku.
Różne pola filtra mogą być użyte także równocześnie, w takim przypadku alarm musi odpowiadać wszystkim (np. "desc:FIQ100;priority.ge:5;").
Tekst filtra xx nie może być pusty łańcuch (np. nie można ustawić "desc:;").
Dane są tutaj w formacie KeyVal, na przykład "state:3;desc:Test2;records:50;".
 
Istnieją następujące rodzajy tekstów filtrowania ("field" przedstawia niektórą kolumnę alarmów):
"field:xx;" oznacza, że odpowiednie pole alarmu musi być równe wartości xx.
"field:#eq:xx;" oznacza, że odpowiednie pole alarmu musi być równe wartości xx. Jeżeli odpowiednie pole alarmu ma być równe jednemu z kilku tekstów, wtedy można wprowadzić kilka tekstów oddzielonych #or:.
"field:#begin:xx;" oznacza, że odpowiednie pole alarmu musi rozpoczynać się na tekst xx. Jeżeli odpowiednie pole alarmu ma rozpoczynać się na niektóry z kilku tekstów, wtedy można wprowadzić kilka tekstów oddzielonych #or:.
"field:#in:xx;" oznacza, że odpowiednie pole alarmu musi wewnątrz zawierać tekst xx. Jeżeli odpowiednie pole alarmu ma zawierać niektóry z kilku tekstów, wtedy można wprowadzić kilka tekstów oddzielonych #or:.
"field:#le:xx;" oznacza, że odpowiednie pole alarmu musi być mniejsze lub równe liczbie xx.
"field:#ge:xx;" oznacza, że odpowiednie pole alarmu musi być większe lub równe liczbie xx.
 
Notatka! Jeżeli pole rozpoczyna się tekstem s., wtedy chodzi o wybór ukryty końcowemu użytkownikowi w przeglądarce alarmów oraz służy do ustawienia stałego filtra skryptem niezależnie na ustawienia części filtra użytkownika. Dla jednej kolumny można zastosować oba typy pól filtra równocześnie. żeby alarm był odpowiedni, musi odpowiadać obu polom filtra. To można wykorzystać do ustawienia stałego filtra skryptem (bez możliwości ingerencji końcowym użytkownikiem) a równocześnie ustawić również stan początkowy filtra użytkownika (z możliwością ingerencji końcowym użytkownikiem). Na przykład s.source:#begin:Kociol;source:Kociol1;.
 
"state:xx;" (opcjonalne) - (tylko stany) Wyświetli alarmy, których stan (state) jest zgodny ze stanem xx. Można określić nawet kilka stanów (oddzielone przecinkiem).
Na przykład "state:3,2,1;".
"hoot:xx;" (opcjonalne) - (tylko stany) Wyświetli alarmy, na podstawie dźwięku, gdzie xx:
0 = alarmy bezdźwięczne
1 = alarmy dźwięczne
"area:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których obszar (area) spełnia daną operację #oper:xx. Część filtra bez możliwości ingerencji użytkownika końcowego w przeglądarce alarmów.
Na przykład "area:Kotlownia1;" lub "area:#eq:Kotlownia1;" lub "area:#eq:Kotlownia1#or:Kotlownia2;" lub "area:#begin:Kotlownia;".
"s.area:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których obszar (area) spełnia daną operację #oper:xx. Część filtra ukryta użytkownikowi końcowemu w przeglądarce alarmów.
Na przykład "s.area:Kotlownia1;" lub "s.area:#eq:Kotlownia1;" lub "s.area:#eq:Kotlownia1#or:Kotlownia2;" lub "s.area:#begin:Kotlownia;".
"source:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których źródło (source) spełnia daną operację #oper:xx. Część filtra bez możliwości ingerencji użytkownika końcowego w przeglądarce alarmów.
Na przykład "source:Kociol;" lub "source:#eq:Kociol;" lub "source:#eq:Kociol1#or:Kociol2;" lub "source:#begin:Kociol;".
"s.source:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których źródło (source) spełnia daną operację #oper:xx. Część filtra ukryta użytkownikowi końcowemu w przeglądarce alarmów.
Na przykład "s.source:Kociol;" lub "s.source:#eq:Kociol;" lub "s.source:#eq:Kociol1#or:Kociol2;" lub "s.source:#begin:Kociol;".
"desc:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których opis (desc) spełnia daną operację #oper:xx. Część filtra bez możliwości ingerencji użytkownika końcowego w przeglądarce alarmów.
Na przykład "desc:FIQ101;" lub "desc:#eq:FIQ101;" lub "desc:#eq:FIQ101#or:FIQ102;" lub "desc:#begin:FIQ;".
"s.desc:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których opis (desc) spełnia daną operację #oper:xx. Część filtra ukryta użytkownikowi końcowemu w przeglądarce alarmów.
Na przykład "s.desc:FIQ101;" lub "s.desc:#eq:FIQ101;" lub "s.desc:#eq:FIQ101#or:FIQ102;" lub "s.desc:#begin:FIQ;".
"comment:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których komentarz (comment) spełnia daną operację #oper:xx. Część filtra bez możliwości ingerencji użytkownika końcowego w przeglądarce alarmów.
Na przykład "comment:korekta;" lub "comment:#eq:korekta;" lub "comment:#eq:korekta#or:test;" lub "comment:#begin:korekta;".
"s.comment:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których komentarz (comment) spełnia daną operację #oper:xx. Część filtra ukryta użytkownikowi końcowemu w przeglądarce alarmów.
Na przykład "s.comment:korekta;" lub "s.comment:#eq:korekta;" lub "s.comment:#eq:korekta#or:test;" lub "s.comment:#begin:korekta;".
"s.usernote:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których notatka (usernote) spełnia daną operację #oper:xx. Część filtra ukryta użytkownikowi końcowemu w przeglądarce alarmów.
Na przykład "s.usernote:korekta;" lub "s.usernote:#eq:korekta;" lub "s.usernote:#eq:korekta#or:test;" lub "s.usernote:#begin:korekta;".
"priority:#oper:xx;" (opcjonalne) - Wyświetli alarmy, których priorytet (priority) spełnia daną operację #oper:xx. Część filtra bez możliwości ingerencji użytkownika końcowego w przeglądarce alarmów.
Na przykład "priority:5;" lub "priority:#eq:5;" lub "priority:#le:5;" lub "priority:#ge:5;".
"from:xx;" (opcjonalne) - (tylko historia) Wyświetli alarmy, których czas powstania (timeon) jest większe lub równe czasu "xx". Czas określa się w formie time(YYYY.MM.DD-hh:mm:ss.mmm), np. "from:time(2023.07.28-14:30:00.000);". Zakres czasu umożliwia ograniczyć przeszukiwaną część alarmów (alarmy poza zakres czasu nie są testowane).
"to:xx;" (opcjonalne) - (tylko historia) Wyświetli alarmy, których czas powstania (timeon) jest mniejsze lub równe czasu "xx". Czas określa się w formie time(YYYY.MM.DD-hh:mm:ss.mmm), np. "to:time(2023.07.28-15:00:00.000);".
Czas to można wprowadzić również przy pomocy słowa kluczowego now, które oznacza do aktualnego czasu (w momencie wywołania), np. to:now.
Zakres czasu umożliwia ograniczyć przeszukiwaną część alarmów (alarmy poza zakres czasu nie są testowane).
"timerange:xx;" (opcjonalne) - (tylko historia) Wyświetli alarmy, których czas powstania (timeon) znajduje się w zakresu czasu. Dla określenia przedziału czasu przy pomocy timerange, musi być określone from lub to, gdzie timerange umożliwia wyliczenie drugiej brakującej granicy zakresu czasu. Zakres czasu można więc wprowadzić przy pomocy nastąpującego: from - to, from - timerange lub to - timerange. Na przykład to:now;timerange:30m;. Zakres czasu umożliwia ograniczyć przeszukiwaną część alarmów (alarmy poza zakres czasu nie są testowane).
Zakres czasu można wprowadzić w formie liczby całkowitej następowanej znakiem jednostki czasu (bez spacji). Jednostkami czasu są: w = tydzień, d = dzień, h = godzina, m = minuta, s = sekunda. Na przykład timerange:12h; lub timerange:90m;.
Przykład1:
Stwierdzi ilość wszystkich alarmów w stanie: aktywny niepotwierdzony (czerwony).
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oAl = pMe.Pm("/Alarm");
var n = oAl.GetStateCount("state:3;");
Przykład2:
Stwierdzi ilość wszystkich alarmów w stanie: aktywny niepotwierdzony (czerwony), które mają priorytet 10.
JavaScriptVBScriptWybierz oraz skopiuj do schowka

var oAl = pMe.Pm("/Alarm");
var n = oAl.GetStateCount("TechAlarm", "state:3;priority:10;");
© MICROSYS, spol. s r.o.