Crystal:默认值为fallback(来自数据库)

时间:2014-03-18 08:55:22

标签: crystal-reports report

我们计划使用CR2013为我们的客户创建发票和其他文件 报告生成将由JAVA-Call发起。

在genral中,所有文档都具有相同的基本布局,但对于我们的一些客户,我们需要在文档的页脚中使用特殊文本。

这个想法是,有3个表:

  • 客户
  • 发票数据
  • 定制文本

customer_id可以尊重所有三个表格并将其连接起来。

自定义文本现在应包含customer_id = 0行,如果未提供客户特定文本,则该行将作为后备。

示例:

Custom-Texts

ID    | customer_id | Footertext 1 | Footertext 2
- - - - - - - - - - - - - - - - - - - - - - - - -
0     | 0           | Defaulttext  | Defaulttext
1     | 44          | Special Text | Special Text    
2     | 78          | Special 2    | Special

因此,对于身份标识号为44和78的客户,将获取特殊文本,其他所有文本均在id = 0中提供。

这可能吗?我们该怎么做?

1 个答案:

答案 0 :(得分:0)

在页脚中创建一个公式并在下面编写代码。下面的代码假定来自数据库

Default TextSpecial Text
if customer_id=0
then Footertext 1
else Footertext 1

上面的代码将id比较为0,如果yes返回默认文本,如果没有returs特殊文本

对Footer2也采用相同的过程。

编辑---------------------------------------

在页脚中放置子报告。

在该子报告中创建一个具有客户ID的组。以及以下公式的详细部分

Footertext 1

现在只显示子报告中的详细信息并压缩所有其他部分。