via pixabay.com
はじめに
Salesforceフローの中で画面表示、レコード項目への格納時にテキストを編集して改行したい場合の方法を実践してみました!
2つの例を挙げますので、要件に合う選択をする上での一助になればと思います。
2つの例を挙げますので、要件に合う選択をする上での一助になればと思います。
処理概要
今回は「画面フロー」で、画面上に表示する場合の表示内容とレコードのテキストエリア項目に反映した場合の表示内容に関して、実装方法によってどのような違いが出るのか検証いたします。
画面フローサンプル
検証内容
案1)テキスト変数へ改行コードだけ残して置換した数式を追加して改行
案2)テキスト変数へ<br/>を追加して改行
案2)テキスト変数へ<br/>を追加して改行
前提
データ型「テキスト」の変数に値と改行を反映していきます。
テキスト変数へ改行コードだけ残して置換した数式を追加して改行
カスタム表示レベルを作成して、改行を1つ含む値を設定します。
改行コードのみとなるように文字置換を行う数式を作成します。
SUBSTITUTE({!$Label.LineBreak},"-","")
SUBSTITUTE({!$Label.LineBreak},"-","")
変数に値を割り当てる際、作成した数式を設定します。
テキスト変数へ<br>を追加して改行
変数に値を割り当てる際、改行したい箇所で"<br/>"を追加します。
"<br/><br/>"と入力することで、2行の改行を実施することが可能です。
"<br/><br/>"と入力することで、2行の改行を実施することが可能です。
検証結果
今回検証した2案は以下のような結果になりました。
カスタム表示ラベル、数式は必要になりますが、レコード項目に反映する可能性があるのであれば拡張性、保守性の観点から案1が良いかと思います。
※テキストテンプレート、数式のBR()を使用する方法もございますが、ループ処理での考慮が必要であったり金額項目のカンマが表示されなかったりして明確なデメリットがあるため、今回は割愛いたしました。
カスタム表示ラベル、数式は必要になりますが、レコード項目に反映する可能性があるのであれば拡張性、保守性の観点から案1が良いかと思います。
※テキストテンプレート、数式のBR()を使用する方法もございますが、ループ処理での考慮が必要であったり金額項目のカンマが表示されなかったりして明確なデメリットがあるため、今回は割愛いたしました。
| フロー画面 | 項目 | 備考 | |
|---|---|---|---|
| 案1 | 〇 | 〇 | 項目に改行が反映される |
| 案2 | 〇 | × | カスタム表示ラベル、数式は不要 |
画面フローでは以下のように画面表示されます。
案1と案2のどちらで改行したとしても同様の結果になります。
案1と案2のどちらで改行したとしても同様の結果になります。
レコードのテキストエリア項目には以下の値が設定されます。
案1の方法で文字列置換して改行コードのみ割り当てた場合、改行された状態で保存されます。
案2の方法で<br/>を割り当てた場合、改行されずに<br/>と表示されます。
案1の方法で文字列置換して改行コードのみ割り当てた場合、改行された状態で保存されます。
案2の方法で<br/>を割り当てた場合、改行されずに<br/>と表示されます。
おわりに
フローで改行した文字列を作成する場合の違いを検証いたしました。
フローの改行に関して検索すると情報が錯綜していたように思いますので、ぜひこの記事が目に留まり皆様の一助になりましたら幸いです。
フローの改行に関して検索すると情報が錯綜していたように思いますので、ぜひこの記事が目に留まり皆様の一助になりましたら幸いです。