GroupHeader ——->客户推销员的关键
MasterData ——->客户名称,余额
GroupFooter ——->销售员-1的总和(余额)
MasterData ——->客户名称,余额
GroupFooter ——->销售员-2的总和(余额)
MasterData ——->客户名称,余额
GroupFooter ——->销售员-3的总和(余额)
.
.
.
MasterData ——->客户名称,余额
GroupFooter ——->推销员-N的总和(余额)
====>这里想要:
页脚-2 ——-> SUM(推销员-1的总和(余额),推销员-2的总和(余额),推销员-3的总和(余额))(仅!!!)
ReportFooter ——–>客户总余额.
有没有人有想法用fastreport脚本引擎解决问题?
谢谢.
解决方法
var salessum: extended; procedure MYReportOnStartReport(Sender: TfrxComponent); begin salessum := 0.0; end;
在细节带的OnBeforePrint事件中,如果sapleum是所需的销售人员之一,则增加salessum.
procedure MYReportDetailBeforePrint(Sender: TfrxComponent); begin if (mydata.salesmankey = "key 1") or (mydata.salesmankey = "key2") or (...) then begin salessum := salessum + mydata.amount; end; end;
如果您希望在报告末尾添加额外的总和,则添加报告摘要带,并在OnBeforePrint事件中将相应文本字段的值设置为salessum的格式化字符串.
procedure MYReportSummaryBeforePrint(Sender: TfrxComponent); begin txtMyBestSalesMenTotal.Text := FormatFloat('#,##0.00',salessum); end;
或者,如果您希望在销售人员3小计之后立即添加额外的金额,然后在销售人员组页脚带中添加文本字段,并在OnBeforePrint事件中将其visible属性设置为true / false,具体取决于您当前正在处理的销售人员密钥并设置其值得salessum的价值.您还需要确保乐队自动伸展.
我已经开始使用脚本和报告变量完成所有求和,因为它变得更容易控制它们何时何地应该递增或重置或打印等.使用内置求和函数(在任何报告系统中)仅有用对于非常简单的总计 – 由于某种原因,我的报告很少.
希望这是有道理的(并且是你实际上想要实现的目标!).