Salesforceの入力規則を初心者が作る時のポイントは?
Salesforce(セールスフォース)は、エンジニア経験がなくても簡単に設定できることが売りの一つ。しかし裏を返せば、自分の会社がSalesforceを導入した時、エンジニア経験がない人でもシステム管理者へ任命されるかもしれない、ということです。そこで、便利だけど複雑になると難しいSalesforceの機能「入力規則」を作るときのポイントをご紹介いたします。
Salesforce(セールスフォース)、最初の難所「入力規則」
入力規則とは、「レコードを保存する前に、入力したデータが基準に合っているかどうかを判断する」機能です。Salesforceへ分析、管理しやすいきれいなデータを日々積みあげていくためにはとても重要な機能です。
しかし、データをきれいにする条件が複雑になればなるほど難しくなるため、以下のような悩みが増えてきます。
- 関数がたくさんあってどれを使えばいいかわからない
- エラーが出たけど内容が分かりづらくて解消できない
- 想定通りの動きにならないけど、どこが悪いのかわからない
そんな壁に立ち向かうために、入力規則を設定する時に気を付けるべきポイントをご紹介します。
入力規則とは?
そもそも入力規則をどうやって作るのか、作るために必要な要素が何なのかをご紹介します。
設定方法
1.Salesforceにログインし、設定(歯車マーク) > オブジェクトマネージャー > 入力規則を作成したいオブジェクトを選択 > 入力規則 > 「新規」 を選択
ではSalesforceの承認プロセスを使って、社内のワークフローを自動化するメリットをご紹介していきましょう。まず、紙を使ったワークフローでは、一般的に以下のようなステップで申請、承認業務が行われます。
2.設定画面を開き、入力規則を設定する
※設定必須の項目
①ルール名※:入力規則の名前。ローマ字で指定します。
②有効※:入力規則を有効にする場合にチェックします。
③説明:入力規則の説明を記載します。
④エラー条件数式:エラーの条件を数式の形式で指定します。数式を作成する際に使えるいくつかの機能があります。
「項目の挿入」…条件に使用したい項目を選択することで、テキストボックスに挿入します。
指定したオブジェクトが参照しているオブジェクトの項目も指定することができます。
画像は、取引先の作成者(ユーザー)のプロファイルのプロファイル名を指定しています。
「演算子の挿入」…+、-などの演算子を選択することでテキストボックスに挿入します。
「選択した関数を挿入」…選択した関数をテキストボックスに挿入します。
選択した関数の概要が下部に表示され、その下の「この関数に関するヘルプ」をクリックすると、指定した関数の詳細が記載されたサポートページへ遷移します。
「構文を確認」…数式に誤りがあるかどうかチェックします。
誤りがある場合、簡単なメッセージを表示します。
画像は、=(次と等しい)を誤って全角で入力してしまった場合のエラーになります。
⑤エラーメッセージ:入力規則で設定した数式の条件に当てはまるデータが保存された時に表示されるエラーメッセージを記載します。
⑥エラー表示場所:エラーメッセージを表示する場所を指定します。
「ページの最上位へ」…保存ボタンの横に表示
「項目」…指定した項目の下に表示
3.保存する場合は「保存」、保存した後に新たな入力規則を設定したい場合は「保存&新規」をクリックします。
保存する際に数式に誤りがある場合、「構文を確認」をクリックしたときと同じ表示になり、保存することができません。
入力規則を作るときにおさえておきたいポイント
ではSalesforceで入力規則を作るときにおさえておきたいポイントをご紹介していきましょう。初心者に限らず、ソースコードで開発するようなエンジニアであっても、基本的には同じポイントを意識しています。
- 作りたいものを表に起こそう!
- 数式項目の数式設定との違いを理解する
- インデントやコメントアウトを意識して、パッと見やすくしよう!
- 原因の特定は「半分ずつ」行う!
- つまずいたことは、一覧化して未来の自分を助けよう!
作りたいものを表に起こそう!
設定画面を開く前に、まずは作りたい入力規則の条件を整理することが重要です。例えば、「評価がHotの時、取引先番号は必ず入力しなければならない」という制限を入力規則で作成したいとします。
この時、エラーになるパターンとエラーにならないパターンを考えると以下のようになります。
- 評価がHotで取引先番号が入力されている→エラーにならない
- 評価がHotで取引先番号が入力されていない→エラーになる
- 評価がHot以外で取引先番号が入力されている→エラーにならない
- 評価がHot以外で取引先番号が入力されていない→エラーにならない
条件に使用する項目が2つ程度であれば箇条書きでも問題ありません。しかし、条件に使用する項目が3つ、4つと増えていくと、思いついた順番に書き出していくという方法ではややこしくなってきます。
そこで、エクセルやスプレッドシートを活用して一覧化しておくことで、パターンを網羅して整理することができます。
下記は整理方法の一例です。
- 列に項目を羅列して、行には項目ごとにパターンを洗い出した後、すべてのパターンをコピーして作成します。
- その後、「運用上制御されていて入力不可能なパターン」をグレーアウトしていき、残ったパターンのうちエラーとしたい項目に○をしていきます。
これで組み合わせを見落とさずに入力規則の実装内容を整理できますし、実装後のテストで同じ表を使用することができます。
数式項目の数式設定との違いを理解する
入力規則の作成と数式型のカスタム項目の作成はほとんど同じように見えます。ただ、この二つの数式を考えるときに全く同じであると考えていると、関数の選び方や数式の構成を考える際につまずいてしまうことがあります。
それぞれの数式の役割は下記になります。
- 入力規則:入力された内容をエラーと定義する条件
- 数式型のカスタム項目:設定したデータ型にあわせて、入力された内容を基に表示したい値を定義する条件
つまり、「結果として得られるデータ型」と「求めているデータに沿っている/沿わない」に違いがあります。
入力規則の場合、結果として得たいデータ型はTRUEかFALSEで判断する「チェックボックス型(boolean型)」と同じになります。つまり、使用する関数は「AND」「OR」等の結果がチェックボックス型になる関数が主です。
数式型のカスタム項目ではテキスト型のIF文を組むことが多いため、入力規則を作成する時には本当に必要な関数がどれなのか注意しましょう。
インデントやコメントアウトを意識して、パッと見やすくしよう!
いざ入力規則の数式を作ろうとしたときに、どんどんと羅列していくと数式でエラーが出た時に何故エラーが出ているかわからなくなったり、後から見返したときにどういう実装内容だったか失念してしまったりすることも少なくありません。
そこで、数式を記載する時は下記を意識すると良いです。
インデント
インデントとは、文章の行頭に空白を挿入しすることで、先頭の文字を右に押しやって字下げすることです。このインデントを活用することにより、数式を見やすく整えることができます。
例えば、
OR(AND(FieldA__c=”TEST”,ISBLANK(FieldB__c),OR(FieldC__c,FieldD__c<>FieldE__c)),AND(ISBLANK(FieldA__c),ISPICKVAL(FieldF__c,"TEST")))
上記のような数式だと、パッと見てどのような条件があるのかわかりづらいですが、
OR(
AND(
FieldA__c=”TEST”,
ISBLANK(FieldB__c),
OR(
FieldC__c,
FieldD__c<>FieldE__c
)
),
AND(
ISBLANK(FieldA__c),
ISPICKVAL(FieldF__c,"TEST")
)
)
インデントを揃えて改行することによって、どの関数の引数がどの項目なのかや、関数の関係性を分かりやすくすることができます。
数式では、文字列として扱う以外の半角スペースは結果に影響しないため、インデントとして半角スペースを上手く使用することによって見直しやすい数式を作成することができます。
※ただし、半角スペースが無視されるのは編集画面のみになるので注意
コメントアウト
コメントアウトとは、ソースコードやプログラムの一部分を無効化する書き方です。コメントアウトを使用することで、処理の内容をプログラム言語ではなく文章で記載しておくことができます。
数式内でも、下記の記号を使用することでコメントアウトを使用することができます。
/* コメントを記載する */
上記を使用して数式の条件や項目の表示ラベル名を記載しておくことで、どのような数式なのか、どのような意図で作成したのかを分かりやすく残しておくことができるため、改修が必要になった場合でもスムーズに対応できます。
OR(
/* 運用①でデータを作成したときのエラーパターン */
AND(
FieldA__c=”TEST”, /* 項目Aの値がTEST */
ISBLANK(FieldB__c), /* 項目Bが未入力 */
/* 項目Cにチェック もしくは 項目Dと項目Eが違う値 */
OR(
FieldC__c,
FieldD__c<>FieldE__c
)
),
/* 運用②でデータを作成したときのエラーパターン */
/* 項目Aが未入力 かつ 項目F(選択リスト)の値がTEST */
AND(
ISBLANK(FieldA__c),
ISPICKVAL(FieldF__c,"TEST")
)
)
原因の特定は「半分ずつ」行う!
実際に数式を作ってみていくら自信があったとしても、うっかり間違いでエラーになってしまったり、入力規則を保存できても思うように動かなかったり、ということはよくあります。エラーになってもエラーメッセージがよくわからない、という場合は作成している数式を小分けにして、どこが間違っているかを調べるのがポイントです。
例えば、先ほど作成した入力規則が仮に思うように動かなかった場合、AND関数が使われている箇所ごとに分けることができます。
作成した数式を一旦テキストツールなどに転記しておき、半分くらいに細分化して動作を確認していきます。何もわからない所からエラーや動作不良の原因を探すよりも、数式のうち前半と後半どちらに間違いがあるのかを確認しましょう。
前半にあるとわかった場合は前半をさらに前半と後半に細分化して、と探す方が原因の特定が早くできます。いわゆる、二分探索です。
つまずいたことは一覧化して未来の自分を助けよう!
いろいろやり方について説明してきましたが、コツをつかんでいてもやはり躓くときは躓きます。入力規則以外にも言えることですが、つまずいた時は「もう二度と同じところでは躓かない!」という気概で、自分の躓きやすいポイントを一覧化しておくことも有効です。
Salesforceは時々エラーメッセージが不親切な場合があり、それは入力規則も同じです。どのような意味なのか解らないエラーが出た時、まずはインターネットで検索する方法をオススメします。しかし、検索した記事や読み取った内容を後から自分が見直せるように残しておくと、同じ壁にぶつかってしまった時の解決スピードが速くなります。
まとめ
Salesforceの入力規則を初心者が作る時のポイントについてご紹介しました。Salesforceの設定をはじめて最初はたくさん難しいことがあるかもしれませんが、とにかくまずはチャレンジすることが重要です。入力規則はきれいなデータを作成するためには欠かせない機能であり、蓄積したデータを分析して活用する為の第一歩です。
他の機能についても、Salesforceは初心者向けのサポートサイトや勉強の為のサイトもあるため、それらもあわせて活用していきましょう。そうすれば、今は難しく感じる設定もどんどん慣れてきてよりスムーズによりよい環境を構築することができるようになります。
入力規則を作成するコツの考え方は、他の機能を設定する場合にも応用できます。このコツをしっかりと押さえておけば自動更新や承認プロセスなど一歩難易度の高い機能を設定する時も役に立つことでしょう。
弊社ではSalesforceノウハウ共有ツール「KnowhowBase」は‘ノウハウを作る、探す、活用する’をコンセプトに、Salesforceプラットフォーム上で利用できる便利な機能をご提供しています。また、「Salesforce導入サービス」 「Salesforce伴走・開発支援サービス」により、Salesforceを新規導入される方、Salesforceの定着・活用や運用保守・開発を要望される方に合ったサービスもご提案しております。ご興味のある方は、お気軽にお問い合わせください。
また当サイトでノウハウ共有やSalesforceの定着促進・保守運用・開発を検討している方へ、様々なダウンロード資料をご用意しております。ぜひ資料をダウンロードいただき、ご活用ください。