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

问题描述 投票:0回答:1

我有一个报告格式

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放在页脚中并且它有效。但是当我把详细信息公式放在报告中时,总计会翻倍

crystal-reports crystal-reports-xi crystal-reports-2010 crystal-reports-8.5
1个回答
1
投票

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

WhilePrintingRecords;

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

result
© www.soinside.com 2019 - 2024. All rights reserved.