Salesforceのカスタムオブジェクトと項目の作り方。選択リスト・数式・主従関係

公開 更新 書いた人 大林 諒

営業チームが受注した後の導入作業を、Salesforceの中で追えるようにします。題材は、社員30名ほどの法人向けサービス会社で実際に回っている形をそのまま使い、取引先にぶら下がるカスタムオブジェクト「導入プロジェクト」を作ります。読み終わると、オブジェクトの作成から、選択リスト・数式・主従関係・積み上げ集計の項目づくり、画面への配置と見える人の設定まで、自分の組織で一通り作れる状態になります。作業には「アプリケーションのカスタマイズ」権限が要り、項目の見え方を変えるには「プロファイルと権限セットの管理」権限も要ります。カスタムオブジェクトは Starter Edition では作れず、Pro Suite・Professional・Enterprise などで作れます(エディションごとの数は後半の表にまとめています)。画面は Lightning Experience で説明し、Classic の画面の説明は読み飛ばしてかまいません。

この記事の内容
  1. オブジェクトとは何か、カスタムで作る前に確かめること
  2. 先に決めること
  3. 設計表
  4. 作る手順
  5. 応用
  6. できないことと、その代わり
  7. よく詰まるところ
  8. 次にやること

オブジェクトとは何か、カスタムで作る前に確かめること

標準オブジェクトとカスタムオブジェクト

Salesforceの「オブジェクト」は、Excelでいえば1枚のシートです。「取引先」には会社が、「商談」には案件が1行ずつ並びます。行が「レコード」、列が「項目」です。

最初から用意されているのが標準オブジェクトで、取引先・取引先責任者・商談・リード・活動(ToDo・行動)・ケース・商品などがあります。標準オブジェクトには、リードの取引開始、商談フェーズと売上予測、活動のカレンダー表示のように、そのオブジェクト専用の機能が付いています。

カスタムオブジェクトは、標準に無い「シート」を自分で足すものです。項目・画面・権限は標準オブジェクトと同じ仕組みで作れますが、標準オブジェクト専用の機能は付きません。

標準で済まないかを先に確かめる

カスタムオブジェクトを足すと、項目・画面・権限・レポートの手入れが1つ分増えます。足す前に、次の表で標準オブジェクトに収まらないかを見ます。

やりたいこと先に検討する標準オブジェクトカスタムにする目安
訪問・電話・打ち合わせの記録活動(行動・ToDo)活動に項目を足せば足りることが多い
問い合わせ・不具合・サポート依頼ケースケースの状況管理とキューで足りないとき
売っているサービスとその単価商品と価格表商談商品で明細を持てれば足りる
受注後の導入作業・納品管理該当なし状況・期日・進捗を1件ずつ持つならカスタム

導入作業をカスタムにする理由は、1つの取引先に複数の導入が走り、それぞれに状況・開始日・完了予定日・進捗率があり、遅れを一覧で見たいからです。商談に項目を足して済ませる形もありますが、受注後に何か月も続く作業を商談に持たせると、商談のレポートが「受注済みなのに動いている案件」で埋まり、営業の数字と導入の数字が混ざります。実際に回っている会社では、商談は受注で閉じ、その後は導入プロジェクトに引き継ぐ形に分けています。

先に決めること

ここを決めずに作り始めると、後から作り直しになります。

親を何にするか(主従関係か参照関係か)

導入プロジェクトは、取引先と主従関係、元の商談と参照関係でつなぎます。取引先の無い導入プロジェクトは存在せず、取引先の画面に導入の件数を出したいからです。件数や合計を親に出す積み上げ集計項目は、主従関係でしか作れません。

商談を主にしない理由は、主従関係の従側は主を持たないと保存できず、商談の無い導入(既存顧客の追加設定など)を登録できなくなるからです。

主従関係は、カスタムオブジェクトにデータが入る前に作ります。データが入っているオブジェクトには主従関係を新しく作れません。順番は「オブジェクトを作る → 主従関係を作る → 残りの項目を作る → データを入れる」で固定です。

誰が見て、誰が書くか

