3

特定のパラメーターを使用して BIRT レポートを作成しています。値が 1 から 12 の int パラメータ (月数) があります。

値が 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

警告としてスタイル設定されたダイナミック テキストを作成し、次のような式で非表示にすることができます (プロパティ "visibility")。

params["nummonths"].value <= 12

ここにそのようなアプローチの例があります。10 を超える国または 10 を超える指標を選択すると、レポートの上部に警告ラベルが表示されます。

rptdesignの例

興味深い点は、警告が表示されますが、onCreate などのスクリプトで間違ったパラメーター値を置き換えるルールを追加で作成できることです。これにより、レポートを正しく実行できます。たとえば、あなたの場合、スクリプトで行うことができます:

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

または、パラメーターが間違っている場合、「beforeFactory」にいくつかのレポート要素をドロップすることもできます。

于 2014-04-01T08:49:03.767 に答える