Administrator

【Salesforce】ClassicとLightningの添付ファイル わかりやすくまとめました

Administrator
この記事は約3分で読めます。

こんにちは、アンダーソンです。
今回はタイトル通り、添付ファイルについてです。
業務で添付ファイルをみることがあったんですが、
長いことLightningに触れていなかったためずっとAttachmentを探しても
見つからず、途方にくれると言うことがありました。

ということで備忘録も兼ねて添付ファイルを整理しておきたいと思います。

スポンサーリンク

Classicの添付ファイル

Classicでは添付ファイルは
Attachmentオブジェクトに格納されます。

実際に試してみましょう。

Classic画面から適当なレコードにスクリーンショットを添付してみました。
これを開発者コンソールからSOQLで検索してみます。

ちゃんととれてますね。
ちなみに使ったSOQLはこちらです。

SELECT Id,name FROM Attachment

Lightningの添付ファイル

では次にLightning画面から違うレコードにちがうファイルをアップデートしてみます。

さてでは先ほどと同じようにまずAttachmentで検索してみます。

先ほどと変わらず一件のみでした。
ではLightningの添付ファイルはどこにあるんでしょうか。
Lightningで添付ファイルをアップデートすると
ContentDocument
というオブジェクトに格納されます。
ではみてみましょう。

検索は下記SOQLを使いました。

SELECT Id, Title FROM ContentDocument

これで大丈夫ですね。
しかしながら、これだとレコードに紐づいている
添付ファイルを取得ってのができない。。。
ってことで調べたところ次のようにするのがいいみたいです。

両方の添付を参照する

CombinedAttachmentsというオブジェクトがあるようでそれを参照します。
ただこのオブジェクトは単一での参照はできないため、
サブクエリ的な感じで取得します。
先ほどのAttachmentを添付したレコードにLightningから添付ファイルを
追加してみました。

上がLightningからでしたがClassicからです。
ちなみに挙動は
Lightningの分はそのページを覆いかぶさるようにプレビューが出るのに対して、
Classicでの登録分は別ページでプレビューされます。

では本題に戻って、SOQLで取得してみましょう。

取れました!
試したSOQLは下記になります。

SELECT Name, (SELECT Title FROM CombinedAttachments) FROM Test1__c

いかがでしたでしょうか。
今回はClassicとLightningの添付ファイルについてまとめてみました。
僕自身まだ手探な状態なのでまたいろんなことを調べて勉強次第
追記もしくは記事にさせていただきます!

Salesforceとは?まずは基礎からはじめましょー!

Salesforceについてもっと知りたいことがある方は他の記事も是非ご覧ください。

標準機能でできる事をまとめています。

Salesforceに関するご質問などございましたら是非ご相談ください。