Category Archives: Core

特定項目の値が入力されているレコ-ドの数や割合を表示するレポートの作成方法【Salesforce】

例1:取引先ごとに「次回対応期日」が入力されているケースの数を表示する 手順1:グループとして「取引先名」を追加する 手順2:行レベルの数式として「項目に値が入っている場合に1、そうでなければ0を返す数式」を作成する Result:↓ 例2:取引先ごとに「次回対応期日」が入力されているケースの割合を表示する 手順1:グループとして「取引先名」を追加する… Read More »

他のユーザの操作に関するデバッグログを見る方法

前書き 今回、以下の2つの方法をご紹介致します。 ①「開発者コンソール」で他のユーザの操作ログをリアルタイムで確認する②「ユーザ追跡フラグ」を付けて特定期間のデバッグログを記録する 方法1: 「開発者コンソール」で他のユーザの操作ログをリアルタイムで確認する 手順:開発者コンソールを開いてDebug>Show… Read More »

FOR LOOP内でのSOQLを回避する方法

前書き 「Mapを使え。以上。」で終わりなのですが、あまりに味気ないので実際にありそうな具体例を二つご紹介いたします。 例1:Trigger.newに対するループ内のSOQLを回避する Bad Example ↑取引先に紐づく取引先責任者を取得するにあたって、forループ内でSOQL文を書いてしまっています。… Read More »

営業日ベースの日数判定ロジックの実装方法

前書き センスのない会社ほどよく実装したがる「営業日ベースで〇日後に通知送りたい」や「○営業日後の日付が自動で入力されるようにしたい」といった要件への対応方法 ※推奨代替案:シンプルに「〇日後」で実装して後は運用回避 実装方針 「日付」項目と「休日フラグ」項目を持った「休日カレンダー」カスタムオブジェクトを作成し、それを用いて営業日数計算を行う。 例えば、2021/07/01(木)の三営業日を取得したい場合は…… Read More »

開発者コンソールのログレベルを変更する

前書き 作り込まれている組織でない限りあまり操作する機会はないかもしれませんが、デバッグログレベルの変更方法を備忘録も兼ねてご紹介します。 詳細は公式ヘルプ記事「開発者コンソールのログの操作」をご参照ください。 最適なデバッグログレベルについて デバッグレベルは以下のレベルが下に行けば行くほど高く(=記録が詳細に)なっていきます。 NONE… Read More »

Database.rollback()の簡単解説(初心者向け)

前書き 初心者の方向けにDatabase.rollback()の仕様と使い方について簡単解説しますノ Database.rollback()とは? Database.rollback()メソッドを利用することで、Database.setSavepoint()によって事前登録されていたsavepointまで処理をロールバックすることが可能です。 例えば↓の例では、4行目のDatabase.rollback(sp)によって2行目のSavepointまでロールバックされ、「色々な処理B」がなかったことになります。 実務で一番多いユースケース… Read More »