こんにちは、アンダーソンです。
今回はタイトル通り、添付ファイルについてです。
業務で添付ファイルをみることがあったんですが、
長いこと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の添付ファイルについてまとめてみました。
僕自身まだ手探な状態なのでまたいろんなことを調べて勉強次第
追記もしくは記事にさせていただきます!