LoginSignup
5
5

More than 1 year has passed since last update.

Salesforceの画面フローでレコードとそのレコードの添付ファイルを一画面で作成する

Posted at

Salesforceの便利機能「画面フロー」

レコード作成を関連オブジェクトのレコードや活動まで一気に一画面で行えるように出来るなど、とても便利です。

で、レコードに写真や報告書などの添付ファイルを付けたい時があると思うんですが、
通常はレコードを一旦作成して、その後添付ファイルをアップします。

でも添付ファイルのアップがほぼ必須のような状況では、これもメンドクサイ!

画面フローで一気にできればラク!!
・・・なんですが、調べると意外とやり方が出て来なくてかなり苦労しました。

と言う事で、自分の備忘録としてQiita初投稿でこのやり方をアップしたいと思います。

全体像はこんな感じです。
スクリーンショット 2022-04-13 182021.png
スクリーンショット 2022-04-13 182038.png
添付ファイルは複数アップロードを許可するようにしているのでループ処理が入っています。
単一のみであればループ処理は必要ありません。
でも、このアップロードって一気にファイルをドラッグ&ドロップできるので、結構便利なんですよね。

で、画面要素にこのように「ファイルのアップロード」コンポーネントを設置します。
スクリーンショット 2022-04-13 182145.png

この次がポイントで、このように「ファイルのアップロード」→「詳細」→「手動で変数を割り当て」をチェック→「コンテンツドキュメントID」にテキストコレクション変数(今回は"TextCollectionContentsDocumentId")を割り当てます。
スクリーンショット 2022-04-13 182256.png

添付ファイルの処理の前に、先に添付される側のレコードを作成しておきます。
スクリーンショット 2022-04-13 182547.png

先ほどコンテンツドキュメントIDを割り当てたテキストコレクション変数でループ処理を行います。
スクリーンショット 2022-04-13 182706.png

ループの中で割り当て処理に使うレコード変数を作成しておきます。
レコード変数は「コンテンツドキュメントリンク」というオブジェクトで作成します。
単一変数とコレクション変数を作っておきます。
スクリーンショット 2022-04-13 183240.png
スクリーンショット 2022-04-13 183517.png

ループ内の割り当てで、
コンテンツドキュメントリンクの単一レコード変数の「コンテンツドキュメントID」にループの現在の値、「リンク済みエンティティID」に先ほど作成した添付される側のオブジェクトIDを割り当てます。
スクリーンショット 2022-04-13 183742.png

ここまでくれば後は簡単ですね。

今色んなIDの値を割り当てられた単一レコード変数をコレクション変数に追加します。
スクリーンショット 2022-04-13 184039.png

最後はループの外でレコードコレクション変数からレコードを作成すれば完成です。
スクリーンショット 2022-04-13 184204.png

出来てみるとなんてことはないのですが、
画面要素内のファイルのアップロードコンポーネントで、手動で変数を割り当てないといけないのにドはまりしました。
ていうか、なんで上にその項目あるねん!!
そこで変数割り当てたらイケると思うやんッ!!

あと、コンテンツドキュメントリンクっていうオブジェクトがある事にも中々気づかなくて困りました。

誰かのお役に立てば幸いです。

5
5
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
5
5