主従関係の従側は所有者を持たず、見える範囲は主(取引先)の見え方に従います。営業が担当外の取引先を見られない設定なら、その取引先の導入プロジェクトも見えません。導入担当者を所有者にして、担当者ごとに見える範囲を変えたい場合は、主従関係ではなく参照関係にします。今回は営業チーム6名全員で導入状況を見るので主従関係で足ります。

名前の付け方

API参照名(プログラムやデータ連携で使う名前)は英数字で付けます。日本語の表示ラベルからは使える名前が作られないので、自分で付け直します。使い始めた後は連携や数式から参照されて変えにくくなります。

自動採番かテキストか

レコード名を「IP-0001」のような自動採番にするか、「〇〇社 初期導入」のようなテキストにするかを決めます。公式ヘルプでは、API などで大量のレコードを入れる予定があるならテキストが勧められています。今回は一覧で読みやすいテキストにします。

項目の種類の選び方

項目を作るとき最初に聞かれるのがデータ型です。営業管理でよく使うものをまとめます。

データ型使う場面選ぶときの注意
テキスト社名の略称、管理番号数値として集計できない。長文はロングテキストエリアにする
数値席数、ライセンス数小数点の桁を最初に決める
パーセント進捗率、値引き率内部では 0.5 のように100で割った値
通貨導入費用、月額小数点0桁なら端数は切り捨て、1桁以上なら四捨五入
日付開始日、完了予定日時刻が要らなければ日付/時間にしない
選択リスト状況、失注理由値を制限しておく。集計の軸になる
選択リスト (複数選択)該当する課題を複数集計・自動化・インポートで扱いにくい
チェックボックスキックオフ済み、請求済みレポート条件では True / False で指定
数式遅れ日数、粗利入力できない。編集画面には出ない
積み上げ集計子の件数・合計・最大カスタムオブジェクトの子を集計できるのは主従関係の主側だけ
参照関係元の商談、担当者親が無くても保存できる
主従関係取引先と導入プロジェクト親が無いと保存できない。所有者は親に従う

主従関係と参照関係の違い

主従関係と参照関係の違いは次のとおりです。

観点主従関係参照関係
親を消したとき子も一緒に消える(ごみ箱から親を戻すと子も戻る)既定は項目の値がクリアされる。削除を止める設定も選べる
親が空のまま保存できないできる(必須にもできる)
所有者子は持たない。親の所有者になる子が自分の所有者を持つ
レコードの共有親に従う。共有ルールやキューは使えない子ごとに共有ルール・キューを使える
オブジェクト権限権限セットで付ける。子に付けた権限は親にも要る子と親で別々に付ける
積み上げ集計親に作れる作れない(取引先に商談を集計するなど標準オブジェクト同士の例外を除く)
親の付け替え既定は不可。「親の変更を許可」で可能できる
1オブジェクトあたりの数2つまで主従関係と合わせて40まで

設計表

導入プロジェクト(API参照名 Implementation_Project__c)に作る項目です。__c はカスタムの印で、入力しなくても末尾に付きます。

表示ラベルAPI参照名データ型設定
導入プロジェクト名Nameテキスト(レコード名)例「〇〇社 初期導入」
取引先Account__c主従関係(取引先)親の変更は許可しない
元の商談Opportunity__c参照関係(商談)削除時は「この項目の値をクリアします」
状況Status__c選択リスト未着手/進行中/保留/完了/中止
開始日Start_Date__c日付
完了予定日Planned_End_Date__c日付
完了日Completed_Date__c日付完了にしたら入れる
進捗率Progress__cパーセント小数点以下0桁
遅れ日数Days_Late__c数式(数値)完了予定日を過ぎた日数
状況表示Status_Label__c数式(テキスト)状況と遅れを1語で表示

取引先側に作る項目です。

表示ラベルAPI参照名データ型設定
導入プロジェクト件数Implementation_Count__c積み上げ集計導入プロジェクトを COUNT
進行中の導入件数Active_Implementation_Count__c積み上げ集計状況が「進行中」だけを COUNT
最終の完了予定日Latest_Planned_End__c積み上げ集計完了予定日の MAX

オブジェクト作成時の設定値です。

