Crystal reports Crystal Reports 2016:呈现组页脚时如何抑制页脚?

Crystal reports Crystal Reports 2016:呈现组页脚时如何抑制页脚?,crystal-reports,Crystal Reports,我被要求修改一份有监管声明的Crystal报告。呈现报表时,无论呈现语句的页面是什么,都必须抑制给定的页脚内容。显示监管声明时,是否有方法隐藏页脚?该语句是报表组页脚3中的OLE对象 我创建了一个公式,如下所示: WhilePrintingRecords; booleanVar SuppressFooter := false; 我将公式放在报告标题中,主要用于初始化变量 我创建了一个类似的公式,将其放在组页脚3中,并将变量设置为true。然后,我在页脚部分专家的抑制公式中引用组页脚3公式。不幸

我被要求修改一份有监管声明的Crystal报告。呈现报表时,无论呈现语句的页面是什么,都必须抑制给定的页脚内容。显示监管声明时,是否有方法隐藏页脚?该语句是报表组页脚3中的OLE对象

我创建了一个公式,如下所示:

WhilePrintingRecords;
booleanVar SuppressFooter := false;
我将公式放在报告标题中,主要用于初始化变量

我创建了一个类似的公式,将其放在组页脚3中,并将变量设置为true。然后,我在页脚部分专家的抑制公式中引用组页脚3公式。不幸的是,这会抑制与给定记录关联的所有页面的页脚

是否有一个操作数可用于声明-打印组页脚3时,设置SuppressFooter:=true?理想情况下,我会在页脚部分专家的Suppress公式中插入此逻辑

我将如何实现预期的功能

更新 建议将@SuppressFooter移动到组标题3。它的定义是

WhilePrintingRecords;
BooleanVar SuppressFooter := false;
我还将@SetSuppressFooter添加到组页脚3中。它的定义是:

WhilePrintingRecords;
BooleanVar SuppressFooter := true;
WhilePrintingRecords;
{@SetSuppressFooter} = true;
WhilePrintingRecords;
BooleanVar SetSuppressFooter;
用于抑制页脚的公式定义为:

WhilePrintingRecords;
BooleanVar SuppressFooter := true;
WhilePrintingRecords;
{@SetSuppressFooter} = true;
WhilePrintingRecords;
BooleanVar SetSuppressFooter;
还包括报告结构的片段:


当呈现组页脚3时,上述逻辑仍不能抑制页脚。

首先,用于抑制页脚的公式应定义为:

WhilePrintingRecords;
BooleanVar SuppressFooter := true;
WhilePrintingRecords;
{@SetSuppressFooter} = true;
WhilePrintingRecords;
BooleanVar SetSuppressFooter;
然后,如果将公式@SetSuppressFooter放置在组页脚中,则即使组页脚被条件抑制,也会对其进行计算。也就是说,为了有条件地设置变量(=打印页脚时),仅在节中放置字段是不够的,但必须在此处包含逻辑:

WhilePrintingRecords;
BooleanVar SuppressFooter;
If {Befehl.showgroup} = 1 Then SuppressFooter := true Else SuppressFooter := false;
当然,您必须将
{Befehl.showgroup}=1
替换为您自己的条件,即控制组页脚部分可见性的条件


这就引出了最后一点:根据分页符在报表中的位置,使用与页脚可见性和组页脚可见性相反的逻辑可能更容易。在这种情况下,不需要“WhilePrintingRecords”公式。

Hm,将另一个具有相同内容的公式,但SuppressFooter:=true,当然,放入定制组footer 3时,应在呈现此页脚时准确设置变量。谢谢!不幸的是,页脚在给定记录的所有5页上都被抑制。我只想在包含组页脚3的页面上取消显示页脚。请注意,组页脚3可能会出现在一条记录的第2页,另一条记录的第5页。那么,在第一个组页脚3出现后,以及在根据需要对其进行求值后,即帮助抑制右侧部分,该变量应再次设置为false。您可能希望将初始公式字段从报表页眉移动到页面页眉–然后它会在每个新页面上将变量设置为false。糟糕,即使在组页脚部分被抑制且未呈现时,也会计算公式。将尝试在回答中总结测试结果…非常感谢您的回答。为了澄清,条款和条件在组页脚3中,始终显示。因此,包括.ShowGroup在内的示例条件始终为true。如果始终显示组页脚3,是否仍需要If-then语句?不,在这种情况下不需要。在创建组3页脚子节并在其中放置SuppressFooter公式后,现在可以使用了!非常感谢。