вычисляемое значение
Здравствуйте работаю с FR4.9.32ENT под Delphi 2010 вот, отчет мастердетальный с чартом . хочю сделать вычисление в memo вот и не знаю как сделать в скрипте попытался написать вот это : MEMO17.text:= floatTostr(strTofloat(MEMO6.text)-strTofloat(SysMemo2.text)); но фаст репорт ругается. а суть вопроса в том что я хочу посчитать значение отображаемое [frxDBDDatset1.''Цена_д''] -минус [SUM(<frxDBDataset2."Сумма">,DetailData1)] а как сделать не знаю . во вложении две картинки.
Комментарии
[<frxDBDDatset1.''Цена_д''> - SUM(<frxDBDataset2."Сумма">,DetailData1)]
SUM(<frxDBDataset2."Сумма">,DetailData1) = 11
ответ должен быть 1
а в итоге в отчете вот как 12 - 11 вот мне нужен скрипт который производил арифметические действия
[frxDBDDatset1.''Цена_д''] -минус [SUM(<frxDBDataset2."Сумма">,DetailData1)] ,
то результат будет 12 - 11
да признаю свою лошарость мы месье были обсалютно правы )
var DolgFB: Real;
procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
begin
DolgFB:=SUM(<frxFB."SumDolg">,MasterData3);
end;
в процессе выполнения возникает ошибка "Could not convert variant of type (Null) into type (Double).
Что неправильно?
Особенность агрегатной функции – она должна быть использована внутри объекта "Текст", после чего к ней можно обращаться в скрипте. Если использовать агрегатную функцию только в скрипте (без использования в объекте "Текст"), то будет выдано сообщение об ошибке. Так происходит потому, что для корректной работы агрегатной функции она должна быть привязана к определенному бэнду."
Аналогичная ошибка: "Could not convert variant of type (Null) into type (Double)".
в скрипте
...
S := SUM(<frxDBDataset1."S17">+<frxDBDataset1."S18">+<frxDBDataset1."S19">,MasterData1,1);
...
На бэнде GroupFooter1 в Memo2
выражение [SUM(<frxDBDataset1."S17">+<frxDBDataset1."S18">+<frxDBDataset1."S19">,MasterData1,1) #n%2,2f].
Цитата из документации очень туманна.
Что означает: "Особенность агрегатной функции – она должна быть использована внутри объекта "Текст""
Можно пример на основе предыдущего или этого поста.
Спасибо.
SUM(<frxDBDataset1."S17">+<frxDBDataset1."S18">+<frxDBDataset1."S19">,MasterData1,1)
то и в мемо должно быть
[SUM(<frxDBDataset1."S17">+<frxDBDataset1."S18">+<frxDBDataset1."S19">,MasterData1,1)]
К сожалению, это не всегда срабатывает.
В последнем отчете пришлось просуммировать поля в запросе в отдельные поля,
а в бэнде и скрипте проставить эти поля. По одному полю вместо суммы полей.
Только тогда все заработало.
На мой взгляд, устанавливать соответствие выражения в бэнде и скрипте не удобно.
Проще для использования именованные выражения, например, <Memo1.Value>