オブジェクトモデルを作成する

操作内容

  • Battle Station (戦闘基地) カスタムオブジェクトに項目を追加する。
  • Resource (人員) カスタムオブジェクトと項目を作成する。
  • Supply (補給品) カスタムオブジェクトと項目を作成する。

オブジェクトの概要

Salesforce Platform には、アプリケーションをより速くより簡単に作成できるようにする多数の機能を備えた強力なデータベースがあります。データを行や列に格納するスプレッドシートやリレーショナルデータベースとは異なり、Salesforce Platform ではオブジェクトを使用してデータを格納します。オブジェクトは通常のスプレッドシートやデータベースの機能をすべて備えている他、機能性や汎用性を高める拡張機能が追加されています。各オブジェクトは多数の項目で構成され、この項目がスプレッドシートやデータベースの列に相当します。データはオブジェクトのレコードに格納され、このレコードが行に相当します。

オブジェクトには次の 2 種類があります。

  • 標準オブジェクト — デフォルトで Salesforce に付属するオブジェクトで、たとえば取引先、取引先責任者、商談など、標準タブにデータを格納するために使用します。たとえば、戦闘基地の一部をタイムシェアとして一般向けに売り出すことにした場合、CRM 機能がすでに実装されています。
  • カスタムオブジェクト — アプリケーション固有の情報を格納するために作成する新規オブジェクトです。カスタムオブジェクトは、標準オブジェクトが提供する機能を拡張します。Battle Station Construction (戦闘基地建設) アプリケーションでは、専用のカスタムオブジェクトを使用します。

オブジェクトや項目、リレーションをはじめとする多数の優れた機能について詳しく知りたい方は、このプロジェクトの終了後にデータモデリングモジュールを参照してください。

データモデル

ここで作成するアプリケーションは、次の 3 つのカスタムオブジェクトを使用します。

  1. Battle Station - プロジェクトの状況とその補給品や人員を追跡する主オブジェクトです。
  2. Resource - プロジェクトの要は適切な「人員配置」であり、配属する人材が必要です。ここでは、Resource カスタムオブジェクトを使用して、建設プロジェクトの任務にあたる人員数と各人の稼働時間を追跡します。
  3. Supply - 戦闘基地の建設には補給品や装備も必要です。このオブジェクトは、補給品とその費用の追跡に使用します。

ERD (エンティティ関係図) があると便利ですが、オブジェクトリレーションがその役割を果たします。では、上記のオブジェクトを作成していきましょう。

Battle Station、Resource、Supply の 3 つの関連オブジェクトを表示する ERD (エンティティ関係図)

Battle Station カスタムオブジェクト

前のステップでは、Battle Station カスタムオブジェクトを作成しました。次は、そのオブジェクトのカスタム項目を作成する必要があります。

  1. ギアアイコン ギアアイコン をクリックして、[ Setup (設定)] を選択します。新しいタブで [Setup (設定)] が起動します。
  2. [Home (ホーム)] の横にある [Object Manager (オブジェクトマネージャ)] タブをクリックします。
  3. [Battle Station (戦闘基地)] を選択します。
  4. 左側のナビゲーションの [Fields & Relationships (項目とリレーション)] を選択して、[New (新規)] をクリックします。

カスタム項目を作成する準備ができました。では始めましょう。

ステップ 1: [Project Status (プロジェクトの状況)] 項目を追加する

プロジェクトを管理する場合の主要な総計値としてまず挙げられるのが、状況です。上司にプロジェクトの進捗状況を聞かれて答えられないことほど恥ずかしいことはありません。その後しばらく落ち込むことになります。そこで、選択リスト項目を作成して、ユーザがあらかじめ定義された値の中から状況を選べるようにします。

[Project Status (プロジェクトの状況)] 項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Picklist (選択リスト)] を選択し、[Next (次へ)] をクリックします。
  2. カスタム項目の詳細を入力します。
    • Field Label (項目の表示ラベル): Project Status
    • [Enter values, with each value separated by a new lin (各値を改行で区切って入力します。)] の横にあるラジオボタンをオンにします。
    • 選択リストに次の値を入力します (1 行に 1 つ)。
      • Green
      • Yellow
      • Red
      • Complete
    • [Display values alphabetically, not in the order entered (値を入力順ではなく文字コード順に表示)] をオフにします。
    • [Use first value as default value (最初の値をデフォルト値とする)] をオンにします。
    • [Restrict picklist to the values defined in the value set (値セットで定義された値に選択リストを制限します)]オフにします。
  3. その他の項目はデフォルトのまま変更せず、[Next (次へ)] をクリックします。
  4. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  5. [Save & New (保存 & 新規)] をクリックして、[Project Status (プロジェクトの状況)] 項目をページレイアウトに追加し、項目を保存して、ウィザードの最初のステップに戻ります。

