#Lightning環境化での標準画面への初期値設定についての注意点
Lightning環境でも新規登録画面遷移時にURLパラメータで初期値をプリセットすることができるようになりました。
詳しい内容については他のエンジニアさんも載せているので、そちらをご参照ください。
今回はそれらを実装する際の落とし穴を紹介します。
※意外と触れられておらず、筆者も詰まった箇所なので参考になれば幸いです。
#レコードタイプの指定時に大文字小文字に注意する
ClassicではURL上で「RecordType=[レコードタイプID]」と指定することで初期値を設定できました。
Lightning版では「recordTypeId=[レコードタイプID]」と指定することで初期値を設定できます。
ここで注意すべきなのは「recordTypeId」の記述の仕方についてです。
「RecordTypeId」「recordTypeID」「RecordTypeID」「recordTypeid」などでは正常に動作しません。
必ず大文字小文字を守って「recordTypeId」と指定してください。
※筆者はこれで数時間悩みました。
あまりこの大文字小文字について触れているエンジニアさんがおらず、
また大文字小文字を誤った状態で載せている方もいらしたので、自身と同じ詰まり方をする方が少しでも減ってくれればと考えています。
#参照系の項目について
Classicの時には、参照・主従系の項目に対して初期値を設定する場合は、対象の1つの項目に対して
「Name」「Id」の両方を設定する必要がありました。
例)
CFXXXXXXXXXXXXXXXXX={!Account.Name}&CFXXXXXXXXXXXXXXXXX_lkid={!Account.Id}
Lightningでは、対象の項目に対して「Id」のみを指定することで初期値が設定可能です。
例)
myObject__c.Account__c={!Account.Id}
#標準ボタンの動作と若干異なる?
検証した結果、下記の通りとなりました。
・標準の新規ボタンの動作
Aオブジェクトの関連リストから新規ボタン押下 ⇒ Bオブジェクトレコードの新規登録画面 ⇒ 保存 ⇒ Aオブジェクトの詳細画面に遷移
・カスタムの新規ボタンの動作
Aオブジェクトの関連リストからカスタムの新規ボタン押下 ⇒ Bオブジェクトレコードの新規登録画面 ⇒ 保存 ⇒ Bオブジェクトの詳細画面に遷移
標準のボタンではClassicにおける「saveURL=」に該当する何かが設定されているものを推測されますが、
Lightningにおける「saveURL」に相当するものが調査しても見つけられず、表示された「保存」ボタンの動作依存になっている状況です。
#最後に
初期値設定のボタンは意外と利用頻度の高い内容など思いますので、何かの参考になれば幸いです。
また継続して検証や調査はしますので、続報があればまた投稿します。