Перейти в хранилище документации
Обратиться в техническую поддержку
Метод NotifyEventStr используется для генерации системных событий. При этом генерируемое событие рассылается по всем ядрам системы, соединенным с локальным ядром. В методе NotifyEventStr событие задается группой аргументов типа String.
Синтаксис обращения к методу:
function NotifyEventStr(objtype : String, id : String, event : String, param<value> [, param<value>] : String )
Аргументы метода:
Синтаксис задания значения одному параметру соответствует строке:
"param<value>", где
param – название параметра;
value – значение параметра.
Синтаксис задания значения нескольким параметрам соответствует строке:
"param1<value1>,param2<value2>…".
Список оформляется через запятую без пробелов. В том случае, если ни один параметр задавать не требуется, при обращении необходимо указать пустую строку, например:
DoReactStr("CAM","1","MD_START","");
Допустимые значения аргумента param: тип String, диапазон ограничен допустимыми для заданного события параметрами. Допустимые значения аргумента value: тип String, диапазон зависит от устанавливаемого параметра.
Примечание
В программном комплексе Интеллект выделяют два типа системных сообщений: события и реакции. События, как правило, несут только информационную нагрузку и используются для рассылки оповещений по всем ядрам программного комплекса Интеллект, соединенным между собой при конфигурировании архитектуры. В свою очередь, под реакциями понимаются команды, отправляемые конкретным системным объектам. Реакции передаются непосредственно тем ядрам, на которых зарегистрирован требуемый объект, а не всей системе. Для генерации реакций используются методы DoReactStr и DoReact. Для генерации событий – NotifyEventStr и NotifyEvent.
Пример. При регистрации тревоги по камере отправлять в систему событие «тревожное блокирование» для соответствующего камере раздела. Если идентификационный номер тревожной камеры лежит в диапазоне от 1 до 4 – для раздела №1, если от 5 до 10 – для раздела №2.
if (Event.SourceType == "CAM" && Event.Action == "MD_START") { var regionid; if (Event.SourceId <=4) { regionid = "1"; } if ((Event.SourceId > 4) && (Event.SourceId <= 10)) { regionid = "2"; } NotifyEventStr("REGION", regionid, "PANIC_LOCK", ""); }