ステップ 2: [Weapons Status (兵器の状況)] 項目を追加する

戦闘基地の最大の目的は、標的を爆破することです。主として惑星を破壊するような兵器とその現在の状況を追跡する必要があります。

[Project Status (プロジェクトの状況)] と同様に、選択リスト項目を作成してユーザがあらかじめ定義された値の中から状況を選べるようにします。

[Weapons Status (兵器の状況)] 項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Picklist (選択リスト)] を選択し、[Next (次へ)] をクリックします。
  2. カスタム項目の詳細を入力します。
    • Field Label (項目の表示ラベル): Weapons Status
    • [Enter values, with each value separated by a new lin (各値を改行で区切って入力します。)] の横にあるラジオボタンをオンにします。
    • 選択リストに次の値を入力します (1 行に 1 つ)。
      • Not Yet Operational
      • Fully Operational
    • [Display values alphabetically, not in the order entered (値を入力順ではなく文字コード順に表示)] をオフにします。
    • [Use first value as default value (最初の値をデフォルト値とする)] をオンにします。
    • [Restrict picklist to the values defined in the value set (値セットで定義された値に選択リストを制限します)]オフにします。
  3. その他の項目はデフォルトのまま変更せず、[Next (次へ)] をクリックします。
  4. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  5. [Save (保存)] をクリックして、[Weapons Status (兵器の状況)] 項目をページレイアウトに追加し、項目を保存して、[Battle Station Custom Object (戦闘基地カスタムオブジェクト)] ページに戻ります。

Resource カスタムオブジェクト

戦闘基地を建設する場合は、実際の任務にあたる人員が必要です。宇宙のどこからともなく強靭な戦隊がやってきて作業をしてくれるようなことはありません。人員と、その作業量を追跡する手段が必要になります。この役割を果たすのが、Resource オブジェクトです。

  1. ギアアイコン ギアアイコン をクリックして、[ Setup (設定)] を選択します。新しいタブで [Setup (設定)] が起動します。
  2. [Home (ホーム)] の横にある [Object Manager (オブジェクトマネージャ)] タブをクリックします。
  3. [Create (作成)] ドロップダウンをクリックし、[Custom Object (カスタムオブジェクト)] を選択します。
  4. [Custom Object Definition (カスタムオブジェクトの定義)] ページで、オブジェクトを次の手順で作成します。
    • Label (表示ラベル): Resource
    • Plural Label (表示ラベル(複数形)): Resources
    • Record Name (レコード名): Resource Name
    • [Allow Reports (レポートを許可)] チェックボックスをオンにします。
    • [Save (保存)] をクリックします。
  5. 次に、カスタムタブを作成します。[Home (ホーム)] タブをクリックし、[Quick Find (クイック検索)] に Tabs と入力して、[Tabs (タブ)] を選択します。
  6. [Custom Object Tab (カスタムオブジェクトタブ)] で、[New (新規)] をクリックします。
  7. [Object (オブジェクト)] には [Resource (人員)] を選択します。
  8. [Tab Style (タブスタイル)] には任意のアイコンを選択します。
  9. すべてデフォルトのままにします。[Next (次へ)]、[Next (次へ)][Save (保存)] の順にクリックします。

Battle Station オブジェクトの場合と同様に、項目をいくつか作成する必要があります。[Home (ホーム)] の横にある [Object Manager (オブジェクトマネージャ)] タブをクリックし、[Resource (人員)] カスタムオブジェクトを選択します。[Fields & Relationships (項目 & リレーション)] セクションを選択して、[New (新規)] ボタンをクリックします。

ステップ 1: [Quantity (数量)] 項目を追加する

[Resource 名 (人員名)] は、戦隊に必要な人員の種別 (配管工、排気口検査官、マッサージ師など) を追跡します。そのため、種別ごとに何人必要かを決定する項目が必要です。

[Quantity (数量)] 項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Number (数値)] を選択して、[Next (次へ)] をクリックします。
  2. カスタム項目の詳細を入力します。
    • Field Label (項目の表示ラベル): Quantity
    • [Required (必須項目)] のチェックボックスをオンにして、この項目に常に数字が入力されるようにします。
  3. その他の項目はデフォルトのまま変更せず、[Next (次へ)] をクリックします。
  4. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  5. [Save & New (保存 & 新規)] をクリックして、[Quantity (数量)] 項目をページレイアウトに追加し、項目を保存して、ウィザードの最初のステップに戻ります。

ステップ 2: [Utilization (稼働状況)] 項目を追加する

人員がプロジェクトに配属されていても、フルタイムで稼働しているとは限りません。たとえば、あるプロジェクトの稼働状況が 50% で、別のプロジェクトが 50% である場合もあります。この項目は人員の稼働状況を追跡するもので、総計値や作業日程を確認する場合に重要になります。

