Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Askar от 11 Мая 2018, 16:10:13

Название: Очистка списка сообщенний
Отправлено: Askar от 11 Мая 2018, 16:10:13
Здравствуйте, интересует возможность очистки добавленных сообщений через AddMessage() в список сообщений. Есть какая-нибудь команда? Или процедура?
Возникла потому что проблема того, что все сообщения сохраняются с прошлых запусков проекта, а нужно чтобы при каждом запуске список чистился. Спасибо.
Название: Re: Очистка списка сообщенний
Отправлено: Simple_Scada от 12 Мая 2018, 10:58:54
Здравствуйте!

Сообщения архивируются в БД в таблицу `messages_data`. Если требуется очищать все сообщения при запуске проекта, то это можно сделать создав скрипт с типом события (https://simple-scada.com/help/script/event-types.html) "Полностью запущен" и написав такой код:
Код: (delphi)
begin
  RunSQL('TRUNCATE TABLE `messages_data`',nil,0); // очистить таблицу сообщений
end.

Скрипт будет выполняться при запуске проекта и будут удаляться все сообщения: те которые добавлялись через скрипты (AddMessage), и те которые были созданы в редакторе (https://simple-scada.com/help/manual/edit-message.html).
Название: Re: Очистка списка сообщенний
Отправлено: Askar от 12 Мая 2018, 17:00:26
Спасибо, а почему в руководстве это не описано? Очищать список сообщений полезная вещь ...
Название: Re: Очистка списка сообщенний
Отправлено: Simple-Scada от 12 Мая 2018, 17:08:02
Это обычная работа с базой данных. Если бы мы описали все возможные варианты SQL-запросов, то у нас получилось бы руководство по MySQL. При помощи процедуры RunSQL Вы можете выполнить любые произвольные операции используя язык запросов. Процедура RunSQL подробно описана в руководстве (https://simple-scada.com/help/script/workbd.html).

Обычно специально очищать список не требуется, т.к. сообщения для того и архивируются, чтобы в любое время можно было узнать какие события происходили в системе. Чаще пользователи просто ограничивают срок хранения сообщений через меню "Проект - Настройки - Сообщения - Ограничение архива сообщений", тогда скада автоматически удаляет сообщения старше определенного срока.