Crystal报表返回错误的报表组总数(原始金额加倍)

时间:2014-04-04 05:27:58

标签: crystal-reports crystal-reports-xi crystal-reports-2010 crystal-reports-8.5

我的报告格式如

Main Report

Installment # 1

SubReport
---------------
     Group 1 (Suppressed)
        Group 2 Detail 1: 
          ID    Amount (Formula field)
          --   ------- 
           1     100


         Group 2 (Footer)
          ------------
          Total  200
          ------------

         Group 2 Detail 2: 
          ID    Amount (Formula field)
          --   ------- 
           1     300


         Group 2 (Footer)
          ------------
          Total  600
          ------------

我遇到的问题是我的第2组中的公式字段总数错误(我无法理解为什么它们会加倍)

我通过两个步骤创建总字段。首先,我在第2组的详细信息部分中创建变量

金额的公式字段

WhilePrintingRecords;

EvaluateAfter({@Share_Hundred_Percent});
EvaluateAfter({@Less_Commission});
EvaluateAfter({@Payment_NICL});
EvaluateAfter({@Payment_PRCL});

shared numberVar sumNetPayable;
numberVar result:=0;

if({Command.GENCLIENTCODE}=990) then
    result:= {@Share_Hundred_Percent}-{@Less_Commission} + {@Payment_PRCL}
else
    result:= {@Share_Hundred_Percent} - {@Less_Commission} ;

sumNetPayable := sumNetPayable + result;
result

然后我重置了第2组页脚中的总字段(但是它打印了两倍的数量)

我的公式字段显示总计

WhilePrintingRecords;
EvaluateAfter({@Net_Payable});

shared numberVar sumNetPayable;
numberVar result:= sumNetPayable;
sumNetPayable :=0;

result

更新

@SilentD。这是我发现的。我从报告设计视图中删除了两个公式(详细公式+摘要)。我只将Sum Fomula放在页脚中并且它有效。但是当我把详细信息公式放在报告中时,总计会加倍

1 个答案:

答案 0 :(得分:1)

最后解决我的问题的方法是从用于显示组页脚总数的公式字段中删除EvaluateAfter({@Net_Payable});。由于某种原因,它的计算量增加了一倍。

WhilePrintingRecords;

shared numberVar sumNetPayable;
numberVar result:= sumNetPayable;
sumNetPayable :=0;

result