画面の項目設定
表示ラベル導入プロジェクト
表示ラベル(複数形)導入プロジェクト
オブジェクト名Implementation_Project
レコード名導入プロジェクト名(データ型はテキスト)
レポートを許可オン
活動を許可オン(導入の打ち合わせや ToDo を紐付ける)
項目履歴管理オン(状況と完了予定日の変更を残す)
リリース状況作っている間は「開発中」、使い始めるときに「リリース済み」
新規カスタムタブウィザードを起動オン

作る手順

1. カスタムオブジェクトを作る

  1. 画面右上の歯車アイコンから「設定」を開きます。
  2. 「オブジェクトマネージャー」タブを開きます。
  3. 右上の「作成」をクリックします。
  4. 「カスタムオブジェクト」を選びます。
  5. 「表示ラベル」に「導入プロジェクト」と入力します。
  6. 「表示ラベル(複数形)」に「導入プロジェクト」と入力します。
  7. 「オブジェクト名」を「Implementation_Project」に書き換えます。
  8. 「レコード名」に「導入プロジェクト名」と入力し、データ型は「テキスト」のままにします。
  9. 「レポートを許可」「活動を許可」「項目履歴管理」にチェックを入れます。
  10. 「リリース状況」を「開発中」にします。
  11. 「カスタムオブジェクトの保存後、新規カスタムタブウィザードを起動する」にチェックを入れます。
  12. 「保存」をクリックします。
カスタムオブジェクト作成画面。表示ラベル・オブジェクト名・レコード名・各チェックボックスを入力した状態
カスタムオブジェクト作成画面。表示ラベル・オブジェクト名・レコード名・各チェックボックスを入力した状態

「オブジェクト名」は英数字とアンダースコアだけが使え、先頭は英字、末尾のアンダースコアと連続したアンダースコアは使えません。「メモ & 添付ファイル」を付ける設定は作成時にしか選べないので、ファイルを添付する運用なら作成時に決めます。

2. タブを作る

保存すると新規カスタムタブウィザードに進みます。

  1. 「タブスタイル」の虫眼鏡アイコンをクリックします。
  2. 使うアイコンと色を選びます。
  3. 「次へ」をクリックします。
  4. タブを見せるプロファイルを選び、「次へ」をクリックします。
  5. タブを入れるアプリケーション(営業用のアプリ)にチェックを入れます。
  6. 「保存」をクリックします。

Professional Edition ではタブ表示が「デフォルトで表示」になります。タブを作るとオブジェクトの「検索を許可」も有効になり、グローバル検索で導入プロジェクトが見つかるようになります。

3. 主従関係を作る(最初に作る項目)

  1. オブジェクトマネージャーで「導入プロジェクト」を開きます。
  2. 左のメニューで「項目とリレーション」をクリックします。
  3. 「新規」をクリックします。
  4. データ型で「主従関係」を選び、「次へ」をクリックします。
  5. 「関連先」で「取引先」を選び、「次へ」をクリックします。
  6. 「項目表示ラベル」に「取引先」と入力します。
  7. 「項目名」に「Account」と入力し、「次へ」をクリックします。
  8. 項目レベルセキュリティの画面で、見せるプロファイルにチェックを入れ、「次へ」をクリックします。
  9. 項目を入れるページレイアウトを選び、「次へ」をクリックします。
  10. 取引先側に出る関連リストの表示ラベルを「導入プロジェクト」にして、「保存」をクリックします。
保存した「取引先」項目の詳細。データ型が主従関係、関連先が取引先になっている
保存した「取引先」項目の詳細。データ型が主従関係、関連先が取引先になっている

「関連先」は保存後に変えられません。

4. 参照関係を作る

  1. 「項目とリレーション」で「新規」をクリックします。
  2. 「参照関係」を選び、「次へ」をクリックします。
  3. 「関連先」で「商談」を選び、「次へ」をクリックします。
  4. 「項目表示ラベル」に「元の商談」、「項目名」に「Opportunity」と入力します。
  5. 削除時の動きで「この項目の値をクリアします」を選びます。
  6. 必要なら「ルックアップ検索条件」で、選べる商談を「フェーズが Closed Won」のものに絞ります。
  7. 「次へ」を3回クリックし、項目レベルセキュリティ・ページレイアウト・関連リストを確かめて「保存」をクリックします。

