機械翻訳について

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

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

まず、タイプ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
}