画面フローとサブフロー:レコードリストからコピーを作成 Part1

画面フローとサブフロー:レコードリストからコピーを作成 Part1

フローのレコード選択肢やらサブフローやら、使ってみたかったんです。 画面フローからコピーレコードを作成します。
画面フローとサブフロー:レコードリストからコピーを作成 Part1
54
画面フローとサブフロー:レコードリストからコピーを作成 Part1
ちくわ
2023/12/28 10:04:37

こんにちは、ちくわ です。

IT業界、Salesforceともに未経験でした。

そんなビギナーから細やかな知識共有になります。

同じようにSalesforceを勉強中、認定アドミニストレーターを目指しています!なんて方のお役に立てばと思います。



【今回のテーマ】

画面フローとサブフローを使って、レコードリストからコピーを作成してみよう!

より詳しく言うと、

取引先ページから既存の商談レコードを元レコードとして選択

一部項目は新規入力出来るようにし、その他は元データが引き継がれて作成



作成しようと思ったきっかけは、

フローのリソースで見つけた"レコード選択肢セット"とやらと

"サブフロー"を使ってみたかったからです。。


なお、こちらのブログ記事を参考にさせていただきました。

気になっていた要素が同時にできる&シンプルそう!ということで。

英語の記事ですが、翻訳機能でなんとかなりそうだったので(Google翻訳ありがとう)

Accidental Coder - A Salesforce Blog My Salesforce Experiments >Screen Flows | Clone Records using Flows



あくまで学習用として作成しています。
細かなユースケースや考慮事項などは、別途検討する必要がある旨ご留意ください。


【設定の大まかな流れ】

①画面フローを設定する(元レコード選択画面) ※本記事はここまで

②自動起動フローの設定(コピーを作成) ※次回

③画面フローの設定からサブフローをつなげる ※次回


【完成形】

・取引先レコードページ


①選択リストをクリックすると

 既存の商談レコードが表示されます








②画面フローで一部項目は新しい値を

 入力できるように設定








③商談レコードが作成










④商談名、完了予定日、フェーズ、確度は新しい値に。
その他は元のレコード情報が引き継がれています。














・画面フロー


・サブフロー(自動起動フロー)



【考え得るユースケースやメリット?】

既存レコードがリストで一覧表示され、希望するレコードを選択し迅速にコピーできる

尚且つタイトルなど一部項目は新しい値にしたい時 などかな?



【では設定】

①画面フロー

1.  設定、フロー、新規フローを開いて「画面フロー」を選択



2. レコード変数「recordId」の作成 ※必ず行ってください
 取引先レコードの情報を受け取り、
コピーを作成するための情報の入れ物となる変数です

 Summer '20 以降、Lightning アプリケーションビルダーのレコードページで

 フローを設定している場合
  [レコードのすべての項目値をフロー変数に渡します] を選択するだけで
 すべてのレコードの詳細と項目値がこの入力変数に自動的に渡されます
◇ SALESFORCE ヘルプ >ドキュメント >SALESFORCE SUMMER '20 リリースノート >Lightning ページまたはクイックアクションからフローを起動するときにレコードを渡す 

・ツールボックスから「新規リソース」を選択


・リソース種別:変数
 API参照名:recordId ※必ずこのAPI参照名にしてください。Iだけ大文字です。
 データ型:レコード
 複数の値を許可(コレクション):チェックしない
 オブジェクト:取引先
 フロー外部での可用性:「入力で使用可能」にチェック ※レコードページからの値を受け入れるためです。必ずチェックしてください。

SALESFORCE ヘルプ > ドキュメント > SERVICE CLOUD > recordId の作成 


3.  コピー元の商談を選択できるように、画面要素を作成します

・開始の下の、+マークから「画面」要素を追加

 画面の表示ラベル、API名は必須入力です 

 ※API名には命名規則を設けると保守性が高まります

 ※レイアウトは自動レイアウトで進めさせていただいてます

 


左側のコンポーネントから、「選択リスト」を選択



・任意の表示ラベル、API参照名を入力

 データ型:テキスト

 ユーザーが複数のオプションを選択できるようにする:いいえ