元の商談の項目で選べるのは、「この項目の値をクリアします」(既定)と「参照関係に含まれる参照レコードは削除できません」の2つです。「このレコードも削除します」(カスケード削除)は既定で無効で、Salesforce に問い合わせて有効にした組織でしか使えません。商談が誤って消されても導入の記録は残したいので、既定の「クリア」にします。

5. 選択リスト「状況」を作る

  1. 「新規」をクリックします。
  2. 「選択リスト」を選び、「次へ」をクリックします。
  3. 「項目表示ラベル」に「状況」、「項目名」に「Status」と入力します。
  4. 「選択リストの各値を改行で区切って入力します。」を選びます。
  5. 「未着手」「進行中」「保留」「完了」「中止」を1行に1つずつ入力します。
  6. 「最初の値をデフォルト値とする」にチェックを入れます。
  7. 「値セットで定義された値に選択リストを制限します」にチェックが入っていることを確かめます。
  8. 「次へ」をクリックし、項目レベルセキュリティとページレイアウトを選んで「保存」をクリックします。
選択リストの値入力欄に5つの値を1行ずつ入れた状態
選択リストの値入力欄に5つの値を1行ずつ入れた状態

値の制限にチェックを入れておくと、データローダや連携ツールから定義外の値が入るのを防げます。外すと、API や自動化からは定義外の値が入ります。

6. 日付・パーセントの項目を作る

開始日・完了予定日・完了日は「日付」、進捗率は「パーセント」で作ります。手順は選択リストと同じで、データ型の選択と表示ラベル・項目名だけが変わります。パーセントは内部では100で割った値で持つので、数式で使うときは 50% が 0.5 として扱われます。

7. 数式「遅れ日数」を作る

  1. 「新規」をクリックします。
  2. 「数式」を選び、「次へ」をクリックします。
  3. 「項目表示ラベル」に「遅れ日数」、「項目名」に「Days_Late」と入力します。
  4. 「数式の戻り値のデータ型」で「数値」を選び、小数点の位置を0にします。
  5. 「次へ」をクリックします。
  6. 「高度な数式」タブを開きます。
  7. 下の数式を入力します。
  8. 「構文を確認」をクリックし、エラーが無いことを確かめます。
  9. 空白の扱いの選択肢が出ていれば「空白の項目を 0 として処理」を選びます(数値・通貨・パーセント項目を参照する数式のときに出ます)。
  10. 「次へ」をクリックし、項目レベルセキュリティとページレイアウトを選んで「保存」をクリックします。
IF(
  AND(
    NOT(ISPICKVAL(Status__c, "完了")),
    NOT(ISPICKVAL(Status__c, "中止")),
    NOT(ISBLANK(Planned_End_Date__c)),
    TODAY() > Planned_End_Date__c
  ),
  TODAY() - Planned_End_Date__c,
  0
)
数式エディタの高度な数式タブに遅れ日数の式を入れ、構文を確認した結果
数式エディタの高度な数式タブに遅れ日数の式を入れ、構文を確認した結果

日付同士を引くと日数が返ります。TODAY() は今日の日付を返すので、人が更新しなくても遅れ日数は毎日伸びます。選択リストは = で比べられないので、ISPICKVAL(項目, "値") で比べます。

8. 数式「状況表示」を作る(CASE と TEXT)

一覧で状況と遅れを1語で見たいときの例です。データ型は「テキスト」にします。

IF(
  Days_Late__c > 0,
  "遅延 " & TEXT(Days_Late__c) & "日",
  CASE(Status__c,
    "未着手", "着手前",
    "進行中", "予定どおり",
    "保留", "保留中",
    "完了", "完了",
    "中止", "中止",
    "未設定"
  )
)

CASE は選択リストを直接受け取れ、最後の値(ここでは「未設定」)がどれにも当たらなかったときの返り値です。TEXT は数値・日付・選択リストをテキストに変えます。数値を文字とつなげるときは TEXT() で包まないとエラーになります。

