对不起,可能是一篇很长的帖子来解释这个奇怪的错误。我相当肯定它更多的是我错过的错误或设置,而不是我的公式代码问题。我有一个名为{@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};