ビジネスロジックを追加する
操作内容
- 入力規則を作成する。
- Lightning プロセスビルダーを使用して自動プロセスを作成する。
これで基本のアプリケーションができ、ユーザーがデータを保持してプロジェクトを管理することができるようになりました。ただし、この種のプロジェクトには、設定しておいた方がいいビジネスルールがあります。
戦闘基地の建設は一筋縄でいくものではありません。抜かりなくやり遂げることが求められる大変な作業です。ご存知かもしれませんが、かつて排気口に問題が生じたことがありました。排気口の数が多すぎて、いとも簡単にミサイルの標的になったようです。ミサイルが打ち込まれれば排気口は爆破されます。
厄介な反政府軍に戦闘基地を (再び) 爆破されることがないように、プロジェクトに十分な数の排気口検査官を動員して、安全上の問題となる排気口を見つけ出すことにします。どのプロジェクトにも排気口検査官を不足なく配置して、時間外作業も指示します。排気口に隙があれば、上司は何百光年先からでも見抜くでしょう。
排気口検査官の稼働状況が 150% 未満の場合は、ユーザーがその検査官のレコードを保存できないようにする入力規則を作成する必要があります。こうした対策を講じることで、戦闘基地が粉々に爆破されるといった惨事が二度と起きないようにしたいところです。
稼働状況入力規則を追加する
-
ギアアイコン
をクリックして、[ Setup (設定)] を選択します。[Home (ホーム)] タブの横にある [Object Manager (オブジェクトマネージャー)] タブを選択します。
- [Resource (人員)] をクリックします。
- 左側のナビゲーションにある [Validation Rules (入力規則)] セクションを選択します。
- [New (新規)] ボタンをクリックします。
-
[Rule Name (ルール名)] に
Inspectors_Must_Work_Overtime
と入力します。 - [Error Condition Formula (エラー条件数式)] で、排気口検査官の稼働状況が 150% 未満の場合はユーザーがそのレコードを保存できないようにします。数式を
AND(Name = "Exhaust Port Inspector", Utilization__c < 1.5)
と入力します - [Check Syntax (構文を確認)] ボタンをクリックして、数式の構文が正しいことを確認します。
- \[Error Message (エラーメッセージ)\] に、「Exhaust Port Inspectors must work at least 150%. No coffee breaks!」(排気口検査官は 150% 以上稼働する必要があります。休む暇などありません!) と入力します。休む暇などありません!
- [Error Location (エラー表示場所)] で [Fields (項目)] ラジオボタンをオンにして、[Utilization (稼働状況)] 項目を選択します。
- [Save (保存)] ボタンをクリックします。
では、Battle Station レコードに戻り、稼働状況が「150」未満の「Exhaust Port Inspector」(排気口検査官)という新しい人員種別を入力してみましょう。これで、ユーザーが「不適切」なデータを入力するとエラーメッセージが表示されるようになりました。
Lightning プロセスビルダーを使用して自動化する
Lightning プロセスビルダーとは、ビジネスプロセスを簡単に自動化できるワークフローツールで、プロセスの作成中にそのプロセスを効果的かつわかりやすく視覚表示できます。簡単なポイント & クリック操作で、アクションに応じて「バックグラウンドで」実行されるプロセスを作成します。
ここでは、兵器システムが [Fully Operational (完全稼働状態)] に変更された時点でプロジェクトを [Complete (完了)] に更新するプロセスを作成します。
-
ギアアイコン
をクリックして、[ Setup (設定)] を選択します。[Setup (設定)] から、[Quick Find (クイック検索)] に
Process Builder
と入力し、[Process Builder (プロセスビルダー)] を選択します。 - [New (新規)] ボタンをクリックします。
- [Continue in Process Builder (プロセスビルダーで続行)] ボタンをクリックします。
- [Criteria Name (条件名)] に
Fully Operational Battle Station
と入力します。API 参照名が自動的に入力されます。 - [process starts when (プロセスを開始するタイミング)] で [A record changes (レコードが変更されたとき)] を選択します。
- [Save (保存)] ボタンをクリックします。
-
[+ Add Object (+ オブジェクトを追加)] アイコンをクリックして、オブジェクトと、プロセスの開始時を指定します。誰かが Battle Station レコードを作成または更新すると、このプロセスが開始されます。[Object (オブジェクト)] で、[Battle Station (戦闘基地)] を選択し、[when the record is created or edited (レコードを作成または編集したとき)] の横にあるラジオボタンをオンにします。
- [Save (保存)] ボタンをクリックします。
- [Add Criteria (+ 条件を追加)] アイコンをクリックして、true と評価された場合にアクションを実行する条件を決定します。[Weapons Status (兵器の状況)] の値が [Fully Operational (完全稼働状態)] に変更された場合にのみ実行するプロセスを設定します。
- [Criteria Name (条件名)] に
Now Fully Operational
と入力し、[Conditions are met (条件を満たしている)] を選択します。 - [Fields (項目)] ルックアップをクリックし、選択リストから [Weapons Status (兵器の状況)] を選択して [Choose (選択)] をクリックします。[Operator (演算子)] を [Is changed (変更済み)]に、[Value (値)] を [True] に変更します。
- 別の条件を追加するために、[Add Row (行を追加)] ボタンをクリックします。
- [Fields (項目)] ルックアップをクリックし、選択リストから (もう一度) [Weapons Status (兵器の状況)] を選択して [Choose (選択)] をクリックします。[Operator (演算子)] を [equals (次の文字列と一致する)]に、[Value (値)] を [Fully Operational (完全稼働状態)] に変更します。
- 他の設定はそのままにして [Save (保存)] をクリックします。
レコードのアクションを更新する
条件に対して true と評価された場合は [Project Status (プロジェクトの状況)] が [Complete (完了)] に変更されるようにします。これは、プロジェクトが終了し、基地が戦闘体制であることを意味します。大型レーザー砲で破壊するのもなかなか痛快です。
- [+ Add Action (+ アクションを追加)] ボタンをクリックします。
- [Action Type (アクション種別)] で、[Update Records (レコードを更新)] を選択します。
- [Action Name (アクション名)] に
Update Status
と入力します。 - [Record Type (レコードタイプ)] で検索項目をクリックし、[Select the Battle_Station__c record that started your process (プロセスを開始した Battle_Station__c レコードを選択)] ラジオボタンを選択し、[Choose (選択)] をクリックします。
- 更新するレコードの新しい項目値を設定します。[Fields (項目)] 選択リストをクリックして [Project Status (プロジェクトの状況)] を選択し、[Value (値)] を [Complete (完了)] に変更します。
- [Save (保存)] ボタンをクリックします。
Chatter に投稿する
プロセスを有効にする前にもう 1 つ、最後の操作を行います。プロジェクトが完了し、兵器が戦闘体制になったら、Chatter にメッセージを投稿してこの偉業を発表します。この知らせに上司も安堵することでしょう。
- [+ Add Action (+ アクションを追加)] ボタンをクリックします。
- [Action Type (アクション種別)] で、[Post to Chatter (Chatter に投稿)] を選択します。
- [Action Name (アクション名)] に
Post to Chatter
と入力します。 - [Post to (投稿先)] に、[This Record (このレコード)] を選択します。注意: [This Record (このレコード)] を表示するには、Battle Station カスタムオブジェクトに対してフィード追跡を有効にしていることを確認してください。
- [Message (メッセージ)] に、
{![Battle_Station__c].Name} is complete! Now witness the power of a fully armed and operational battle station!
と入力します。 - [Save (保存)] ボタンをクリックします。
- 右上隅にある [Activate (有効化)] ボタンをクリックして、いよいよプロセスを有効にします。[Confirm (確認)] をクリックして確認します。
終了した時点で、プロセス全体は次のようになります。
プロセスをテストする
ではここで、プロセスが動作する様子を確認してみましょう。Battle Station レコードを編集して、[Weapons Status (兵器の状況)] を [Fully Operational (完全稼働状態)] に設定し、[Save (保存)] をクリックするだけです。ページを更新すると、[Project Status (プロジェクトの状況)] が [Complete (完了)] になり、ページの右側に偉業を知らせる Chatter 投稿が表示されます。