9. 取引先に積み上げ集計を作る

  1. オブジェクトマネージャーで「取引先」を開きます。
  2. 「項目とリレーション」で「新規」をクリックします。
  3. 「積み上げ集計」を選び、「次へ」をクリックします。
  4. 「項目表示ラベル」に「導入プロジェクト件数」と入力し、「次へ」をクリックします。
  5. 「集計対象オブジェクトの選択」の「集計対象オブジェクト」で「導入プロジェクト」を選びます。
  6. 「積み上げ種別の選択」で「件数」を選びます。
  7. 「次へ」をクリックし、項目レベルセキュリティとページレイアウトを選んで「保存」をクリックします。
積み上げ集計の設定画面。集計対象オブジェクトに導入プロジェクト、積み上げ種別に「件数」を選んだ状態
積み上げ集計の設定画面。集計対象オブジェクトに導入プロジェクト、積み上げ種別に「件数」を選んだ状態

進行中の件数は、同じ手順で6のあとに「検索条件」で「状況」が「進行中」のものだけに絞ります。最終の完了予定日は「最大」を選び、集計する項目に完了予定日を選びます。SUM は数値・通貨・パーセントだけ、MIN と MAX は数値・通貨・パーセント・日付・日付/時間だけが対象です。計算には最長30分かかるので、作った直後に0でも少し待ちます。

10. ページレイアウトと Lightning レコードページに置く

項目を作るときにページレイアウトを選んでいれば、項目はレイアウトの一番上の2列セクションの末尾に入ります。並べ直しはページレイアウトで行います。

  1. オブジェクトマネージャーで「導入プロジェクト」を開きます。
  2. 「ページレイアウト」をクリックします。
  3. 使っているレイアウトの名前をクリックします。
  4. 上のパレットから項目をドラッグして、置きたい位置に落とします。
  5. 必須にしたい項目(状況・完了予定日)をダブルクリックし、「必須」にチェックを入れます。
  6. 「保存」をクリックします。
導入プロジェクトのページレイアウト編集画面。基本情報と期日のセクションに分けた状態
導入プロジェクトのページレイアウト編集画面。基本情報と期日のセクションに分けた状態

Lightning Experience のレコード画面は、Lightning アプリケーションビルダーで作る Lightning レコードページの上に乗っています。画面の「レコード詳細」コンポーネントの中身はページレイアウトから取られます。動的フォームに切り替えると、項目やセクションを Lightning アプリケーションビルダーの中で1つずつ置け、「状況が完了なら完了日のセクションを出す」のような表示ルールも付けられます。動的フォームのページでは、作成・編集の画面に出る項目もページ上の項目から取られます。

  1. 導入プロジェクトのレコードを1件開きます。
  2. 右上の歯車アイコンから「ページを編集」を選びます。
  3. 「レコード詳細」コンポーネントをクリックします。
  4. 右のプロパティで「アップグレードに関するお問い合わせ」をクリックし、「次へ」で「動的フォームのソースを選択」に進みます。
  5. 「導入プロジェクトレイアウト」を選んで「完了」をクリックします。レコード詳細がページレイアウトのセクションごとの「項目セクション」に分かれます。
  6. 「期日」の項目セクションを選び、右の「コンポーネントの表示を設定」で「+ 検索条件を追加」をクリックします。
  7. 「レコード > 状況」「次と等しい」「完了」を選んで「完了」をクリックし、「保存」をクリックします。
  8. まだ使われていないページなら、右上の「有効化」で組織のデフォルトにするかアプリ・プロファイル別に割り当てるかを選びます。
Lightning アプリケーションビルダーで動的フォームの項目セクションに表示ルールを付けた状態
Lightning アプリケーションビルダーで動的フォームの項目セクションに表示ルールを付けた状態

取引先の画面に導入プロジェクトの関連リストが出ていなければ、取引先のページレイアウトの「関連リスト」に足します。

11. 項目レベルセキュリティと、オブジェクトの権限を付ける