[Utilization (稼働状況)] 項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Percent (パーセント)] を選択して、[Next (次へ)] をクリックします。
  2. カスタム項目の詳細を入力します。
    • Field Label (項目の表示ラベル): Utilization
    • [Required (必須項目)] のチェックボックスをオンにして、この項目に常にパーセント値が入力されるようにします。
  3. その他の項目はデフォルトのまま変更せず、[Next (次へ)] をクリックします。
  4. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  5. [Save & New (保存 & 新規)] をクリックして、[Utilization (稼働状況)] 項目をページレイアウトに追加し、項目を保存して、ウィザードの最初のステップに戻ります。

ステップ 3: [Battle Station (戦闘基地)] 項目 (主従関係) を追加する

人員は特定の戦闘基地に配属されているため、オブジェクト間にこのリレーションを作成する必要があります。ここでは、人員から戦闘基地への主従関係を作成します。この作業により、2 つのオブジェクト (子、または「従」) と別のオブジェクト (親、または「主」) の間に特殊なリレーションが作成されます。2 つのオブジェクト間に密接なつながりがある場合は主従関係を使用できます。たとえば、ブログとブログの投稿について考えてみます。ブログが削除されると、そのブログの投稿も削除されます。この他にもリレーションにはさまざまなメリットがあります。このメリットの 1 つについて後ほど説明します。

[Battle Station (戦闘基地)] リレーション項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Master-Detail Relationship (主従関係)] を選択して、[Next (次へ)] をクリックします。
  2. [Related (関連先)] 選択リストから [Battle Station (戦闘基地)] を選択して、[Next (次へ)] をクリックします。
    • Field Label (項目の表示ラベル): デフォルトで Battle Station (戦闘基地)
    • Field Name (項目名): Battle_Station
  3. その他の項目はデフォルトのまま変更せず、[Next (次へ)] をクリックします。
  4. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  5. [Next (次へ)] をクリックして、[Battle Station (戦闘基地)] 項目をページレイアウトに追加します。
  6. [Save (保存)] をクリックして、[Battle Station (戦闘基地)] 項目をページレイアウトに追加し、Battle Station レコードの関連リストをページレイアウトに追加してから (詳細は後述) 項目を保存して、[Resource Custom Object (人員カスタムオブジェクト)] ページに戻ります。

Supplies カスタムオブジェクト

これが最後のカスタムオブジェクトです。戦闘基地を建設するためには、宇宙波発生器、ドーナツ、装甲用ワックス、レーザー銃、髭用ワックスなどの補給品や装備が必要です。こうした物品はコストがかさむため、予算を超えないように費用を記録して、上司に呼びつけられることがないようにします。

オブジェクトマネージャに戻るには、ギアアイコン ギアアイコン をクリックして、[Setup (設定)] を選択します。[Home (ホーム)] の横にある [Object Manager (オブジェクトマネージャ)] タブをクリックします。[Create (作成)] ドロップダウンをクリックし、再び [Custom Object (カスタムオブジェクト)] を選択して開始します。この操作はもうお手のものかもしれません。

  1. [Custom Object Definition (カスタムオブジェクトの定義)] ページで、オブジェクトを次の手順で作成します。
    • Label (表示ラベル): Supply
    • Plural Label (表示ラベル(複数形)): Supplies
    • [Allow Reports (レポートを許可)] チェックボックスをオンにします。
    • [Save (保存)] をクリックします。
  2. 次に、カスタムタブを作成します。[Home (ホーム)] タブをクリックし、[Quick Find (クイック検索)] に Tabs と入力して、[Tabs (タブ)] を選択します。
  3. [Custom Object Tab (カスタムオブジェクトタブ)] で、[New (新規)] をクリックします。
  4. [Object (オブジェクト)] には [Supply (補給品)] を選択します。
  5. [Tab Style (タブスタイル)] には任意のアイコンを選択します。
  6. すべてデフォルトのままにします。[Next (次へ)]、[Next (次へ)][Save (保存)] の順にクリックします。

Battle Station オブジェクトの場合と同様に、項目をいくつか作成する必要があります。[Home (ホーム)] の横にある [Object Manager (オブジェクトマネージャ)] タブをクリックし、[Supply (補給品)] カスタムオブジェクトを選択します。[Fields & Relationships (項目 & リレーション)] セクションを選択して、[New (新規)] ボタンをクリックします。

ステップ 1: [Quantity (数量)] 項目を追加する

電球や装甲用ワックスを注文するときは、数量を記録する必要があります。

