Добавьте пожалуйста в Редактор выражений поле “Параметры точки учета”. Есть необходимость использования констант в формуле при расчетах
Это возможно сделать?
Данная тема уже больше месяца остается без внимания разработчиков!
Еще одна просьба.
Добавьте пожалуйста возможность использовать при расчетах “Атрибуты узла учета” в редакторе выражений.
Извините за задержку с ответом.
Использование в вычисляемых полях данных из разных узлов списка полей редактора отчетов описано в документации:
Пример использования в вычисляемом поле данных из разных узлов.
Делаю все, как в примере. Подскажите пожалуйста, в чем ошибка:
Требуется расчет потребления тепла на 1 метр квадратный.
В атрибутах точки учета создал параметр - площадь отапливаемого помещения. В ReportHeader создал ячейку с названием label_p, привязал к ячейке атрибут точки.
В ReportFooter создал ячейку, добавил к нему вычисляемое поле Potreblenie_na_m2, указал следующий скрипт.
private void Potreblenie_na_m2_GetValue(object sender, DevExpress.XtraReports.UI.GetValueEventArgs e) {
double Qfact = 0;
double.TryParse(Convert.ToString(((DataRowView)e.Row).Row[“Q”]), out Qfact);
double m2 = 0;
double.TryParse(this.label_p.Text, out m2);
e.Value = Qfact / m2;
}
Ошибка: Следующие ошибки в скрипте:line 226, column 22: error CS1061: ‘ScriptingNamespace.ScriptingReport’ does not contain a definition for ‘label_p’ and no extension method ‘label_p’ accepting a first argument of type ‘ScriptingNamespace.ScriptingReport’ could be found (are you missing a using directive or an assembly reference?)
Экспортируйте и приложите отчетную форму.
Прикрепил отчетную форму.
Теплоснабжение (системная, одностраничная) (копия).lersreport (121 KB)
У вас ячейка называется tableCell41, а свойство Text = label_p.
Исправленный текст обработчика.
private void Potreblenie_na_m2_GetValue(object sender, DevExpress.XtraReports.UI.GetValueEventArgs e)
{
double Qfact = 0;
double.TryParse(Convert.ToString(((DataRowView)e.Row).Row["Q"]), out Qfact);
double m2 = 0;
double.TryParse(this.tableCell41.Text, out m2);
e.Value = Qfact / m2;
}
Чтобы выявлять ошибки во время написания скриптов используйте кнопку ‘Проверить’ в правом верхнем углу окна редактора скриптов.
Спасибо, теперь разобрался с этим скриптом.
Далее возникает следующая ошибка:
Отчетная форма: ‘Теплоснабжение (системная, одностраничная) (копия)’
Ошибка: Следующая ошибка возникает когда скрипт в процедуре M1delta.GetValue:Column ‘Q’ does not belong to table Показания счетчиков. Процедура M1delta.GetValue больше она не будет вызвана.
В скрипте процедуру M1delta.GetValue:Column ‘Q’ не нашел. Как устранить ошибку?
Почему вы значения показания счетчика теплопотребления используете в обработчике для массы?
Показания счетчиков находятся в таблице ‘Интеграторы на начало и конец отчетного периода’.
Для теплопотребления это поля: Qdelta_Start, Qdelta_End и Q_Delta.
Исправил, теперь работает. Спасибо.