3

我正在使用某些参数创建 BIRT 报告。我有一个 int 参数(月数),其值可以从 1 到 12。

我需要检查该值是否大于 12。在这种情况下,它应该向我显示一条自定义消息,而不是像现在这样的错误。

错误:

org.eclipse.birt.report.service.api.ReportServiceException: The validation for parameter "nummonths" fails.

当前脚本:

if (params["nummonths"].value > 12 )
    {
    false;
    } 
else
    {
    true;
    }

我在 BIRT 中创建报告以将其上传到 IBM Maximo Asset Management 系统。也许在 Maximo 中有不同的方法来解决这个问题。

谢谢你的时间!希望能帮助别人。

4

1 回答 1

2

您可以创建一个样式为警告的动态文本,并使用如下表达式隐藏它(属性“可见性”)

params["nummonths"].value <= 12

这里有一个这样的例子,如果我们选择超过10个国家或超过10个指标,报告顶部会显示一个警告标签。

rptdesign 示例

有趣的一点是,虽然会显示警告,但我们可以另外创建一个规则来替换脚本中的错误参数值,例如 onCreate。这样报告可以正确运行。例如,在您的情况下,我们可以在脚本中执行:

if (params["nummonths"].value > 12){
  params["nummonths"].value=12;
}

或者,当参数错误时,您也可以在“beforeFactory”中删除一些报表元素。

于 2014-04-01T08:49:03.767 回答