1

私はしばらくの間ilogjrulesを試してきました。特に、ルールのオーバーライド機能に興味がありますが、プログラムで階層を作成してルールをオーバーライドする純粋なIRLの方法があります。IRLで記述するのではなく、ルールのオーバーライドにルールスタジオを使用したいと思います。

ルールスタジオのルールプロパティウィンドウには、オーバーライドするルールを指定するオプションがありますが、ルールのオーバーライドを決定するために使用する条件を指定する場所が見つかりません。

誰かがこれに光を当てることができますか?ルールを上書きするために使用される条件をどこに追加しますか?それとも、IRLのプログラム的な方法でそれを行う必要がありますか?

4

1 に答える 1

1

これらのルールが実行時に同じルールタスクで選択されている場合、ルールは1つ以上の他のルールをオーバーライドできます。

2つのルールAとBがあるとします。Aは、ロイヤルティプログラムでゴールドステータスに達した場合に一般的な割引を付与するルールです。

ルールA:

if
    the status of 'the customer' is gold
then
    add a 4% discount, reason: "Gold membership"

ルールBは、ドイツ市場のこのルールを5%の割引で上書きする必要があります。

ルールB:

if
    the status of 'the customer' is gold
    and the home country of 'the customer' is Germany
then
    add a 5% discount, reason: "German loyalty program: gold status"

ルールBのプロパティは、ルールAをオーバーライドする必要があることを指定する必要があります(プロパティ:オーバーライドされたルール:[ルールA])。両方のルールを実行できる場合は、「オーバーライドされたルール」プロパティのため、ルールBのみが選択されます。ルールAはオーバーライドされます。つまり、実行時に同じルールタスクで両方のルールが選択されます。

詳細については、ドキュメントをご覧ください

于 2012-03-09T13:21:21.550 に答える