Simple-Scada forum

Simple-Scada 2 => Ваши вопросы => Тема начата: Виктория от 19 Сентября 2018, 05:51:30

Название: БД и Отчеты
Отправлено: Виктория от 19 Сентября 2018, 05:51:30
Здравствуйте.
При формировании отчета я использую тренды, и значение отображаю из БД(при помощи функции select).
По оси x я отображаю Timestamp, по оси y - Value. 
Но не все данные пишутся в БД.
К примеру, я в режиме работы скада, я меняю значение переменных, но не все они записываются в БД, и соответственно не отображаются на графиках, только после перезапуска проекта данные могут отбразиться.
Архивацию переменных ставила разную (по времени, по изменению, комбинированная), не изменяет сути дела.
В настройках тоже все посмотрела.
В чем может быть проблема?
Прилагаю скрины.
Название: Re: БД и Отчеты
Отправлено: Simple-Scada от 19 Сентября 2018, 11:13:27
Здравствуйте.

Все верно, для улучшения производительности при работе с БД, сервер скады сначала получает значения в свой буфер и по возможности оптимизирует их, затем они отправляются в БД. Поэтому пользовательским SQL-запросом из БД не удастся получить последние архивные данные и для вывода трендов в отчет нужно использовать отдельный источник данных с типом "Периодический", как описано в этой статье (https://simple-scada.com/help/report/rep-trends.html). Источники данных с типом "Периодический" и "По-изменению" учитывают расположение данных и при необходимости берут данные не только из БД, но и из буфера сервера.
Название: Re: БД и Отчеты
Отправлено: Виктория от 03 Октября 2018, 11:00:28
Здравствуйте.
Подскажите, как можно исключить в отчетах график по условию. В определенных случаях он должен отображаться при формировании, а в другом случае- должен быть скрыт.
Я пробовала весить условия на график  и выключать компонент, но работает это у меня не правильно.
Подскажите каким способом это можно сделать=)
И еще мб есть возможность такая: если график не отображается, то пустоту не оставлять на листе, а сдвигать вверх, то. что находится ниже.
Название: Re: БД и Отчеты
Отправлено: levchenkoa от 03 Октября 2018, 16:26:42
Сделать два различных отчета, а логику обработки условий переместить на уровень скады. В зависимости от условий формировать один отчет или другой.
Название: Re: БД и Отчеты
Отправлено: Simple-Scada от 03 Октября 2018, 17:52:22
Здравствуйте.

Цитировать
Я пробовала весить условия на график  и выключать компонент, но работает это у меня не правильно.
Так и нужно делать, но график должен быть помещён в бэнд и условие выключения компонента нужно ставить на сам бэнд, а не на график. Тогда и пустот на странице не будет. Но у Вас обязательно должен быть правильно сформированный шаблон отчета, т.е. такой шаблон в котором каждый компонент находится в соответствующем бэнде. Пример правильно оформленного шаблона есть в Demo-проекте (см. скрин во вложении). Текст с заголовком отчета помещается в бэнд "Заголовок отчета". Заголовок таблицы с данными помещается в бэнд "Заголовок данных". Содержимое таблицы с данными помещается в бэнд "Данные". График в конце отчета (если его нужно вывести один раз в конце отчета) помещается в бэнд "Итог отчета" и так далее. В результате остается только добавить условие отключения бэнда с графиком по условию.

Цитировать
если график не отображается, то пустоту не оставлять на листе, а сдвигать вверх, то. что находится ниже.
Это одна из задач для которой предназначены бэнды. Если скрыть один бэнд по условию, то все бэнды после него автоматически поднимутся вверх при построении отчета.