Crystal reports 未为每个组重置全局变量

Crystal reports 未为每个组重置全局变量,crystal-reports,Crystal Reports,我试图使用一个全局变量来计算奖金。我可以让变量正确计数,但在更改组时它不会重置。我有三个组-属性、代理、类型。我试着在每个组的页脚中重置,但两个页脚都没有被抑制,计数仍在继续。如果我使用WhilePrinting/ReadingRecords,它可以正常工作,但是我不能在任何公式中使用该变量,因为我得到了一个“summary has specified on a non-recurtive field”错误 下面是我正在使用的一些示例代码 @LeaseCount-这在详细信息部分中 Evalua

我试图使用一个全局变量来计算奖金。我可以让变量正确计数,但在更改组时它不会重置。我有三个组-属性、代理、类型。我试着在每个组的页脚中重置,但两个页脚都没有被抑制,计数仍在继续。如果我使用WhilePrinting/ReadingRecords,它可以正常工作,但是我不能在任何公式中使用该变量,因为我得到了一个“summary has specified on a non-recurtive field”错误

下面是我正在使用的一些示例代码

@LeaseCount-这在详细信息部分中

EvaluateAfter({@Effective Rent});
global numbervar x;
x:=IIF({@Effective Rent}>={Command.Yieldstar}, x+1, x)
@重置

global numbervar x:= 0;
@奖金

 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时间,但这可能只是我的编码。非常感谢您的帮助。

请将其声明为“共享”而不是“全局”。记住更改两个公式中的声明:@LeaseCount和@reset\u x

如果不起作用,请尝试在两行中更改@reset_x:

shared numbervar x;
numbervar x:= 0;

该问题与代理页脚中的摘要字段有关。删除摘要字段并将变量移动到共享字段后,立即解决了问题。然后,我使用另一个变量来进行运行摘要,而不是运行汇总

将重置变量放在页眉而不是页脚中。这样,对于组值的每一次更改,都会重置代理页脚中的摘要字段。删除摘要字段并将变量移动到共享字段后,立即解决了问题。然后,我使用另一个变量来执行运行摘要,而不是运行摘要。@siva我已将其放在页眉和页脚中,结果相同。请回答您的问题,以便其他人可以使用:)在尝试使用共享变量时出现相同的非重复性错误。