PDA

Просмотр полной версии : Расчеты в отчете



Igkobalt
05.10.2016, 17:24
Делаю отчет по накопительному расходу теплоносителя. Требуется вывод значений за задаваемый период времени с задаваемым интервалом. Далее,в этом же отчете, расчет потребленного теплоносителя (разница) за три промежутка времени 1) указанный период 2)каждый почасовой расход в данном периоде 3) посуточные (если период охватывает) . Общую разницу за указанный период (п.1) я реализовал с помощью: {(double)ИсточникДанных1.Начало-(double)ИсточникДанных1.Конец}, а вот с п.2. и п3. проблема. Подскажите как сделать?

SCADAMaster
05.10.2016, 18:06
Данные с выводятся с шагом в час? Тогда почасовой расход находится как разница между текущей строкой и предыдущей. Предыдущая строка находится с помощью функции Previous.
С сутками сложнее - единственный вариант, с помощью события анализировать время строки, сохранять значение на начало суток и на конец суток. И если сутки полные - выводить разницу.

Igkobalt
05.10.2016, 18:24
Как правильно использовать Previous?я пишу : (Часовые.Расход)-Previous(Часовые.Расход). Ругается: Ни одна из перегрузок метода "Previous" не принимает "1" аргументов.

SCADAMaster
05.10.2016, 19:12
Попробуйте так:
(double?)Previous(ИсточникДанных1,"Выход")
Источник данных1 - имя источника, "Выход" - имя интересующей переменной.
double - приведение к вещественному типа с возможностью Null. Если у вас другой тип данных - то будет другое приведение

Igkobalt
07.10.2016, 11:19
Добрый день!
Не получается.Выдаёт ту же самую ошибку.26903

SCADAMaster
07.10.2016, 11:56
Так что за ерунду вы написали?
Посмотрите как написано у нас.