ここが一番抜けやすい手順です。Professional Edition 以上では、カスタムオブジェクトを作った時点で、「すべてのデータの参照」「すべてのデータの編集」を持たないプロファイルからは、そのオブジェクトの「参照」「作成」「編集」「削除」が外れています。システム管理者には見えて、営業には見えない状態から始まります。従側の導入プロジェクトに付けた権限は、親の取引先にも同じだけ要ります(子に「参照」を付けるなら親にも「参照」)。

  1. 「設定」のクイック検索に「権限セット」と入力し、「権限セット」を開きます。
  2. 「新規」をクリックし、表示ラベル「導入プロジェクト 利用」で保存します。
  3. 「オブジェクト設定」を開きます。
  4. 「導入プロジェクト」をクリックし、「編集」をクリックします。
  5. オブジェクト権限の「参照」「作成」「編集」「削除」にチェックを入れます。間違えて作った導入プロジェクトを担当者が自分で消せるように、削除まで付けます。
  6. 同じ画面の項目権限で、各項目の「参照アクセス権」「編集アクセス権」にチェックを入れて「保存」をクリックします。
  7. 「割り当ての管理」から営業5名とマネージャーを割り当てます。
権限セットのオブジェクト設定で導入プロジェクトの参照・作成・編集・削除と項目権限を付けた状態
権限セットのオブジェクト設定で導入プロジェクトの参照・作成・編集・削除と項目権限を付けた状態

項目を作った後に1項目だけ見え方を変えるときは、オブジェクトマネージャーでその項目を開き、「項目レベルセキュリティの設定」から全プロファイル分を1画面で変えられます。項目作成の途中で権限セットに項目アクセスを付けたい場合は、「ユーザー管理設定」の「項目作成時の権限セットの項目レベルセキュリティ」を有効にします。公式ヘルプも、項目の権限はプロファイルより権限セットで管理する形を強く勧めています。

項目作成の途中でアクセス設定を指定するステップは、公式ヘルプでは Enterprise Edition 以上の手順として書かれています。Professional Edition でこの画面が出てこなければ、作成後に「項目レベルセキュリティの設定」で付けます。

最後に、オブジェクトの「リリース状況」を「リリース済み」に変えます。「開発中」のままだと、権限を付けても一般ユーザーには出てきません。

応用

グローバル選択リスト値セットで値を共通にする

「状況」の値を、別のオブジェクト(たとえば後で作る「保守契約」)でも同じにしたい場合は、グローバル選択リスト値セットにします。

  1. 「設定」のクイック検索に「選択リスト」と入力し、「選択リスト値セット」を開きます。
  2. 「グローバル値セット」の横の「新規」をクリックします。
  3. 表示ラベルに「案件進行状況」と入力します。
  4. 値を1行に1つずつ入力します。
  5. 「保存」をクリックします。
  6. 選択リスト項目を作るとき、「グローバル選択リスト値セットを使用」を選んで「案件進行状況」を選びます。

値の追加・変更は値セットで1回やれば、使っているすべての項目に反映されます。グローバル選択リストは常に値が制限された選択リストで、項目ごとに値を足すことはできません。既にある選択リスト項目は、値の制限が付いていて値が1,000個までなら、編集画面の「グローバル値セットに昇格」で新しい値セットにできます。既存の値セットへは昇格できません。項目とグローバル値セットの紐付けは元に戻せないので、別の値にしたくなったら項目を作り直します。

オブジェクト・項目数の上限

エディションごとの上限です。公式ヘルプの「Salesforce の機能とエディションの割り当て」と「オブジェクトごとに許可されるカスタム項目」で確認できた数字だけを載せています。

項目StarterPro SuiteProfessionalEnterprise
カスタムオブジェクトの数05050200
1オブジェクトあたりのカスタム項目25100100500
1カスタムオブジェクトあたりの主従関係対象外(カスタムオブジェクトを作れない)222
1カスタムオブジェクトあたりのリレーション(主従関係と参照関係の合計)対象外(カスタムオブジェクトを作れない)404040
数式から参照できる一意のリレーション(オブジェクトあたり)記載なし151515

ほかに、公式の割り当て表には積み上げ集計25の記載があり、選択リストは単一選択で1,000値・複数選択で500値まで(1値255文字まで)、グローバル選択リスト値セットは組織で500個まで・1セット1,000値までです。カスタム住所項目は1つで9項目分、地理位置情報は3項目分として数えられます。Starter Edition はカスタムオブジェクトを作れないので、導入プロジェクトの形を取るなら Pro Suite か Professional 以上を使います。

できないことと、その代わり

