2017-06-08 15 views
1

私はビジネスルールの問題に直面しています。2インシデントが作成されたときに同時にビジネスルールを呼び出す

インシデントを作成中

を更新インシデントの特定のフィールドは、私はいくつかのデフォルト値を設定していたとき事件が

  • を作成
    • 状態を言うとき、私は持っている2つのビジネスルールをトリガする必要があり - 閉鎖緊急 - 低を作成してインシデントビジネスルールを作成するだけですが、それはのインシデントビジネスルールを更新して、緊急度と状態値を設定するようにしています。

  • 答えて

    1

    で実行されるビジネスルールでcurrent.update()を使用していますか?そうであれば、おそらく2番目のビジネスルールが実行されます。

    また、あなたのビジネスルールは、すべての可能であれば流れを助けるために後の代わり前にビジネスルールとして設定されていることを確認してください。

    これらはが起こる実際の挿入する前に実行するため、前にビジネス・ルールのためcurrent.update()を呼び出すために一般的に必要ではありません。あなたはこの1つはあなたが見ている振る舞いを記述することができる、特にいくつかの時間https://hi.service-now.com/kb_view.do?sysparm_article=KB0540192

    を持っているとき

    は、ビジネスルールのためのベストプラクティスを見てみましょう。

    ベストプラクティス#2: ビジネスルールの前または後にcurrent.updateを()の使用は避けてください。 current.update()を使用しないでください。 がシステムパフォーマンスに影響する再帰を防止します。 current.update()は、ビジネステーブルを挿入および更新操作のために同じテーブルで実行するようにトリガします。ビジネスルールの前後にある では、これは というルールを何度も繰り返すことにつながります。

    ビジネスルール の前にcurrent.update()を使用する必要はありません。これは、データベースの更新時に自動的に保存されるためです。 ビジネスルールで現在のオブジェクトを更新する予定がないので、 も必要ありません。

    特別なケースがない限り、 はビジネスルールを停止するだけでなく、ワークフロー エンジンがレコードで実行されないようにするため、current.update()を使用しないでください。

    関連する問題