Category Archives: Apex
Apexテストクラスで作成日や最終更新日時をテストする方法
正攻法(作成日) ↓setCreatedDateメソッドを利用する。 正攻法(最終更新日時) ↓静的リソース使う。 https://salesforce.stackexchange.com/questions/147056/how-to-change-the-lastmodifieddate-of-a-record-in-a-test-class/147062 裏技(SIerは使用厳禁)… Read More »
Batch Apexとそのスケジュール方法
前書き:スケジュールフローについて Apexでバッチ処理をスケジュールしたい場合は、それ以前にまずスケジュールトリガフローによる実装を検討するようにしてください。 実装方針決定の目安は概ね以下の通りです。 フロー Apex 一処理当たりの最大処理件数… Read More »
数式項目について積み上げ集計を行う方法
概要 数式項目を直接「積み上げ集計」項目で利用することはできないので、事前に一度カスタム項目に値をコピーしてあげる必要があります。 方法 ①数式項目のデータ型と同一のカスタム項目を新規作成する ②データをコピーするプロセスビルダーを組む ■例… Read More »
スケジュールトリガフローの作成方法と注意事項
バッチ処理のベストプラクティス 基本的に下記が推奨 1時間当たりの処理レコード件数が1000件以下の場合は、スケジュールフロー 1時間当たりの処理レコード件数が1001件以上の場合は、ApexSchedulerからApexのBatchClassを呼び出す実装 Schedule-Triggered Flowの作成方法… Read More »
ApexやAPI経由で作成されたリードへの「リード割り当てルール」適用
前書き 「リード割り当てルール」を有効化しても、ApexやAPI経由で作成されたリードについてはルールが適用されません。 当該問題を回避するためには、database.DMLOptionsオブジェクトのassignmentRuleHeaderメソッドを利用することで割り当てルールが適用されるようにしてあげる必要があります。 方法 After Triggerに全部書いてもよいですが、エンタープライズでよほどパフォーマンスを考慮しないといけない場合を除いて、プロセスビルダーから呼び出した方が汎用的なので、今回はその方針で実装していきます。… Read More »
一括レコードロックの方法
概要 承認プロセスでのレコードロックを実装→条件を満たしている昔のレコードにも一括でレコードロックをかけたい みたいなユースケースね。あるある。 方法 Setup>Process Automation… Read More »
リードをチームメンバに均等に割り当てる方法(ラウンドロビン式割り当て)
前書き 標準機能ではありませんが、設定をすれば実装可能です。ちなみに日本のSalesforce.com社もこのやり方でIS(インサイドセールス)にリード割り当ててます。 Salesforce.com社ではISの人数多いので「キュー」に均等に割り当てるかたちで実装されてますが、今回は普通に個々のユーザに割り当てる方法を紹介していきたいと思います。 大まかな流れ リードに作成順に値が入る自動採番項目を作成する リードに上記自動採番項目÷グループ人数の余りを求める数式項目を作成する… Read More »
「System.CalloutException: Read timed out」エラーについて
概要 Apexコールアウトがタイムアウトになった際に発生するエラーです。 デフィルトだと、コールアウトは10秒間レスポンスが帰ってこないとでタイムアウトする仕様となっています。 回避策 setTimeoutメソッドを用いてタイムアウトまでの時間を延長することが可能です。 メソッドの引数はミリ秒単位で、1(1ミリ秒)~60000(60秒)までの値を設定することができます。… Read More »