Создание круговой диаграммы в Генераторе отчетов

Avatar
  • обновлен
  • Отвечен

Есть 4 канала: А1, А2, А3, A. A = A1 + A2 + A3.


Хочу вставить в отчет круговую диаграмму. 

На этой диаграмме должны отображаться доли этих каналов в общей сумме:

А1 / А, А2 / А, А3 / А.


В руководстве на FastReport приводится пример с таблицей из БД.

Но у нас нет БД, мы работаем с каналами.

Как тогда формировать исходные данные для сегментов диаграммы?

Avatar
Станислав С

У меня шаблон отчета находится здесь:

d:\slProject\Reports\Templates\

Указал путь:  OpenReport('Templates\Energy1');

Скриншот ошибки во вложении.

Avatar
Станислав С

Почему для Источник Истории Каналов (THistorySet) я могу выводить значения поканально,

а для Источник Каналов (TChannelSet) не могу. 

Чем они отличаются принципиально?

Avatar
Станислав С

Что это за ошибка?

Avatar
Константин Лаптев

Добрый день, Станислав С. 


Возникает ошибка при нажатии кнопки:
23.08.2021 17:40:19.380 Invalid floating point operation - [Report_Energy_Create]

У вас в скрипте происходит деление на 0. Это вызывает ошибку времени выполнения.

Указал путь: OpenReport('Templates\Energy1');

В вашем проекте, который мы получили, путь до отчета указан верно. Папку Templates указывать не нужно.

Почему для Источник Истории Каналов (THistorySet) я могу выводить значения поканально,
а для Источник Каналов (TChannelSet) не могу.
Чем они отличаются принципиально?

   

   HistorySet выводит значения канала в определенный момент времени с определенным агрегатором в виде записей. В настройках компонента настраиваются конечные поля через указание канала, его свойства, агрегатора записей в поддиапазоне. В пределах поддиапазона, полученного делением диапазона на интревал, для полученных записей с диска(ssd) применяется агрегатор и выводится в запись источника данных соответствующую этому поддиапазону.

  ChannelSet выводит выбранные каналы в виде записей, а поля соответствуют свойствам каналов. Выбрать каналы можно в окне настройки источника данных. Открыть его можно двойным кликом по компоненту. Нужные для дальнейшего использования каналы нужно переместить в список справа, используя кнопку со стрелкой вправо.

  Для начала нужно определиться, что означает вывести поканально.

Что это за ошибка?

Ошибка системная. Подробнее опишите что делали при её получении.