機械翻訳について

スクリプトからのみ変更可能な非算式フィールドの実装

LineEditedCountフィールドをOrderLineItemオブジェクトに追加して、編集された回数を追跡するとします。 フィールド値はデータベースに格納する必要があるため、式フィールドは適切ではありません。

まず、タイプNumberのカスタム・フィールドをオブジェクトに追加し、デフォルト値をリテラル値0 (ゼロ)に構成します。 次に、式を使用して、新しいLineEditedCountに対して条件付きで更新可能な式を構成します:

false

これにより、ユーザー・インタフェースでは、フィールドが更新不可であることが常に確認され、値はスクリプトからのみ更新されます。 常にfalseを返すように条件付きで更新可能な式を構成することは、「更新可能」チェック・ボックスの選択を解除することとは意味的に異なります。 後者の場合、フィールドは更新できません(ユーザー・インタフェースからもスクリプトからも更新できません)。 条件付きで更新可能な式を使用すると、更新可能性の適用はユーザー・インタフェース・レベルでのみ実行されます。

最後に、LineEditedCountの値を導出するには、次のトリガーを追加します:

  • トリガー・オブジェクト: OrderLineItem

  • トリガー: データベースでの更新前

  • トリガー名: Before_Update_Adjust_Edited_Count

トリガー定義

adf.util.logStart('Before_Update_Adjust_Edited_Count')
// Get the original value of the LineEditedCount field
def origCount = getOriginalAttributeValue('LineEditedCount_c')
def newCount = origCount + 1
// Only assign the value if it's not already what we want it to be
if (LineEditedCount_c != newCount) {
  LineEditedCount_c = newCount
}