・選択肢を設定にて

新規選択肢リソースを選択・作成します












 リソース種別:レコード選択肢セット

 任意のAPI参照名を入力

 オブジェクト商談(選択したオブジェクトのレコードが、選択リストで表示されます)

 条件の要件:すべての条件に一致(AND)

 項目:AccountId 取引先ID

 演算子:次の文字列と一致する

 値:レコード(単一)変数のrecorId>Id 取引先ID を選択



・下にスクロールし、各選択肢を設定

 各選択肢の表示ラベルと値にどの項目を使用するかを設定します

 選択肢表示ラベル:Name 商談名※生成された選択肢をユーザーが区別するための項目を選択します
 データ型:テキスト
 選択肢の値:Id 商談ID 
※実行時にユーザーがこの選択肢を選択したときに保存される項目の値を決定します。

SALESFORCE ヘルプ > ドキュメント > ビジネスプロセスの自動化 > フローのリソース: レコード選択肢セット



・完了を押します

 今作った選択肢リソースがコンポーネントの「選択肢」に

 入っていることを確認できればOKです

 取引先に紐づく商談レコードが表示されるよう設定できました


なお、先ほどの選択肢セットの編集画面にて

表示レコードの条件をより細かくし、表示件数の絞り込みを行ったり

「レコードの並び替え」から、昇順/降順、選択肢の最大数も設定可能です



4.  ユーザーが選択した商談レコードのデータを取得する要素を作成します

・画面要素の下に、「レコードを取得」要素を追加

 任意の表示ラベル、API参照名を入力

 オブジェクト:商談


・商談レコードを絞り込みとして

 条件の要件:すべての条件に一致(AND)

 項目:Id 商談ID

 演算子:次の文字列と一致する

 値:画面コンポーネントで設定した、レコード選択肢リスト

 商談レコードを並び替え:並び替えなし

 保存するレコード数:最初のレコードのみ

 レコードデータの保存方法:すべての項目を自動的に保存



5.  コピー元のデータ値から新しい値に書き換える画面要素を追加します

・レコードを取得要素の下に、「画面」要素を追加

 任意の表示ラベル、API参照名を入力


・入力コンポーネントより、新しく値を設定したい項目のデータ型に沿ってコンポーネントを配置します。

 例)商談名 項目はテキスト型なので、テキストコンポーネントを選択
   完了予定日 項目は日付型なので、日付コンポーネントを選択 等

 ※項目のデータ型については
 オブジェクトマネージャー>商談>項目とリレーション にて確認できますよ

・各コンポーネントで

 表示ラベル、API参照名を入力

 必須:チェックをつける
 ※デフォルト値は任意です










なお、フェーズ項目については少し追加手順があります!

 選択肢を設定にて、選択肢を指定しなければいけません。


コンポーネントの種類:選択リスト
 選択肢:新規選択肢リソース













・リソース種別:選択リスト選択肢セット

 任意のAPI参照名を入力 例)selectset_OppSatge

 オブジェクト:商談
 データ型:選択リスト
 項目:StageName フェーズ
 並び替え順:項目のデフォルトの順序


選択肢のなかに、作成した選択肢セットが表示されていることを確認します
完了を押して、フローを保存したらOKです。未だ有効化はしないでください。


一旦お疲れ様でした…!
次回、このフローから繋がるサブフローを作成して完成となります。
フローは無事に動くとやはり面白いので、辛抱強く試してみましょう…!


gilde techにはこの他にもSalesforceに関する便利な記事が

多数展開されていますので是非ご登録ください^^



関連記

実験:フローで取引先を【関連情報と共にコピー】してみた

「フローで取引先を【関連情報と共にコピー】してみた」の「取引先責任者」編



gilde tech(for Salesforce)」に入会しませんか?
登録すると、「gilde tech」に掲載されているSalesforceのノウハウを全部閲覧できるだけでなく、自分が知っている知識を発信し、他の会員と交流することもできます。
またSalesforceの知識習得に役立つイベント情報も得ることができます。
是非ここで得た知識を業務に活かしてください!
54
コメント