Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?

Официальный форум Simple-Scada.

Автор Тема: БД и Отчеты  (Прочитано 3404 раз)

Виктория

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

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: БД и Отчеты
« Ответ #1 : 19 Сентября 2018, 11:13:27 »
Здравствуйте.

Все верно, для улучшения производительности при работе с БД, сервер скады сначала получает значения в свой буфер и по возможности оптимизирует их, затем они отправляются в БД. Поэтому пользовательским SQL-запросом из БД не удастся получить последние архивные данные и для вывода трендов в отчет нужно использовать отдельный источник данных с типом "Периодический", как описано в этой статье. Источники данных с типом "Периодический" и "По-изменению" учитывают расположение данных и при необходимости берут данные не только из БД, но и из буфера сервера.

Виктория

  • Пользователь
  • **
  • Сообщений: 87
    • Просмотр профиля
Re: БД и Отчеты
« Ответ #2 : 03 Октября 2018, 11:00:28 »
Здравствуйте.
Подскажите, как можно исключить в отчетах график по условию. В определенных случаях он должен отображаться при формировании, а в другом случае- должен быть скрыт.
Я пробовала весить условия на график  и выключать компонент, но работает это у меня не правильно.
Подскажите каким способом это можно сделать=)
И еще мб есть возможность такая: если график не отображается, то пустоту не оставлять на листе, а сдвигать вверх, то. что находится ниже.

levchenkoa

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: БД и Отчеты
« Ответ #3 : 03 Октября 2018, 16:26:42 »
Сделать два различных отчета, а логику обработки условий переместить на уровень скады. В зависимости от условий формировать один отчет или другой.

Simple-Scada

  • Администратор
  • *****
  • Сообщений: 3214
    • Просмотр профиля
    • Simple-Scada
Re: БД и Отчеты
« Ответ #4 : 03 Октября 2018, 17:52:22 »
Здравствуйте.

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

Цитировать
если график не отображается, то пустоту не оставлять на листе, а сдвигать вверх, то. что находится ниже.
Это одна из задач для которой предназначены бэнды. Если скрыть один бэнд по условию, то все бэнды после него автоматически поднимутся вверх при построении отчета.
« Изменён: 03 Октября 2018, 17:54:12 от Simple-Scada »