Skip to main content

こんにちは! 

営業メンバーからの依頼です。 

商談の活動「活動記録」(ToDo)のリストビュー上で、活動した内容をコメント作成・追記したいとのリクエストがあり、リストビューに画面フローを構築すればできそうだ というところまでは確認できているのですが、如何せん画面フローの知識が乏しく、お知恵をお借りしたいです。 

 

#Trailhead Challenges  #Trailhead  #Salesforce Developer  #Flow

1 answer
  1. Today, 3:46 PM

    和人様 

     

    こんにちは。リストビュー上で画面フローを使ってコメント作成・追記を行う実装は可能です。以下、標準機能のみで完結する構成で解説します(今回は「1件ずつコメントを追記する」パターンを前提とし、複数選択して一括処理したい場合の応用も併記します)。 

     

    ■ 全体構成 

    1. スクリーンフロー(画面フロー)を作成 

    2. Task(活動記録)オブジェクトの リストビューボタン からこのフローを起動 

    3. フローで対象レコードのIDを受け取り、コメント入力用の画面を表示、既存の内容に追記して更新 

     

    ■ フロー構築手順 

     

    1. 「新規フロー」→「画面フロー」を選択 

     

    2. 変数を作成 

       ・名前: recordId(1件選択の場合)または ids(複数選択チェックボックスの場合) 

       ・データ型: テキスト(recordIdの場合)またはテキストのコレクション(idsの場合) 

       ・「入力のみで使用可能にする」にチェック 

       ※ この変数名は仕様として決まっており、リストビューの詳細ページボタンからは「recordId」、リストビューのチェックボックス選択(一括処理)からは「ids」という変数名で自動的にIDが渡されます。 

       参照:

    https://help.salesforce.com/apex/HTViewHelpDoc?id=platform.flow_ref_elements_screencmp_action_button.htm

     

     

    3. 「レコードを取得」要素を追加 

       ・オブジェクト: Task 

       ・条件: Id が {!recordId} と等しい 

       ・「複数のレコードを取得するように選択されている場合のみ、複数レコードを自動的に格納」のオプションは今回は単一取得でOK 

       ・取得した Description(活動内容)などの既存フィールドをそのまま画面に引き継ぎます 

     

    4. 「画面」要素を追加 

       ・長文テキストの入力コンポーネントを配置(例: 「追記コメント」) 

       ・初期値に、手順3で取得した既存の Description の内容を表示させておくと「追記」らしくなります 

         例: {!Get_Task.Description} & " 

     

    " & (ここにユーザー入力用の空欄を用意) 

       実際には「既存内容を表示する読み取り専用テキスト」+「新規コメント入力欄」の2つに分けたほうが、ユーザーが誤って過去の記録を消してしまうミスを防げます 

     

    5. 「代入」要素を追加 

       ・新しいDescriptionの値 = 既存のDescription & 改行 & 日時 & ユーザー名 & 新規コメント入力内容 

       ・{!$Flow.CurrentDateTime} や {!$User.FirstName} などのグローバル変数を使うと「誰がいつ追記したか」が残せます 

     

    6. 「レコードを更新」要素を追加 

       ・対象: 手順3で取得したTaskレコード 

       ・Description項目に手順5で組み立てたテキストを設定 

     

    7. フローを保存・有効化 

     

    ■ リストビューへのボタン設置手順 

     

    1. 設定 → オブジェクトマネージャ → タスク(Task)を開く 

    2. 「ボタン、リンク、およびアクション」→「新規ボタンまたはリンク」 

    3. 表示種別: 「リストボタン」、コンテンツソース: 「URL」 

    4. URL欄に以下を設定: 

       /flow/あなたのフローAPI名?retURL=/lightning/o/Task/list 

     

    5. 保存後、「検索レイアウト」または「リストビューボタンレイアウト」の編集画面で、作成したカスタムボタンを「選択されたボタン」に追加して保存 

     

    参照(同じ仕組みの公式標準コンポーネント解説): 

    https://help.salesforce.com/apex/HTViewHelpDoc?id=platform.flow_ref_elements_screencmp.htm

     

     

    ■ 補足(複数レコードへの一括コメント追記がしたい場合) 

    手順2の変数を「ids(テキストのコレクション)」にし、手順3を「ループ」要素で回して1件ずつ同じ処理を繰り返す構成にすれば、リストビューでチェックボックスにより複数選択→一括コメント追記も実現できます。この場合はガバナ制限(SOQL・DML回数)に注意し、ループ内では都度Get Recordsを呼ばず、事前に一括取得してからループするのが定石です。 

     

    まずは「1件ずつ追記」の構成から作ってみて、動作確認できたら複数選択対応に拡張するのがおすすめです。不明点があれば、どのステップで詰まったか教えてください。

0/9000