Den
Forum Member / Участник форума
Участник № / Member № 75
отправлено / posted
А что, функция EVENTS возвращает только количество записей в отчете тревог, а не сами записи? Так хотелось под таблицей с параметрами аппарата вставить аварии за смену.
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
отправлено / posted
Функция EVENTS - возвращает не количество записей, а массив событий из ОТ. Размер этого массива можно узнать как SIZE(EVENTS(..)). Для того, чтобы "вытащить" из сообщения необходимые параметры Вам нужно использовать соответствующие функции языка Техно_Лист. Например:
code:
var AlarmsList; var AlarmsSize; var i;
AlarmsList=EVENTS("NODE1"); // Взятие массива сообщений из ОТ AlarmsSize=SIZE(AlarmsList); // Количество сообщений в массиве for i=0 to AlarmsSize do AlarmsList[i]; // Вернуть текстовое значение сообщения под номером i
for i=0 to AlarmsSize do TIME( AlarmsList[i]); // Вернуть время сообщения под номером i
И так далее... Если Вы будете выводить эти параметры в таблице, то вместо цикла for и индекса i можно использовать ROW() или COL() - текущие индексы повторения элемента. А количество строк или столбцов задавать как AlarmsList.
Сообщения / Posts 17322 | Из / From: Россия
| IP / IP: IP адрес / IP address |
Den
Forum Member / Участник форума
Участник № / Member № 75
отправлено / posted
Следующий кусок кода на выходе выдает следующее: 07.02.2003 11:16:38 #INDEX# Меняю части местами - получаю: №1-Компрессор включен #INDEX#. При попытке вставить в таблицу-#INDEX# в каждой строке.При пробной генерации в редакторе шаблонов все нормально, косяки начинаются при запуске через сервер документирования.Отчет тревог-тестовый все записи посчитаны-проверены.Данная запись единственная.Замучился совсем-помогите, чем можете. ------------------code----------------- для первого тега SPAN: { var AlarmsList; AlarmsList=EVENTS("NODE1", EFILTER(-1, -1, -1, -1,"","","№1*")); TIMESTR( "%c",TIME(AlarmsList[0])); для второго тега SPAN: { var AlarmsList; AlarmsList=EVENTS("NODE1", EFILTER(-1, -1, -1, -1,"","","№1*")); AlarmsList[0];
Сообщения / Posts 51 | Из / From: Россия
| IP / IP: IP адрес / IP address |
ATMosphere
Forum Member / Участник форума
Участник № / Member № 115
отправлено / posted
Добрый день!
Сообщение #INDEX# указывает на то, что Вы вышли за пределы массива. Дело в том, что из отчета тревог забрать все сообщения функцией EVENT получается только один раз. Поэтому рещение следущее: Создаете функцию пользователя Alarms: EVENTS("NODE1", EFILTER(-1, -1, -1, -1,"","","№1*")); // Взятие массива сообщений из ОТ А далее действуете так: для первого тега SPAN: { var AlarmsList; AlarmsList=@Alarms; TIMESTR( "%c",TIME(AlarmsList[0])); для второго тега SPAN: { var AlarmsList; AlarmsList=@Alarms; AlarmsList[0];