この記事では、レコード作成画面で動的に初期値を入力する方法について記述しています。
例えば、取引先レコード画面から取引先責任者レコード作成画面を開き、作成画面の項目には取引先レコードの情報があらかじめ自動入力されているという感じです。
そのような画面を作成する方法として、私は以下の3つを使い分けています。
アクションを作成する
メリット
- 簡単に作成できる
デメリット
- ページレイアウトのように柔軟かつ綺麗なレイアウトを使うことができない
- 初期値を設定できない項目がある(複数選択リストなど)
オブジェクトマネージャの「ボタン、リンク、およびアクション」から作成できるやつですね。
簡単な作成画面ならこれを使うのが一番楽です。
ただ項目が増えると見づらい画面になります(Salesforce 公式も項目は8個以下にすることを推奨しています)。
リストボタンから作成画面(ページレイアウト )をURLで呼び出す
メリット
- ページレイアウトの綺麗な配置をそのまま利用できる
デメリット
- 入力が必要な項目だけ選んで画面に表示することができない。
ページレイアウトで設定するレコード画面について、URL経由で呼び出すことで初期値を入力することができます。
こちらについては以下の記事で記述しています。
標準ページレイアウトで、親レコードの値を引き継ぐ
Lightning Web Component で画面を作成する
メリット
- レイアウトを自由に作ることができる
- JavaScript を使った高機能な動作が使える
デメリット
- Lightning Web Component の知識が必要
- 工数がかかる
こちらはコードを書いて画面を作成するやり方です。
JavaScript を使った処理を入れられるので、ある項目を入力したときに他の項目の値を変えるなど、より便利な画面にできます。
今までの経験上 Lightning Web Component を使えばユーザの要望は大体叶えられます。
最終手段ですね。
他のやり方に比べると時間がかかりますが、基本的に lightning-record-edit-form を使って項目を並べていくだけなので、慣れれば工数はそんなにかかりません。どちらかと言うと技術の習得時間がかかるという感じでしょうか。
コメント