我正在使用某些参数创建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中有不同的解决方法。
感谢您的时间!希望能帮到别人。
答案 0 :(得分:2)
您可以创建一个动态文本作为警告,并使用表达式
隐藏它(属性“visibility”)params["nummonths"].value <= 12
有一个这样的方法的例子here,如果我们选择超过10个国家或超过10个指标,报告顶部会显示一个警告标签。
有趣的是,虽然显示了警告,但我们还可以创建一个规则来替换onCreate等脚本中的错误参数值。这样报告就可以正确运行。例如,在您的情况下,我们可以在脚本中执行:
if (params["nummonths"].value > 12){
params["nummonths"].value=12;
}
或者,当参数错误时,您也可以在“beforeFactory”中删除一些报表元素。