我正在使用某些参数创建 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 中有不同的方法来解决这个问题。
感谢您的宝贵时间!希望对其他人有帮助。
最佳答案
您可以创建一个警告样式的动态文本,并使用诸如
之类的表达式隐藏它(属性“可见性”)params["nummonths"].value <= 12
有一个此类方法的示例 here ,如果我们选择超过10个国家或超过10个指标,则报告顶部会显示警告标签。
有趣的是,虽然显示了警告,但我们还可以创建一条规则来替换脚本中的错误参数值,例如 onCreate。这样报表就可以正确运行了。例如,在您的情况下,我们可以在脚本中执行以下操作:
if (params["nummonths"].value > 12){
params["nummonths"].value=12;
}
或者,当参数错误时,您也可以在“beforeFactory”中删除一些报表元素。
关于validation - 使用 Birt 报告参数验证消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22771359/