我正在尝试使用全局变量来计算奖金。我可以正确计算变量,但更改组时它不会重置。我有三组 - 财产,代理,类型。我试图将重置放在每个组页脚中 - 两者都没有被抑制 - 并且计数继续。如果我使用WhilePrinting / ReadingRecords它工作正常,但我不能在任何公式中使用该变量,因为我得到“在非重复字段上指定了摘要”错误。
以下是我正在使用的一些示例代码
@ LeaseCount-这是详细信息部分
EvaluateAfter({@Effective Rent});
global numbervar x;
x:=IIF({@Effective Rent}>={Command.Yieldstar}, x+1, x)
@reset_x
global numbervar x:= 0;
@bonus
IF {@LeaseCount} in 0 TO 6 THEN 50.00
ELSE IF {@LeaseCount} in 7 TO 11 THEN 80.00
ELSE IF {@LeaseCount} >= 12 THEN 100.00 ELSE 0.00
Else 0.00
我有奖金部分在柜台后评估。除了重置变量之外,一切都工作得很好。如果我尝试使用共享变量,则会出现“非重复”错误。我想我已经尝试了一切我能找到的并且不知所措 我相信它与时序有关我只是不熟悉CR时序,但它可能只是我的编码。非常感谢任何帮助。
答案 0 :(得分:0)
尝试将其声明为“共享”而不是“全局”。请记住更改两个公式中的声明:@LeaseCount和@reset_x。
如果不起作用,请尝试将@reset_x更改为两行:
shared numbervar x;
numbervar x:= 0;
答案 1 :(得分:0)
问题在于代理页脚中的摘要字段。删除摘要字段并将变量移动到SHARED后,它解决了当前问题。然后我使用另一个变量来执行运行摘要而不是运行总计摘要。 -