2026.07.09
【Spring '26新機能】LWC不要!画面フローのデータテーブル「インライン編集」で作る商談金額シミュレーター
目次
via pixabay.com
はじめに:画面フロー開発者待望のアップデート
現場のユーザーから、「Excelみたいに、一覧画面からそのままサクサク値を編集して保存したいんだよね」と要望を受けた経験はありませんか?
しかし、これまでの画面フローではデータテーブル上の値を直接書き換えることができず、LWCとApexを使ってカスタム画面を開発する必要がありました。
Spring'26のリリースにはさまざまなアップデートが含まれていますが、画面フローを愛用するすべての開発者・アドミニストレーターにとって待望とも言える機能がついに解禁されました。それが、画面フローにおけるデータテーブルの「インライン編集」です。
本記事では、このSpring '26の目玉機能である「インライン編集」の基本的な使い方を解説します。さらに後半では、既存の機能と組み合わせた応用テクニック(画面遷移なしのリアルタイム計算)まで深掘りしてご紹介します。
しかし、これまでの画面フローではデータテーブル上の値を直接書き換えることができず、LWCとApexを使ってカスタム画面を開発する必要がありました。
Spring'26のリリースにはさまざまなアップデートが含まれていますが、画面フローを愛用するすべての開発者・アドミニストレーターにとって待望とも言える機能がついに解禁されました。それが、画面フローにおけるデータテーブルの「インライン編集」です。
本記事では、このSpring '26の目玉機能である「インライン編集」の基本的な使い方を解説します。さらに後半では、既存の機能と組み合わせた応用テクニック(画面遷移なしのリアルタイム計算)まで深掘りしてご紹介します。
画面フロー作成時の注意点
本題に入る前に、要件定義の段階で必ず押さえておくべき「インライン編集の制限事項」を共有しておきます。非常に強力な機能ですが、現時点では完全にLWCを代替できる万能ツールというわけではないという点に注意が必要です。
具体的には、インライン編集が可能なデータ型に制限があります。サポートされているデータ型と、対象外となるデータ型の一覧は以下の通りです
【〇 編集可能な項目】
テキスト、メール、電話、数値、通貨、パーセント、チェックボックス
【× 編集不可な項目】
選択リスト、参照関係(ルックアップ)、日付、ロングテキストエリア など
これらの制限を踏まえた上で、本記事で扱うユースケースを参考にしていただければと思います。
具体的には、インライン編集が可能なデータ型に制限があります。サポートされているデータ型と、対象外となるデータ型の一覧は以下の通りです
【〇 編集可能な項目】
テキスト、メール、電話、数値、通貨、パーセント、チェックボックス
【× 編集不可な項目】
選択リスト、参照関係(ルックアップ)、日付、ロングテキストエリア など
これらの制限を踏まえた上で、本記事で扱うユースケースを参考にしていただければと思います。
今回実現するユースケース:商談金額シミュレーター
取引先画面から、紐づく複数の商談の「金額」をデータテーブル形式で編集し、さらに、保存する前に「合計金額」がどうなるかをリアルタイムでシミュレーションする、というユースケースで作成していきます。
完成した画面のイメージはこんな感じです!
完成した画面のイメージはこんな感じです!
商談を選択し、合計金額計算ボタンを押下すると、編集後の商談の合計金額が表示されます。
「更新」ボタンを押すと、編集された「金額」項目が更新されます。
このような画面を、画面フローと自動起動フローのみを用いて作成してみたいと思います!
基礎編:フローで「インライン編集&一括保存」を作る
まずは、Spring'26でリリースされたデータテーブルのインライン編集の基本的な実装方法を見ていきましょう。
今回作成する画面フローの全体図はこのような形になります。
ステップ①:レコードを取得する
まずは、画面フローを配置する取引先のレコードを取得します。
条件は以下の通りです。
項目:取引先ID
演算子:次の文字列と一致する
値:recordId(入力変数)
条件は以下の通りです。
項目:取引先ID
演算子:次の文字列と一致する
値:recordId(入力変数)
続いて、先ほど取得した取引先レコードと紐づく、複数の商談レコードを取得します。
条件は以下の通りです。
項目:取引先(AccountId)
演算子:次の文字列と一致する
値:{!Get_Account.Id}
保存するレコード数は「すべてのレコード」を選択します。
条件は以下の通りです。
項目:取引先(AccountId)
演算子:次の文字列と一致する
値:{!Get_Account.Id}
保存するレコード数は「すべてのレコード」を選択します。
ステップ②:画面を作成する
今回作成するフローの肝である、画面要素を作成していきます。
画面にデータテーブルコンポーネントを配置します。
ソースコレクションは、先ほど取得した商談コレクションを指定します。
列の設定ですが、今回は「商談名(Name)」、「フェーズ(StageName)」、「金額(Amount)」の3つにしています。
「金額」項目は編集できるようにしたいので、「列値を編集」にチェックを入れておきます。
これで、データテーブルのインライン編集が可能になりました!
画面にデータテーブルコンポーネントを配置します。
ソースコレクションは、先ほど取得した商談コレクションを指定します。
列の設定ですが、今回は「商談名(Name)」、「フェーズ(StageName)」、「金額(Amount)」の3つにしています。
「金額」項目は編集できるようにしたいので、「列値を編集」にチェックを入れておきます。
これで、データテーブルのインライン編集が可能になりました!
ステップ③:編集済みの商談レコードを更新
最後に、データテーブル上で編集した値を更新します。
更新するレコードは、画面上のデータテーブルから「Edited Rows」という出力変数を選択して渡すだけ!
更新するレコードは、画面上のデータテーブルから「Edited Rows」という出力変数を選択して渡すだけ!
これでデータテーブルでのインライン編集が可能な画面フローが作成できました!
これまではLWCを使わなければ実現できなかった機能が、フローだけでこんなに簡単に作成できてしまいました。
これまではLWCを使わなければ実現できなかった機能が、フローだけでこんなに簡単に作成できてしまいました。
応用編:アクションボタンで作る「リアルタイム再計算」
応用編として、データテーブルで編集した値を保存する前に、編集後の合計金額を計算して表示する機能を作成してみたいと思います。
こちらももちろん標準機能だけで作成可能です!
自動起動フローの全体図はこちらです。
こちらももちろん標準機能だけで作成可能です!
自動起動フローの全体図はこちらです。
ステップ①:変数を作成する
まず、新しく自動起動フローを作成します。
要素の作成前に、入力変数と出力変数を作成しておきます。
①入力変数(コレクション)
データ型:レコード
オブジェクト:商談
「入力で使用可能」にチェック
②出力変数
データ型:通貨
「出力で使用可能」にチェック
要素の作成前に、入力変数と出力変数を作成しておきます。
①入力変数(コレクション)
データ型:レコード
オブジェクト:商談
「入力で使用可能」にチェック
②出力変数
データ型:通貨
「出力で使用可能」にチェック
ステップ②:合計金額を積み上げる
合計金額を計算するアクションボタンを作成するため、ループと割り当て要素を使用します。
ループ要素を配置し、コレクション変数には先ほど作成した入力コレクション変数を選択します。
ループの中に割り当て要素を配置し、変数を以下のように設定します。
変数:先ほど作成した出力変数
演算子:追加
値:ループの現在の項目.Amount
ループ要素を配置し、コレクション変数には先ほど作成した入力コレクション変数を選択します。
ループの中に割り当て要素を配置し、変数を以下のように設定します。
変数:先ほど作成した出力変数
演算子:追加
値:ループの現在の項目.Amount
これで保存前に合計金額を積み上げて表示するフローができました!
ステップ③:アクションボタンを設置する
最後に、作成した自動起動フローを、基礎編で作成した画面フローにアクションボタンとして設置します。
先ほど作成した画面フローに戻り、アクションボタンを画面上部に配置します。
画面アクションの設定内で、入力値をデータテーブルの「選択された行」にします。
ここで「Edited Rows」を選択すると、データテーブル内で編集された値のみが入力変数に入ることになるため、ケースに応じて使い分けると良いかと思います。
先ほど作成した画面フローに戻り、アクションボタンを画面上部に配置します。
画面アクションの設定内で、入力値をデータテーブルの「選択された行」にします。
ここで「Edited Rows」を選択すると、データテーブル内で編集された値のみが入力変数に入ることになるため、ケースに応じて使い分けると良いかと思います。
さらに、アクションボタンを押下すると画面の下部に合計金額が表示できるよう、表示テキストを設定します。
表示テキストに挿入するリソースは、画面アクション.結果.出力変数です。
今回はボタンを押下すると表示されるようにしたいので、コンポーネントの表示も設定しておきます。条件は以下の通りです。
リソース:画面要素>画面アクションから「合計金額計算」>出力から「結果」>出力変数
演算子:次の文字列と一致する
値:True
表示テキストに挿入するリソースは、画面アクション.結果.出力変数です。
今回はボタンを押下すると表示されるようにしたいので、コンポーネントの表示も設定しておきます。条件は以下の通りです。
リソース:画面要素>画面アクションから「合計金額計算」>出力から「結果」>出力変数
演算子:次の文字列と一致する
値:True
これで今回の設定は完了です!
複雑な開発がなくとも、複数の商談をまとめて編集し、さらに保存前の値を用いて合計金額を積み上げることができました。
最後に実際に動かしてみましょう。
複雑な開発がなくとも、複数の商談をまとめて編集し、さらに保存前の値を用いて合計金額を積み上げることができました。
最後に実際に動かしてみましょう。
作成したフローを実際に動かしてみる
現在テスト商談001、テスト商談002の二つの商談があり、テスト商談001の金額のみ変更します。
2つの商談を選択し、合計金額計算ボタンを押下すると、画面下部に編集後の合計金額が表示されます。
「更新」を押下すると、テスト商談001の金額が書き換えられていることがわかります。
おわりに
いかがでしたでしょうか?
Spring '26からの新機能を使えば、これまでLWCが必須だったデータテーブルでのインライン編集が、お手軽に画面フローで実現できるということがお分かりいただけたかと思います。
もちろん前述の通り、編集できるデータ型が限られるなどの制限はまだ残っています。
しかし、要件をこの機能の範囲内にうまくフィットさせることができれば、最も費用対効果が高く、スマートな選択肢になり得るというのが、今回のアップデートの最大の魅力です。
現在はまだ発展途上の部分もありますが、今後のアップデートで選択リストへの対応など制限が緩和されていけば、さらに強力な機能へと進化していくはずです。
まずは一度Sandbox環境で触ってみて、自社の業務要件にどう適用できるか、ぜひ検証してみてください!本記事が、皆さんの日々のSalesforce開発や業務改善のヒントになれば幸いです。
Spring '26からの新機能を使えば、これまでLWCが必須だったデータテーブルでのインライン編集が、お手軽に画面フローで実現できるということがお分かりいただけたかと思います。
もちろん前述の通り、編集できるデータ型が限られるなどの制限はまだ残っています。
しかし、要件をこの機能の範囲内にうまくフィットさせることができれば、最も費用対効果が高く、スマートな選択肢になり得るというのが、今回のアップデートの最大の魅力です。
現在はまだ発展途上の部分もありますが、今後のアップデートで選択リストへの対応など制限が緩和されていけば、さらに強力な機能へと進化していくはずです。
まずは一度Sandbox環境で触ってみて、自社の業務要件にどう適用できるか、ぜひ検証してみてください!本記事が、皆さんの日々のSalesforce開発や業務改善のヒントになれば幸いです。
参考
55 件


ポスト