[Quantity (数量)] 項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Number (数値)] を選択して、[Next (次へ)] をクリックします。
  2. カスタム項目の詳細を入力します。
    • Field Label (項目の表示ラベル): Quantity
    • [Required (必須項目)] のチェックボックスをオンにして、この項目に常に数字が入力されるようにします。
  3. ユーザにはどの補給品も 2 つ以上注文してもらいたいため (予備があると安心できるので)、デフォルト値「2」に設定します。
  4. その他の項目はデフォルトのまま変更せず、[Next (次へ)] をクリックします。
  5. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  6. [Save & New (保存 & 新規)] をクリックして、[Quantity (数量)] 項目をページレイアウトに追加し、項目を保存して、ウィザードの最初のステップに戻ります。

ステップ 2: [Unit Cost (単価)] 項目を追加する

補給品や装備の単価も記録する必要があります。たとえば、浴槽で膨らませて遊ぶおもちゃを 1,000 個注文する場合、その単価が 2.75 ドルであることも記録します。

[Unit Cost (単価)] 項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Currency (通貨)] を選択して、[Next (次へ)] をクリックします。
  2. カスタム項目の詳細を入力します。
    • Field Label (項目の表示ラベル): Unit Cost
    • Length (文字数): 16
    • Decimal Places (小数点の位置): 2
    • [Required (必須項目)] のチェックボックスをオンにして、この項目に常に数字が入力されるようにします。
  3. その他の項目はデフォルトのまま変更せず、[Next (次へ)] をクリックします。
  4. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  5. [Save & New (保存 & 新規)] をクリックして、[Unit Cost (単価)] 項目をページレイアウトに追加し、項目を保存して、ウィザードの最初のステップに戻ります。

ステップ 3: [Total Cost (合計額)] 項目 (数式項目) を追加する

各品目の数量と単価を記録したところで次に必要となるのが、全品目の合計額を把握することです。これらの金額を手計算 (単価 x 数量 = 合計) するようなことはせず、数式項目を使用して Salesforce Platform に計算してもらいましょう。数式項目はスプレッドシートの数式とほぼ同じで、実行時に計算されます。この項目を活用すれば大幅に手間が省けます。

[Total Cost (合計額)] 数式項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Formula (数式)] を選択して、[Next (次へ)] をクリックします。
  2. カスタム項目の詳細を入力します。
    • Field Label (項目の表示ラベル): Total Cost
    • Field Name (項目名): Total_Cost
    • Formula Return Type (数式の戻り値のデータ型): 通貨
    • Decimal Places (小数点の位置): 2
  3. [Next (次へ)] をクリックします。
  4. 各補給品レコードの合計額を確認したいため、Quantity__c * Unit_Cost__c という数式を入力します。
  5. [Check Syntax (構文を確認)] ボタンをクリックし、数式の構文が正しいことを確認して、[Next (次へ)] をクリックします。
  6. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  7. [Save & New (保存 & 新規)] をクリックして [Total Cost (合計額)] 項目をページレイアウトに追加し、項目を保存して、ウィザードの最初のステップに戻ります。

ステップ 4: [Battle Station (戦闘基地)] 項目 (主従関係) を追加する

補給品も人員と同様に、主従関係を使用して特定の戦闘基地レコードに関連付ける必要があります。

[Battle Station (戦闘基地)] リレーション項目を次の手順で作成します。

  1. [Data Type (データ型)] に [Master-Detail Relationship (主従関係)] を選択して、[Next (次へ)] をクリックします。
  2. [Related (関連先)] 選択リストから [Battle Station (戦闘基地)] を選択して、[Next (次へ)] をクリックします。
    • Field Label (項目の表示ラベル): デフォルトで Battle Station (戦闘基地)
    • Field Name (項目名): Battle_Station
  3. その他の項目はデフォルトのまま変更せず、[Next (次へ)] をクリックします。
  4. もう一度 [Next (次へ)] をクリックして、項目の表示とセキュリティのデフォルト設定を受け入れます。
  5. [Next (次へ)] をクリックして、[Battle Station (戦闘基地)] 項目をページレイアウトに追加します。
  6. [Save (保存)] をクリックして、[Battle Station (戦闘基地)] 項目をページレイアウトに追加し、Battle Station レコードの関連リストをページレイアウトに追加してから項目を保存して、[Supply Custom Object (補給品カスタムオブジェクト)] ページに戻ります。

お疲れ様でした。大変でしたがやり遂げました。これで、アプリケーションの作成で最も時間のかかる作業が無事終了しました。

リソース

無料で学習を続けましょう!
続けるにはアカウントにサインアップしてください。
サインアップすると次のような機能が利用できるようになります。
  • 各自のキャリア目標に合わせてパーソナライズされたおすすめが表示される
  • ハンズオン Challenge やテストでスキルを練習できる
  • 進捗状況を追跡して上司と共有できる
  • メンターやキャリアチャンスと繋がることができる