レコードロック時、数式項目で引用している情報もロックできるか

レコードロック時、数式項目で引用している情報もロックできるか

承認プロセスでレコードがロックされても、参照している値が変わるとレコード上の値も変わってしまいます。これを阻止できるのか?検証してみました。
レコードロック時、数式項目で引用している情報もロックできるか
2
レコードロック時、数式項目で引用している情報もロックできるか
Admin
2020/07/22 11:22:11
※こちらは過去に公開していたブログからの移行記事です。

やりたいこと

承認プロセスにて、承認完了時にレコードロックされるが数式項目で引用しているデータはロックされません。
これをロックする(=値が承認時のまま変わらないようにする)ことは可能でしょうか?


調査結果とSalesforceの仕様

「数式項目の値の引用元のデータが変更されると、たとえレコードがロックされていても変更されてしまう」という挙動は、Salesforceの仕様通りのものになります。こちらをロックすることは出来ません。また、参照関係項目の場合も、参照元の値が変更されると参照先の値に反映されます。

◇ Salesforce >Trailblazer community > ヘルプ > 数式項目の計算タイミングについて

数式が評価されるタイミングは、数式項目が表示される、もしくはアクセスされる時となります。

対処法1

項目の表示のために計算される数式項目や最新の情報を参照する参照項目ではなく、テキスト項目に置き換えます。
テキスト項目のカスタム項目を作り、レコードの作成や編集時に、元々の項目の値を作成したカスタム項目へ反映します。

手順

1.カスタム項目Aを作成
2.項目自動更新を行うワークフロールールを作成
(レコードが作成・編集されたら、値を1のカスタム項目Aに反映する。)

元々の項目はページレイアウトで非表示とし、カスタム項目Aを表示させます。

ワークフロールールは、レコードが作成・編集されない限りは起動されないため、引用元のデータが変更されても、当該レコードを編集しなければ、変更前の値を表示させておくことが可能です。


対処法2

項目の値がある程度決まっているものであれば、数式項目や参照項目で参照せず、はじめから選択リスト値で管理するという手もあります。
gilde tech(for Salesforce)」に入会しませんか?
登録すると、「gilde tech」に掲載されているSalesforceのノウハウを全部閲覧できるだけでなく、自分が知っている知識を発信し、他の会員と交流することもできます。
またSalesforceの知識習得に役立つイベント情報も得ることができます。
是非ここで得た知識を業務に活かしてください!
2
コメント