【Salesforce】【資格】デベロッパー勉強メモ：Salesforceの基本

デベロッパー試験勉強時にまとめたメモ書きです。内容が間違っていたら優しくご指摘ください。
他投稿は[デベロッパー試験に関する記事](#デベロッパー試験に関する記事)からどうぞ。

**あくまでも個人のメモ書きなので信用しすぎてはいけません。**
[参考](#参考)にSalesforce公式ページを載せていますので、最新かつ正しい情報をご確認ください。

# Sandbox
| 種類 | コピー対象 | 容量 | 更新間隔 |
|:-:|:-:|:-:|:-:|
|Full|設定とレコード|本番同様|29日|
|Partial|設定とサンプルレコード|5GB|5日|
|Developer Pro|設定のみ|1GB|1日|
|Developer|設定のみ|200MB|1日|

・更新：既存Sandboxに対して本番環境を再度コピーすること（登録データなどもリセットされる）
・FullとPartialはSandboxテンプレートを使用可能
　　※Sandboxテンプレート：どのオブジェクトをコピーできるか設定できる（関連オブジェクトは自動で選択される）
・ログイン
　　①https://test.salesforce.com
　　②https://[インスタンス名].salesforce.com　　　インスタンス名＝CS5など
　　③本番環境の設定→Sandbox→ログイン
　　※ユーザ名は　[本番のユーザ名].[Sandbox名]
・本番環境に変更があった場合はサンドボックスの更新が必要
　　※ライセンスに関しては「本番ライセンスに一致」ができる
・システムメール誤送信防止のため、メールアドレスに.invalidが付与される
・スケジュールジョブはすべて停止になる
・Sandboxプレビュー：新機能を5週間前につかえる
・Sandboxからリリース方法３つ
　　①変更セット
　　②Force.com IDE
　　③Force.com Ant移行ツール

# 組織

| 種類 | 説明 |
|:-:|:-:|
|本番組織|データにアクセスするライブユーザを持っている組織|
|Sandbox組織|本番組織上に作成された組織であり、本番組織のコピー|
|開発者組織|Developer Edition アカウントで作成された組織|
|スクラッチ組織|ソース駆動型、Dev Hub組織から作成|
|Dev Hub組織|テスト用組織を作成できる組織|

:::note info
「スクラッチ組織を作成するにはどの組織が必要ですか？」というような設問がありました。（Summer’21）
答えは「Dev Hub組織」
:::

# プラットフォームインベント
・イベント通知を配信できる機能
・作成手順
　　①定義　設定画面にて作成。拡張子は \_\_e
　　②公開　プロセスビルダー、フロー、Apex、API　等で登録
　　③登録　プロセスビルダー、フロー、Apexトリガーで登録

# SendMail
・Apex トランザクションがコミットされるまでメールは送信されない
・sendEmail メソッドをコールしているユーザのメールアドレスが送信元になる
・トランザクションあたり最大10回のsendEmail メソッドが可能→11回以上だとエラーになる

# 関数
・使用場所
　　どれでも使用可：NOW・IF・ISNUMBER　
　　数式項目とメールテンプレートのみ：IMAGE
　　入力規則のみ：VLOOKUP　
　　割り当てルール、入力規則、項目自動更新、ワークフロールール、プロセスビルダーのみ：
　　　　ISCHANGED、ISNEW、PRIORVALUE

# 宣言的機能の自動処理
| 種類 | タイミング | 作成 | 更新 | その他|
|:-:|:-:|:-:|:-:|:-:|
|ワークフロールール|レコード作成更新時|ToDoのみ|レコード本体と親|複数の時間ベースアクション|
|承認プロセス|承認申請時|ToDoのみ|レコード本体と親||
|プロセスビルダー|レコード作成更新時|任意のレコード|任意の関連レコード|Chatterへの投稿可能|
|フロー|レコード作成更新時|任意のレコード|任意のレコード|Chatterへの投稿可能|

※承認プロセスはシステム管理者と現在の承認者のみ編集可能
※フローはレコード削除も可能

# その他
・カスタムボタンおよびカスタムリンクの使用できるコンテンツ→URL、Visualforce、JavaScript
・カスタムアクション　
　　可能→レコード作成・更新、メール送信、活動の記録、Visualforce、Lightningコンポーネント、LWC、フロー
　　不可→レコード削除、ユーザ追加、アウトバウンドメッセージ
・宣言的機能のうちデータ品質の確保につながるもの→入力規則、ルックアップ検索条件、ページレイアウト 
・エンタイトルメントプロセス：ケースまたは作業指示などのサポートステップ。サービスクラウドで使用。
・ソーシャルアカウントは個人のアカウントが必要
・標準Chatter アクション→[投稿]、[アンケート]、[質問]、[お知らせ]
　※Salesforce Classic は＋[ファイル]、[リンク]、[感謝]  

# 参考

https://salesforce.vidyard.com/watch/ZYZeoBp71VdZMhrAKuCyt9

https://trailhead.salesforce.com/ja/content/learn/modules/platform_events_basics

https://salesforce.vidyard.com/watch/PxtU9o693bteR7n78UamHt

↓Salesforce公式の開発者ガイドやヘルプページなどのリンクになっています
[スクラッチ組織](https://developer.salesforce.com/docs/atlas.ja-jp.sfdx_dev.meta/sfdx_dev/sfdx_dev_scratch_orgs.htm)
[関数](https://help.salesforce.com/s/articleView?id=sf.customize_functions.htm&type=5)


# デベロッパー試験に関する記事
[Salesforce 認定 Platform デベロッパー 合格までのあれこれ](https://qiita.com/piepie1231/items/8da91897192dc44584be)
[デベロッパー勉強メモ：Salesforceの基本](https://qiita.com/piepie1231/items/bd94f6c3780f68b89251)　 ←当記事
[デベロッパー勉強メモ：データモデリング](https://qiita.com/piepie1231/items/1ea83e14b553698f2aff)
[デベロッパー勉強メモ：プロセスの自動化とロジック①](https://qiita.com/piepie1231/items/407aad4ef1de5da297df)
[デベロッパー勉強メモ：プロセスの自動化とロジック②](https://qiita.com/piepie1231/items/e5eeb25ae2af0f79fd58)
[デベロッパー勉強メモ：ユーザインタフェース](https://qiita.com/piepie1231/items/179e5a39a98d65cb238d)
[デベロッパー勉強メモ：テスト、デバッグ、リリース](https://qiita.com/piepie1231/items/b90b82ec643b0cf5715b)