This is topic Архивная таблица in forum Документирование в TRACE MODE 6 и в T-FACTORY 6 / Document generation in TRACE MODE 6 and T-FACTORY 6 at Форум TRACE MODE: техническая поддержка.
Как сделать документ, содержащий таблицу архивных данных, отражающий значение канала ТОЛЬКО в момент превышения аварийной границы?
Posted by blackman (Участник № / Member № 3155) on :
Скорее всего, надо наложить фильтр?
Posted by Aspect (Участник № / Member № 2995) on :
Обидно, что для архивной таблицы фильтр работает только для столбцов, а не для строк!
Posted by Aspect (Участник № / Member № 2995) on :
Так всё-таки, как?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
В новом релизе Вы сможете вывести в документ отчет тревог с фильтром, допустим, по имени канала и категории.
Posted by Aspect (Участник № / Member № 2995) on :
Прошу разъяснить что значит категория в данном контексте?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Категория сообщения в словаре очета тревог, например, Тревога, Ошибка или Информация
Posted by Aspect (Участник № / Member № 2995) on :
К сожалению в 6.06 возможность фильтрации по строкам архивной таблицы так и не появилась! Идея с генерацией документа, содержащий копию отчёта тревог с фильтром, выглядит не очень подходящей, т.к. архивная таблица выводится за вполне заданное время с... по.... В чём ограничение по созданию фильтра для архива, ведь для обычной таблицы фильтр сделали?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Ограничение связано с тем, что зарание не известно сколько строк будет в архивной таблице.
Posted by Aspect (Участник № / Member № 2995) on :
А можно ли как-нибудь сначала из архива сделать отчёт тревог, а потом с фильтром сгенерировать документ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
нет, этого сделать нельзя.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Можно предложить такой механизм.
Делать выборку с помощью канала CALL.ChGroupReq в аргументы. Потом с помощью программы обрабатывать эти аргументы и выводить их в качестве обычной таблицы в документ.
Posted by Aspect (Участник № / Member № 2995) on :
Привильно ли я понимаю, что необходима привязка к @Data_from_Siad? Как в дальнейшем обрабатывать аргументы в программе? Заранее неизвестно какое количество данных в архиве, соответственно неизвестно количество строк. В этом случае из программы возможно создание строк документа?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Да, необходима привязка к @Data_from_Siad. В Программе сравниваете больше они граничного значения или нет. Пустые строки в обычной таблице можно скрывать.
Posted by Aspect (Участник № / Member № 2995) on :
Почему бы Вам не сделать так, чтобы вставляемую в документ архивную таблицу можно было бы настроить на отображение всех данных из архива по необходимым каналам, т.е. без задаваемого шага, а тупо "выбрать всё, что есть". В моём случае можно было бы решить проблему созданием доп. архивируемого канала, который менял бы значения только в момент превышения контрольной границы. Далее при использовании архивной таблицы, я бы получил необходимый результат, но за счёт того, что шаг нельзя отменить(!?) я получаю одно и тоже значение за разное время. Как будто эта запись присутствует в архиве ещё раз, хотя её нет. А как скрывать пустые строки в обычно таблице? Возможно ли изменить заданный максимум количества строк обычно таблицы? Сейчас этот максимум составляет 100.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
1. Такое пожелание уже передавалось программистам, но пока не реалтзовано.
2. Вы же из программы будете знать сколько строк у Вас задействовано, остальные скроете. Не очень красивое решение, но выход из ситуации.
3. Например, путем вставки таблицы в таблицу. Просмотр более, чем 100 строк одновременно в любом случае невозможен, поэтому можно даже разбивать на несколько таблиц.
Posted by Aspect (Участник № / Member № 2995) on :
К аргументам ChGroupReq привязаны каналы того же типа для передачи в них значений выборки. Например получу я связанные ChGroupReq c 16000 аргументами. Предположим, что я уже получил необходимые данные, т.е. нет необходимости сравнивать с контрольным значением. Как дальше я должен поступить в программе, чтобы их передать в документ?
P.S. При вставке в документ отчёта тревог в 6.06 возможна фильтрация по времени?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
16000 аргументов выводить в документ не целесообразно. Дальнейший анализ такого документа практически невозможен.
Фильтрация по времени в OT на данный момент не работает.
И все таки какая реальная задача стоит перед Вами?
Posted by Aspect (Участник № / Member № 2995) on :
Отобразить в документе данные по тревогам за определённый диапазон времени, задаваемый пользователем. Тревога - превышение контролируемой границы канала1. Существует также другой канал (канал2), содержищий значения Канала1 только в момент превышения (создана программа). Оба канала архивируются. В случае использования архивной таблицы по каналу1 получается состояние Канала1 с некоторым шагом (что лишнее для пользователя). В случае использования архивной таблицы по каналу2 - имею наборы одинаковых значений. (шаг меньше, чем частота появления тревоги). Заранее частота появления тревоги, естественно, не известна.
Posted by Aspect (Участник № / Member № 2995) on :
А ещё бы лучше чтобы получилась следующая таблица: Дата_время_превышения | Имя_канала | Значение_канала_в_момент_превышения | Длительность_превышения | Сумма_значений_канала_за_время_превышения |
Posted by Beso (Участник № / Member № 1774) on :
Добрый день Тех. Поддержка. А можно ли посмотреть пример использования связки ChGroupReq - @Data_from_SIAD. С программой еще лучше . Просто задача стоит примерно такая же, а разобратся не получается пока
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Отправлено.
Posted by Алекс К (Участник № / Member № 1337) on :
Тоже хотелось бы взглянуть.
Posted by AdAstra Technical Support (Участник № / Member № 4) on :