我正在尝试使用fastreport和delphi执行以下操作.我有一份包含......的报告
GroupHeader ------->客户销售员MasterData的关键-------> CustomerName,Balance GroupFooter -------> Salesman-1 MasterData的总和(余额)------- > CustomerName,Balance GroupFooter -------> Salesman-2 MasterData的总和(余额)-------> CustomerName,Balance GroupFooter -------> Salesman-3的总和(余额) ...MasterData -------> CustomerName,Balance GroupFooter -------> Salesman-N的Sum(Balance)
====>这里想要:Footer-2 -------> SUM(Salesman-1的总和(余额),Salesman-2的总和(余额),Salesman-3的总和(余额)) (只要 !!!)
ReportFooter -------->总客户余额.
有没有人有想法用fastreport脚本引擎解决问题?
谢谢.
我将创建一个报告全局变量“salessum”
var
salessum: extended;
procedure MYReportOnStartReport(Sender: TfrxComponent);
begin
salessum := 0.0;
end;
Run Code Online (Sandbox Code Playgroud)
如果是所需的销售人员之一,则在详细信息区域的 OnBeforePrint 事件中增加销售金额。
procedure MYReportDetailBeforePrint(Sender: TfrxComponent);
begin
if (mydata.salesmankey = "key 1") or (mydata.salesmankey = "key2") or (...) then
begin
salessum := salessum + mydata.amount;
end;
end;
Run Code Online (Sandbox Code Playgroud)
如果您希望在报告末尾添加额外的总和,请添加报告摘要区域,并在 OnBeforePrint 事件中将相应文本字段的值设置为 salessum 的格式化字符串。
procedure MYReportSummaryBeforePrint(Sender: TfrxComponent);
begin
txtMyBestSalesMenTotal.Text := FormatFloat('#,##0.00', salessum);
end;
Run Code Online (Sandbox Code Playgroud)
或者,如果您希望在销售员 3 小计之后立即添加额外总和,则在销售员组页脚区域中添加一个文本字段,并在 OnBeforePrint 事件中将其可见属性设置为 true/false,具体取决于您当前正在处理的销售员键并设置其值与 salessum 的值之比。您还需要确保带子自动拉伸。
我已经开始使用脚本和报告变量进行几乎所有求和,因为它变得更容易控制何时何地应该递增或重置或打印等。使用内置求和函数(在任何报告系统中)是唯一有用的非常简单的总数——出于某种原因,我的报告中很少有这样的总数。
希望这是有道理的(这就是您真正想要实现的目标!)。