LoginSignup
1
1

More than 1 year has passed since last update.

salesforce:複数の取引先責任者が紐づく単一の活動(Todoや行動)を画面フローで作成する

Posted at

salesforceには一つの活動に対して複数の取引先責任者を紐づける機能が備わっています。
普通に標準機能で活動を記録する場合は特に難しい事はありません。

しかし、活動の記録を色々カスタマイズするために画面フローで行おうとしたときに、
ちょっと詰まってしまいました。

と言う事でこれをどう解決したかを記録しておきます。

先にやっておく事

shared activate機能の有効化

一つの活動に複数の取引先責任者を紐づけるには、機能の有効化が必要です。
設定画面から「活動設定」を選んで以下の部分にチェックを入れます。
スクリーンショット 2022-12-16 145211.png
ここにある通り無効化は自力で出来ないので、有効化する前にちゃんと考えてやってみてください。

ダミーで適当なオブジェクトに取引先責任者への参照関係を作っておく

フローの中ではTodoオブジェクトの取引先責任者項目(名前項目(WhoId))は使えません。
しかし、レコードをルックアップする画面コンポーネントをフロー内に作るには、
どこかのオブジェクトにそのレコードへの参照関係がないといけません。(これ、めんどいなーと思うんですが)
なので、とりあえず的にどこかに作ります。(あるなら既存の参照関係を使っても問題ないと思います。)
スクリーンショット 2022-12-16 145815.png
とりあえず、今回はこんな感じに作りました。

TodoとTodoリレーションと取引先責任者

Todoに取引先責任者を複数紐づけるという事は多対多リレーションなので、
連結オブジェクトが存在します。
その連結オブジェクトがTodoリレーションです。(行動の場合は行動リレーション)
プレゼンテーション1.jpg
と言う事なので、このTodoリレーションを作っていくのが今回のミッションです。

分かる人はここまで読めば十分だと思います。

後はタラタラと画面フローを作成していく説明です。

画面フローの全体像

スクリーンショット 2022-12-16 153920.png

こんな感じで作っていきます。

レコード変数を作っておく

以下のように、Todoリレーションの単一レコード変数とレコードコレクション変数を作っておきます。
スクリーンショット 2022-12-16 154257.png
スクリーンショット 2022-12-16 154340.png

入力画面

スクリーンショット 2022-12-16 153033.png
項目は適宜必要に応じて作るとして、今回重要なのはこの取引先責任者のコンポーネント。
スクリーンショット 2022-12-16 153228.png
画像の通り、最初に作ったダミーの参照関係のオブジェクトAPI名と項目API名を指定します。
で、最大選択数を記入。ここにいれた数字分だけ取引先責任者を紐づけられます。今回はとりあえず10人までとしました。

Todoを作成

画面で入力した項目を適当に入れていけばいいんですが、
ここでは一旦取引先責任者項目は触りません。
スクリーンショット 2022-12-16 153832.png

ルックアップで選択した取引先責任者IDでループ

スクリーンショット 2022-12-16 154105.png
先ほど画面のルックアップで選択した取引先責任者のIDはコレクション変数に格納されるので、
これでループします。

変数に参照先のIDを割り当てる

image.png
Todoリレーションの単一レコード変数で、TodoIDに先ほど作ったTodoレコードのID、リレーションIDに今ループしている取引先責任者IDを代入します。

コレクション変数に追加

image.png
代入された単一レコード変数をコレクション変数に追加。
このループを回して、Todoリレーションのコレクションを完成させます。

Todoリレーションレコードを作成

image.png
出来上がったコレクション変数でレコード作成してOK。

動かしてみる

image.png
image.png
こんな感じで複数の取引先責任者を選べます。

image.png
実行してTodoを作成すると、このように複数の取引先責任者が登録されています。

連結オブジェクトの存在が分かったらまあ大した話でもなかったのですが、
最初結構「あれ?」ってなったので投稿させてもらいました。

※親分、代官、和尚、ご出演ありがとうございました。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1