小なり(<)、大なり(>)にはご注意を
画面フローの表示テキストで遭遇した事象と解決方法について記事にしました。
chirosuke
2023/11/30 09:16:16
今回は画面フローの「表示テキスト」コンポーネントに項目値を表示させるフローを作成していた方から寄せられた情報を記事にしています。
「<>」で囲まれた文字列が、右側の画面フローでは消えて表示されています。
大なり(>)がないロングテキストエリア項目はすべての文字列が消えています。

フローの画面要素の設定内容はこちらです。
文字列が消えてしまっているほうは、レコードの項目値をそのまま挿入しています。
下の二つの数式リソースを挿入しているほうは、ちゃんと項目の値を表示できています。

小なり(<)、大なり(>)がリッチテキストに表示する際に、タグとして認識されてしまっているため、以下のような数式で「<>」をHTML エンティティに変換します。

それを回避するために、さらに一手間かけ、一度プレーンテキストに設定して、画面フローの表示テキストに設定するということをやったそうです。
事象
どのような事象か見ていただくのが早いと思うので、こちらの画面をご覧ください。「<>」で囲まれた文字列が、右側の画面フローでは消えて表示されています。
大なり(>)がないロングテキストエリア項目はすべての文字列が消えています。
フローの画面要素の設定内容はこちらです。
文字列が消えてしまっているほうは、レコードの項目値をそのまま挿入しています。
下の二つの数式リソースを挿入しているほうは、ちゃんと項目の値を表示できています。
解決方法
事象でも触れていますが、数式で加工することで表示ができるようになります。小なり(<)、大なり(>)がリッチテキストに表示する際に、タグとして認識されてしまっているため、以下のような数式で「<>」をHTML エンティティに変換します。
SUBSTITUTE(SUBSTITUTE({!text}, ">", ">"), "<", "<") |
おまけ
こちらの情報提供者さんは、画面フローで表示させた値をコピーして使用する目的だったようですが、そのままコピー&ペーストをすると、リッチテキストの影響により不要な改行が入ってしまったそうです。それを回避するために、さらに一手間かけ、一度プレーンテキストに設定して、画面フローの表示テキストに設定するということをやったそうです。