设计每日客户毛利统计模板,包含每日小计和总计
2024-05-30 11:19:51
admin
简介
本文将展示如何设计一个复杂的打印模板,可以按客户和每日毛利率两个层级进行分组汇总,并显示相关的销售金额、利润、成本和毛利率数据。
打印预览效果
首页预览:显示按客户分组的数据

末页预览:显示按每日分组的数据

实现难点
每日毛利率的计算是实现该打印模板的关键难点。由于使用了两级分组,虽然客户级别的毛利率可直接在模板中设置,但每日毛利率需要使用脚本辅助计算。
脚本实现
下面是实现每日毛利率计算的关键脚本:
double amount=0; //销售金额
double cost=0; //成本
//获取并计算每日毛利率
private void tcGrossProfitRateDay_SummaryGetResult(...)
{
double profit = amount - cost;
double result = 0;
if (amount == 0)
result = 0;
else
result = 100 * (profit / amount);
result = Math.Round(result, 2);
e.Result = result;
e.Handled = true;
}
//重置amount和cost
private void tcGrossProfitRateDay_SummaryReset(...)
{
amount = 0;
cost = 0;
}
//累计amount和cost
private void tcGrossProfitRateDay_SummaryRowChanged(...)
{
amount += Convert.ToDouble(GetCurrentColumnValue("金额"));
cost += Convert.ToDouble(GetCurrentColumnValue("计算成本金额"));
}总结
通过分组汇总和脚本的结合,可实现按客户汇总,再按天汇总,最后显示报表的总计及各级毛利率。这种复杂的打印模板格式设计需求在实际场景中非常常见。