Open8
Salesforce 関連メモ

開発者コンソールのdebug logが溜まった場合
SELECT Id, StartTime, LogUserId, LogLength, Location FROM ApexLog

[未検証]Salesforce 関連リストでインライン編集したい場合
動的関連リストを設定すればできる?

「このスケジュール可能なクラスに待機中または処理中のジョブがあります」「このエラーをスキップするには、[設定] ページの [リリース設定] ページで Apex ジョブによるリリースを許可します。」と表示されて資源がdeployできない場合
設定 > リリース > リリース設定 画面の "リリースオプション" セクションにて下記のチェックをつける
対応する Apex ジョブが待機中か処理中の場合、コンポーネントのリリースを許可します。
注意: このオプションを有効化すると Apex ジョブがエラーになる場合があります。
※参考

データローダーでユーザーのライセンスを指定する方法
プロファイルがライセンスと紐づいているため、CSVでimportする際はプロファイルの指定だけすれば良い(ライセンスという列を用意する必要はない)
※参考

without sharing と WITH SYSTEM_MODE の違い
without sharing
SOQLでChild-to-parentで親レコードを取得しようとした場合、親レコードの参照権限がなくても取得可能
※オブジェクトそのものの参照権限は必要
WITH SYSTEM_MODE
SOQLでChild-to-parentで親レコードを取得しようとした場合、親レコードの参照権限がない場合は表示されない

addErrorのAssertチェック
// Add an error to an SObject field using the addError() method.
Account acct = new Account(name = 'TestAccount');
acct.addError('name', 'error in name field');
// Use the hasErrors() method to verify that the error is added, and then the getErrors() method to validate the error.
System.Assert(acct.hasErrors());
List<Database.Error> errors = acct.getErrors();
System.AssertEquals(1, errors.size());

詳細画面に配置しているLWCでレコードを更新した場合
notifyRecordUpdateAvailableメソッドを使用する

ApexにてSystemRun user 自身が所有していないレコードを削除したい
共有ルールで参照/更新可能としていても、Apexで削除することはできない(自分が所有者ではないため)
その場合にはApexにてwithout sharing とした上で削除を実行することができる (共有ルールを適応しない。システム権限)
参考:https://help.salesforce.com/s/articleView?id=000385525&type=1