Crystal Report 2011:公式字段错误

时间:2013-05-23 00:56:05

标签: crystal-reports report formula

对不起,可能是一篇很长的帖子来解释这个奇怪的错误。我相当肯定它更多的是我错过的错误或设置,而不是我的公式代码问题。我有一个名为{@Calc_all}的公式,基本上它针对不同的支付类型重复了以下公式,例如租金,支出,rent_total,rent_subtotal,rent_grand_total等。

shared numberVar Curr_Gross_Total_GT;
Curr_Gross_Total_GT := Curr_Gross_Total_GT + {@Pay_Value_Gross_Rent_PA};

基本上是一个很大的计算领域。然后我有另一个公式,它将此值调用到正确的行,例如小计行或总计行,如下所示:

公式名称:Pay_Value_Gross_Rent_PA_Total_GT

代码:

WhilePrintingRecords;
shared numberVar Curr_Gross_Total_GT;

Curr_Gross_Total_GT;

我遇到的问题是我在此报告中更新了一个不相关的公式,它影响了这些公式字段的总计数。要解决上述示例中的此问题,我需要删除上面{@Calc_all}中显示的代码,保存公式,重新打开{@Calc_all}并粘贴回完全相同的公式,然后Pay_Value_Gross_Rent_PA_Total_GT将显示再次正确的价值。我无法删除{@Calc_all}中的所有信息,并且稍后重新填充它需要是受影响的特定公式。

这是我需要的设置吗?这是一个有补丁修复的bug吗? 这是一个真正的痛苦,因为我不知道总数会受到什么影响,每次我需要改变一个字段时都需要调和这个大报告。

提前谢谢 任何建议表示赞赏


更新: 认为问题在于我的Calc_All公式。也许我没有正确地声明和存储我的变量中的值?基本上下面重复8-10种其他支付类型。

WhilePrintingRecords; 
shared numberVar CYMAT:= CYMAT +{@CYMAT_combined}; 
shared numberVar CYMAT_Comp:= CYMAT_Comp + if {lease_det1.No_of_Sales_Month} < 24 then 0 else {@CYMAT_combined}; 
shared numberVar CYMAT_GT:= CYMAT_GT +{@CYMAT_combined}; 
shared numberVar CYMAT_GT_Comp:= CYMAT_GT_Comp+ if {lease_det1.No_of_Sales_Month} < 24 then 0 else {@CYMAT_combined};
shared numberVar CYMAT_Inactive:= CYMAT_Inactive +{@CYMAT_combined};
shared numberVar CYMAT_Spec:= CYMAT_Spec +{@CYMAT_combined};
shared numberVar CYMAT_Spec_Comp:= CYMAT_Spec_Comp + if {lease_det1.No_of_Sales_Month} < 24 then 0 else {@CYMAT_combined};

0 个答案:

没有答案