こんにちは!
今回は、同じパターンのレコード作成について
実装した内容のポイントを2つご紹介いたします。
親オブジェクトに対して、タスクを管理するカスタムオブジェクトが2種類あります。
このタスク管理用のレコードを作成する自動化について、異なる要件の実装を行いました。
[事例1]親レコードが作成されたら、やらなければならないタスクが決まっている場合
[事例2]親レコードの内容に応じて、テンプレートからタスクの内容をコピーしたい場合
まずは、1つめの事例です。
[事例1]親レコードが作成されたら、やらなければならないタスクが決まっている場合
Point!:レコードタイプっていうオブジェクトがあるんだね。
【前提】
・商談を参照する「商談タスク管理」というカスタムオブジェクトを作成しています。
・「商談タスク管理」ではレコードタイプを複数使用しており、タスクの種類ごとにレコードタイプを作成しています。
例)資料A作成
資料B作成
【要件】
”小規模商談”というレコードタイプの商談が作成されたら、商談タスク管理(API参照名:OppTask__c)レコードを用意されているレコードタイプの数だけ作成します。
【設定の詳細】
1.商談タスク管理オブジェクトにレコードタイプをタスク分作成

2.商談作成時のレコードトリガフローを作成
起動条件:レコードタイプ:小規模商談 の商談が作成されたとき

2-①.レコードタイプオブジェクトのレコードを取得
「レコードタイプ」のオブジェクトから各オブジェクトで作成されているレコードタイプの情報を取得できます。
(参考)オブジェクトリファレンス:RecordType・sObject種別・・・商談タスク管理(OppTask__c)・有効・・・True
2-②.①で取得されたレコードコレクション変数をループ
2-③.レコード変数(varOppTaskRecord)に割り当て

[レコード変数 (a)] varOppTaskRecord
・データ型:レコード
・複数の値を許可(コレクション):
False・オブジェクト:商談
・フロー外部での可用性:False
[割り当て]
・変数 (a) > レコードタイプID ← loopの現在の項目 > レコードID
・変数 (a) > 商談タスク管理名 ← loopの現在の項目 > 名前
・変数 (a) > 商談 ← $Record > 商談ID
2-④.③のレコード変数を レコードコレクション変数(varOppTaskRecords)に割り当て

[レコード変数 (b)] varOppTaskRecord
s・データ型:レコード
・複数の値を許可(コレクション):
True・オブジェクト:商談
・フロー外部での可用性:False
[割り当て]・変数
(b) varOppTaskRecord
s 追加 変数
(a) varOppTaskRecord
2-⑤.④のコレクション変数の値でレコードを作成

【動作の確認】
”小規模商談”レコードタイプの商談レコードを作成すると、、、商談タスク管理のレコードタイプと同じ名前・同じ数の商談タスク管理レコードが作成できました!

タスクの種類が増えても、レコードタイプを追加すればOKです!
実際の設定では・数式を使って商談タスク管理名に取引先名を追加
・タスクがソートできるようにナンバリングする項目を追加
などの設定を加えるとよさそうですね。
次に
[事例2]レコードの内容に応じて、テンプレートからタスクの内容をコピーしたい場合
Point!:レコード選択肢セットなるものを使ってみた
【前提】
Salesforceに関する要望・お問い合わせをSalesforceのカスタムオブジェクト「SFヘルプデスク」で受け取っています。対応内容を記録するタスク管理用の子レコード「SFタスク管理」を作成します。
定例で行う作業については、テンプレートを用意しており、件名、手順・注意事項が記載されています。
例)ユーザ登録
データローダ作業
【要件】
・「SFタスク管理」オブジェクトへテンプレート(API参照名:Template__c)」項目(チェックボックス型)を作成。テンプレートとして登録するレコードはTrueへ
・親レコードから アクションで画面フローを呼び出し
・コピーしたいテンプレートを選択
・必要な項目値をコピーして、レコード作成
【動作の確認】
設定詳細の解説の前に、完成後のオペレーションをご覧ください。
「SFタスク管理」を作成します。
「テンプレート」項目にチェックを入れた「ユーザ登録」と「データローダ作業」という件名のレコードを作成し、テンプレートとして登録しておきます。
(コピーしたい項目)
・件名
・ステータス
・依頼内容

1.「SFヘルプデスク」レコードから、画面フローを起動する「タスク管理作成」ボタンを押下
2.コピーしたいテンプレートを選択
3.完了
テンプレートから必要項目をコピー
起動した「SFヘルプデスク」に紐づく「SFタスク管理」レコードが作成されました。
適宜編集します。


【フローの詳細】

①スタート画面
・表示テキスト
・選択肢ルックアップ を配置
選択肢にレコード選択肢セット を設定(詳細下図)
レコード選択肢セットの中で、変数の割り当てまで行えました。便利、、

②レコード変数を割り当て

選択した選択肢以外から設定する値を割り当てます。
紐づけのため、起動したレコードIDを「SFヘルプデスク」に割り当てます
(参考)Salesforceヘルプ:recordId の作成
↑↑自動でトリガしたレコード変数を格納してくれる魔法の変数です。
③変数「varSFTaskRecord」の値からレコードを作成

④完了画面
システム改修なしで、テンプレートの修正が可能です!
実際の設定では、、、
・「テンプレート」項目は、管理者のみ表示・編集可
・テンプレートとして登録されているレコードは編集できないよう入力規則を設定
・「件名」項目のコピー処理は、テンプレートレコードで”(件名)”と設定している文字列部分について、親レコードの件名に置き換える
・テンプレートに紐づいている複数子レコードをコピー
など設定しました。
業務に合わせてカスタマイズしてみてください!