少し前の話になりますが、Spring'20でリリースとして紹介された、カスタムボタンまたはリンクでデフォルト値を指定しする方法で、元のレコードの取引先名をデフォルト値として指定するリンクを試してみました。
◇ Salesforce Spring ’20 リリースノート > Salesforce 全体 >デフォルト項目値を含むレコードの作成ページへの移動こちらで紹介されているサンプル数式です。
/lightning/o/Account/new?defaultFieldValues=
Name={!URLENCODE(Account.Name)},
OwnerId={!Account.OwnerId},
AccountNumber={!Account.AccountNumber},
NumberOfEmployees=35000,
CustomCheckbox__c={!IF(Account.SomeCheckbox__c, true, false)}
取引先名、取引先所有者、従業員数、カスタムチェックボックスの値を指定していますね。
最初なので、まずはこのまま試してみた結果を載せます。
応用(数値項目や日付項目の注意事項など)は今後載せる予定です。
設定方法
1.取引先オブジェクトの[ボタン、リンク、およびアクション]の設定ページを開きます。
[【歯車】>オブジェクトマネージャ>取引先(③で検索し、表示されるオブジェクト名をクリック)>ボタン、リンク、およびアクション]の順にクリックします。
2.右上の【新規ボタンまたはリンク】をクリックします。
3.次のようにリンクを作成します。
表示ラベル:取引先コピー
名前:CustomLinkCopyAc
表示の種類:詳細ページリンク
動作:現在のウィンドウにサイドバー付きで表示
内容のソース:URL
/lightning/o/Account/new?defaultFieldValues=
Name={!Account.Name},
OwnerId={!Account.OwnerId},
AccountNumber={!Account.AccountNumber},
NumberOfEmployees=35000,
CustomCheckbox__c=true
※サンプルをほぼそのまま貼り付けました。チェックボックスはこのために作りました!
4.【構文を確認】をクリックしてエラーがないことを確認したら、【保存】をクリックします。
5.ページレイアウトへ作成したリンクを追加します。
パレットの[カスタムリンク]をクリックし、プレビューのカスタムリンクの位置へ作成した「取引先コピー」リンクをドロップし、レイアウトを保存します。
6.リンクの挙動を確認します。
レコードページの下のリンクをクリックすると……
指定したデフォルト値が反映されています。
注意事項
実は、サンプルをそのまま貼り付けてもエラーになってしまい、うまく動きませんでした。
あれこれ試行錯誤して、
・URLENCODEを削除
・各項目のAPI参照名の前のスペースを削除
することにより、何とかエラーにならず画面が表示されるようになりました。
感想
ClassicからLightningへの移行のハードルにもなっている、デフォルト値の指定や値の受け渡し。
カスタムアクションで値を定義することもできますが、上限があります。
Lightningで今回のリンクも手軽に設定できればいいのですが、なかなかスムーズにいきません。
今後も検証を行っていきます。
参考
◇Salesforce ヘルプ > コードではなくてクリックによる SALESFORCE の拡張 >デフォルト項目値を含むレコード作成ページの起動