Системное событие

> [HTML Version](system-event.html)

_(./images/sc_event_types_21.png)_

**Описание**

Создать скрипт с типом "Системное событие" можно [через редактор скриптов](via-script-editor.md). Скрипт вызывается каждый раз, когда возникает событие связанное с работой сервера Simple-Scada. Имеет параметр SystemEventData со следующими свойствами:

````
property Level: TM\_SystemEventLevel;

````
Уровень события. Допустимые значения:

| **Значение** | **Описание** |
|------|------|
| selGood | Событие успешного выполнения какой-либо задачи |
| selInfo | Обычное событие с информацией о чем-либо |
| selWarning | Событие с предупреждением о чем-либо |
| selError | Событие, сообщающее о какой-либо проблеме |




````
property Code: TM\_SystemEventCode;

````
Код события. Допустимые значения:

| **Значение** | **Описание** |
|------|------|
| secDBInsertQueueWarning | Очередь запросов на добавление данных в БД заполнена на 70%. Сюда входят запросы на вставку и обновление (INSERT / UPDATE) трендов и сообщений, вызванные системой архивации Simple-Scada. Пользовательские SQL-запросы вызванные через RunSQL не учитываются в этой очереди. |
| secDBInsertQueueIsFull | Очередь запросов на добавление данных в БД переполнена. Сюда входят запросы на вставку и обновление (INSERT / UPDATE) трендов и сообщений, вызванные системой архивации Simple-Scada. Пользовательские SQL-запросы вызванные через RunSQL не учитываются в этой очереди. |
| secDBReadQueueIsFull | Очередь запросов на чтение данных из БД переполнена. Сюда входят запросы на чтение трендов и сообщений, чтение для архивных процедур и запросы на чтение от системы отчетов. Пользовательские SQL-запросы вызванные через RunSQL не учитываются в этой очереди. |
| secDBUserSQLQueueIsFull | Очередь пользовательских SQL-запросов (выполненных через [RunSQL](workbd.md)) переполнена. |
| secDBСonnected | База данных подключена. |
| secDBDisconnected | База данных отключена. |
| secDBConnectionLost | Соединение с базой данных потеряно. |
| secTelegramSendError | Возникла ошибка при отправке сообщения в Telegram. |
| secMaxSendError | Возникла ошибка при отправке сообщения в Max |




````
property Description: string;

````
Краткое описание события.

**Пример скрипта**

````
begin  
  // если уровень события selError, то выдаем новое сообщение  
  // с описанием события  
  if SystemEventData.Level = selError then  
    AddMessage(Now, mkAlarm, SystemEventData.Description, TRUE, FALSE);  
end.

````