できないこと理由・公式の記載代わりの手
参照関係の子を親に積み上げ集計する(商談に導入プロジェクトの件数を出す)カスタムオブジェクトの子を集計する積み上げ集計は主従関係の主側にしか作れないフローで件数を数えて数値項目に書く。AppExchange の Declarative Lookup Rollup Summaries を使う
TODAY() を含む数式を積み上げ集計する(取引先に最大の遅れ日数を出す)NOW や TODAY を含む数式は積み上げ集計できない毎朝動くスケジュールトリガーフローで遅れ日数を数値項目に書き、それを集計する。レポートで見る
標準オブジェクトを主従関係の従側にする標準オブジェクトはカスタムオブジェクトの従側になれない参照関係にして、入力規則で必須にする
データが入ったオブジェクトに主従関係を後から作るデータがあると作れない先に参照関係で作り、全件に値を入れてから主従関係に変換する
積み上げ集計がある主従関係を参照関係に戻す積み上げ集計を作った後は変換できない積み上げ集計を削除してから変換する
数式項目を別の型に変える、他の項目を数式に変える数式は他の型と相互に変換できない新しい項目を作り、値を移してから古い項目を消す
3,900 文字を超える数式数式は 3,900 文字まで途中の計算を別の数式項目に分けて参照する

複数選択リストは、値がセミコロン区切りの1つの文字列で保存されるため、インポートで上書きすると既存の値が消えるといった扱いにくさがあります。公式ヘルプも、可能なら連動選択リストや別の項目種別を使うよう勧めています。営業で「提案した商材」を複数持ちたいときは、商談商品で持つほうが集計しやすくなります。

よく詰まるところ

症状原因直し方
作ったオブジェクトが営業に見えない作成時に一般のプロファイルからオブジェクト権限が外れている権限セットで「参照」「作成」「編集」を付けて割り当てる
タブがアプリに出てこないタブを作っていない、またはアプリに入れていない「タブ」で作成し、アプリケーションのナビゲーションに加える
権限を付けたのに一般ユーザーに出ないリリース状況が「開発中」のままオブジェクトの編集で「リリース済み」にする
作った項目が画面に出ないページレイアウトに置いていない、または動的フォームのページに置いていないページレイアウトか Lightning アプリケーションビルダーで置く
システム管理者には見えるのに営業には項目が見えない項目レベルセキュリティで参照アクセス権が無い「項目レベルセキュリティの設定」か権限セットの項目権限で付ける
主従関係の選択肢がデータ型に出てこない、または保存できないオブジェクトにすでにデータがある、または主従関係が2つある先に参照関係で作って全件に値を入れ、主従関係に変換する
積み上げ集計の対象に導入プロジェクトが出ない取引先との関係が参照関係になっている主従関係に変換する
積み上げ集計が0のまま計算に時間がかかっている、または検索条件の値が違う30分ほど待つ。検索条件の選択リスト値を確かめる
数式で「選択リスト項目は、特定の関数でのみサポートされます。」と出る選択リストを = で比べているISPICKVAL() か TEXT() を使う
長い数式が保存できない3,900 文字を超えている途中の計算を別の数式項目に分ける
項目の型を変えられないフローや Apex などから参照されている項目は型を変えられない参照元を外すか、新しい項目を作って値を移す
項目を削除できない数式などから参照されている項目は削除できない先に数式から外してから削除する
項目を消したらレポートが壊れた削除した項目を使っていた削除から15日以内なら復元できる。消す前に参照元を確かめる
選択リストに定義外の値が入っている値の制限を外していて、インポートで入った「値セットで定義された値に選択リストを制限します」をオンにする

次にやること

導入プロジェクトができたら、既存の Excel の導入管理表を移します。手順は「ExcelからSalesforceへ移す手順。データインポートウィザードとデータローダの使い分け」にまとめています。移したデータで遅れている案件を一覧にするなら「Salesforceのレポートの作り方。レポートタイプ・グループ化・結合レポートまで」、商談が受注になったら導入プロジェクトを自動で作る、遅れたら担当に通知する、という仕組みは「Salesforceフローの作り方。レコードトリガーで更新と通知を自動化する」で作ります。完了にしたのに完了日が空、といった入力漏れを止めるには「Salesforceの入力規則とアクセス権。入力漏れと見せたくないデータを防ぐ」へ進みます。

あわせて読む