{{i18n("button.posting")}}
画面フローとサブフロー:レコードリストからコピーを作成 Part1
フローのレコード選択肢やらサブフローやら、使ってみたかったんです。 画面フローからコピーレコードを作成します。
ちくわ
{{getTime(record.UpdatedTime)}}
こんにちは、ちくわ です。
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に関する便利な記事が
多数展開されていますので是非ご登録ください^^
関連記
事
実験:フローで取引先を【関連情報と共にコピー】してみた
「フローで取引先を【関連情報と共にコピー】してみた」の「取引先責任者」編
{{i18n("articles.view.premium")}}
{{cta.Content}}
{{cta.ButtonName}}
{{tag}}