current.update() を使用してビジネスルールを更新/挿入すると、カウントが +1 で 2 つの sys_amb_message レコードが作成されるが、新しい行を 1 つ作成すると、ダッシュボード上のリアルタイム単一スコアレポートが 1 ではなく 2 で増加する説明 current.update() を使用してビジネスルールを更新/挿入すると、カウントが +1 で 2 つの sys_amb_message レコードが作成されますその結果、[リアルタイム更新を表示] オプションがオンになっているダッシュボードの単一スコアレポートは、レポートの条件を満たす新しい行を 1 つ作成すると、1 ではなく 2 で増加します。 再現手順 1.[インシデント] テーブルに対して新しいビジネスルールを (挿入/更新後に) 作成します。次のスクリプトを使用します。 (function executeRule(current, previous /*null when async*/) {current.short_description = 'xx - ' + current.short_description;current.update();})(current, previous);2.[インシデント] テーブルに対して「単一スコア」タイプの新しいレポートを作成します。フィルターを追加する必要はありません。「カウント」の集計をします。3.[パフォーマンス分析 (PA)] ダッシュボードで、先ほど作成した単一スコアレポートを追加します。4.アサイン先グループ [sys_user_group] に基づいて、[task.assignment_group] にマッピングされたインタラクティブフィルターをダッシュボードに追加します。5.ダッシュボードが編集モードのときに、レポートの歯車をクリックし、「リアルタイム更新を表示」と「インタラクティブフィルターに従う」オプションを選択します。6.ダッシュボードをテストして、レポートがインタラクティブフィルターで選択したアサイン先グループに従っていることを確認します。選択したアサイン先グループは、たとえば「ACME 冷蔵庫サポート」のように残しておきます。7.レポートが表示されているダッシュボードを開いたまま (表示できる状態)、別のブラウザまたはタブで新しいインシデントを作成し、アサイン先グループ「ACME 冷蔵庫サポート」にアサインします。> 想定される動作:レポートカウンターが 1 だけ増加する。> 実際の動作:レポートカウンターが片方で 2 増加する (速いインスタンスの場合、最初の更新には気付かない可能性もありますが、重要なのは増加が 1 ではなく 2 であるということです)。 [sys_amb_message] テーブルには、同じタイムスタンプと「シリアル化済み cometd メッセージ」の値「カウント」:「+1」を持つ 2 つのレコードがあります。増加が 1 ではなく 2 であるのはこのためです。8.手順 1 のビジネスルールを無効にし、問題が再現しなくなったことを確認します。 ワークアラウンド 挿入時に実行されないようにビジネスルールを変更します。(current.setWorkflow が false に設定されていない限り、ビジネスルールで current.update を使用しないでください)。または 挿入/更新の前にビジネスルールを起動し、同じビジネスルールを再度トリガーすることになる current.update() を使用しないようにスクリプトを変更します。 関連する問題:PRB1294298