【发布时间】:2016-03-03 23:46:26
【问题描述】:
我的报告包含第 1 组和第 2 组。出于格式化目的,第 2 组页眉和详细信息被隐藏,所有信息都显示在第 2 组页脚中。如果满足某个条件,我已经设置了报表以抑制第 2 组页脚,这意味着有时第 1 组页眉下的整个部分都是空白的,我想抑制它。
这是它的设置方式
第 1 组 - 员工 第 2 组 - 客户(被抑制) 详细信息(抑制) 客户名称 field1 field 2 field 3 field 4
对于字段 1-4,可能返回“Draft”、“Final”和 null。我只是在寻找“草稿”和空值。
所以我设置第 2 组页脚的方法是只返回客户名称和一个总结所有四个字段值的公式 {@draft}
if {#divDraft} + {#convoDraft} + {#yearDraft} + {#rovDraft} >= 1 then "Draft"
else if {#divFinal} + {#convoFinal} + {#yearFinal} + {#rovFinal} >= 1 then "Final"
else " "
然后我根据 {@draft} 返回“final”来抑制页脚
如果该组中的每个客户端都将所有四个字段都返回为 null 或至少一个返回为草稿,是否可以禁止组 1 标头?
我尝试运行一个子报表,然后将它和一个共享变量放在第 1 组标题中,但这不起作用
WhilePrintingRecords;
Shared NumberVar totalSuppress;
Global NumberVar suppression;
suppression := Shared NumberVar totalSuppress;
共享报告中的 {@totalSuppress} 公式添加了至少返回一个“草稿”的次数以及所有四个字段为空的次数。我将它放在子报表的页脚中,然后将 {@suppression} 放在主报表组标题中。
我得到的是一个模式,其中第一个组页眉返回 0.00,它有 4 个结果,组页脚中返回 4.00。然后下一组在组页眉中有 4.00,在组页脚中有 1 个结果和 1.00。下一个在组头中有 1.00,依此类推。
我试图做一个公式来重置每个组标题的变量。所以我写了
Global NumberVar suppression;
suppression := 0
但所做的只是在组标题中返回 0.00。
欢迎任何其他想法。
RE:尝试了新公式
if {sales_div.draft_pend_approv_Value} = "Draft" or {sales_div.draft_pend_approv_Value} = "Pending Approval"
or {convoSales_200.pending_approval_Value} = "Draft" or {rov_client.pend_draft_Value} = "Draft"
or {yearly_sales.draft_pend_Value} = "Draft") then 1
else if isnull({sales_div.draft_pend_approv_Value}) and
isnull({convoSales_200.pending_approval_Value}) and isnull({rov_client.pend_draft_Value})
and isnull({yearly_sales.draft_pend_Value})
then 1
else 0
【问题讨论】:
标签: crystal-reports