2021/05/24

SalesforceでISNEW関数を利用する方法を学んで、運用に役立てよう!

 
  

ISNEW関数とは何か

ISNEWはSalesforceで利用できる関数の一つです。 ISNEW関数は、新規レコード作成中に数式が実行されているかどうかを確認します。新規作成の場合は TRUEを返し、既存のレコードが更新中の場合はFALSEを返します。言い換えると、新規で作成されたレコードであるか否かを評価するための数式です。 Salesforceではワークフローやプロセスビルダーといった自動処理の評価条件として関数を利用することができます。そのSalesforce上で利用できる標準関数の中に「ISNEW関数」があります。 このISNEW関数を使い、新規のレコード作成時の時を条件として、その後の後続のさまざまな自動処理につなげることができます。

ISNEW関数の使用用途とは

ではISNEW関数が利用できる状況とは、具体的にどういったものになるでしょうか。 前述の通り、ISNEW関数は新規で作成されたレコードかどうかを評価するための関数です。ISNEW関数は、例えば以下のようなシーンで利用することができます。

入力規則としてISNEW関数を利用

入力規則としてISNEW関数を利用したルールを作成し、新規作成時の時に入力を必須としたいような項目がある場合です。 例えば新規作成時にAという項目を入力必須としたいのであれば、入力規則の設定内にISNEW関数を含めることで項目Aを新規作成の際に常に入力させることが可能になります。

ワークフロールールの条件としてISNEW関数を利用

ワークフロールールの条件としてISNEW関数を利用し、新規のレコード作成の際にワークフローアクション(メールアラートや項目自動更新など)を起動させたい場合です。 例えばISNEW関数を条件に新規でレコードが作成された時のみ、メールで通知を送信したり、同じオブジェクト内の別の項目を特定の値に変更させたりしたいときなどに利用できます。 このように、データの精度を高めたいときに、使用できる入力制御機能を実装する際や、ユーザの入力工数を削減するために、自動化処理の検討する際などに利用することができます。 新規作成時のみ動作させたい、新規作成時のみ通知を出したり、特定の項目の更新を行いたい、そんな自動処理の実装を検討したいときはこのISNEW関数の利用を検討するのがよいでしょう。

ISNEW関数の使用方法と注意点

それではこれからISNEW関数の使用方法と注意点について解説していきます。 まず、ISNEW関数は以下のように記述します。 ISNEW() カッコ内には特に何も入れる必要はありません。 なお、ISNEW関数は、次の場所で使用することができます。 ・割り当てルール ・入力規則 ・項目自動更新 ・プロセスビルダーでアクションを実行する数式条件 特にワークフロールールにおいては、ワークフロールールで時間ベースのトリガと併用された場合、この関数は必ず FALSEを返します。新規作成のケースだと思い込んでしまい、自動処理が正常に動作していなかったということがないよう、注意が必要です。 また、新規作成時にはTRUEではなくFALSEを返すような処理を実装したい場合には、NOT 関数を使用することでTRUEとFALSEの戻り値を逆にすることができますので、新規作成時を条件として除きたい場合など、このNOT関数と組み合わせて利用するようにしましょう。

実際の利用シーン例:入力規則を使ってISNEW関数を利用してみる

では、実際に入力規則上で複数の関数を組み合わせながらこのISNEW関数を条件に処理を実行してみましょう。 例えば、Salesforceのユーザから以下のようなリクエストがあったとします。 「商談オブジェクトにおいて、ユーザが商談オブジェクト内でレコードを保存する際に、その商談に商談商品が最低でも1つあることを条件としたい。もし入力がない場合、特定のエラーメッセージを表示させたい」 そんな状況の時、このISNEW関数を含むいくつかの関数や入力規則を使って設定を行なうことでユーザの要件を満たしていくことができます。

設定方法の詳細を確認しよう

では、ISNEW関数を使った入力規則の設定方法を確認していきましょう。 実際の入力規則設定手順は以下のとおりです。 ① 設定>対象のオブジェクト(今回は商談を選択)>入力規則を開きます。 ② 新規 ボタンをクリックします。 ③ ルール名を記載します。後ほど見た時にわかるような名前が望ましいでしょう。 ④ 有効にチェックを入れます。 ⑤ 説明にその入力規則の実装の背景や目的などを詳細に記載します。のちほど見返した場合によくわかるよう、可能な限り詳細に記載していくようにしましょう。 ⑥ エラー条件式を記載します。今回の要件を満たす場合、例えば以下のような式を入力します。 NOT(OR(ISNEW(),HasOpportunityLineItem)) 上記は、新規作成時でない、または商談商品が商談内に入ってない、ということを意味します。 ⑦ 構文を確認し、エラーがないことを確認します。エラーがなければ“エラーが見つかりませんでした”と表示されます。エラーがある場合、構文を修正してエラーがなくなるまで修正していきます。 ⑧ エラーメッセージを作成します。 ⑨ エラーメッセージの表示位置を定義します。表示位置は、ページの最上位、または所定の項目付近を選択できます。入力させたい項目が特定できる場合は、その項目をエラーメッセージの表示場所として指定するのがよいでしょう。 ⑩ 保存をクリックすると有効になります。

その他の設定例:一度入力させた項目を変更させない

その他別の設定例としまして、例えば項目A(FieldA__c)という項目を、新規作成時のみ入力許可させ、一度保存した後の変更を受け付けないようにしたい場合、以下のような入力規則の数式を記載することで実現させることが可能です。 AND( NOT( ISNEW() ), ISCHANGED( FieldA__c ) ) 上記によって、レコード作成後、項目Aの更新を行おうとしたユーザにエラーメッセージを返すことができ、意図しない不正な値の入力を防ぐことが可能になります。

様々な他の条件を組み合わせて判定をすることが可能

ISNEW関数に限らずSalesforce上での関数は、様々な他の条件を組み合わせて判定をすることができます。上記の例のように、IF関数やAND関数はよく他の関数と組み合わせて利用される関数です。 ISNEW関数における評価条件のように、それぞれの関数はその利用の仕方や、条件ごとに考慮しなければいけない点は異なります。 実際に利用する前に関数の特徴や考慮事項については把握しておいた方が良いでしょう。確認したい場合には、Salesforceの公式のヘルプにより詳細な内容が記載されていますので関数を利用する際にはそちらを合わせて参照するようにしましょう。

ISNEW関数を活用しよう

いかがでしたでしょうか、今回はSalesforceの関数の一つである「ISNEW関数」について紹介をさせていただきました。ISNEW関数は新規でレコードが作成されたことを検知する関数です。 新規作成レコード作成時のみに設定したい入力規則や、ある項目が作成されたことをトリガーに通知や項目の自動更新を行うワークフロー・プロセスビルダーの上で利用することができます。 またいくつかの関数を組み合わせたりすることで複雑な処理や条件を作ることができます。 今回学習したことを正しく理解し、Salesforceユーザの業務要件に基づいてデータの品質を高めたり、データ入力の省力化・生産性の向上を目的として実装したりできるよう、ISNEW関数をはじめとしたSalesforceの関数は是非活用できるようにしておきましょう。]]>

ITエンジニアへのキャリアチェンジならキャリアチェンジアカデミー

この記事の監修者・著者

株式会社オープンアップITエンジニア
株式会社オープンアップITエンジニア
未経験からITエンジニアへのキャリアチェンジを支援するサイト「キャリアチェンジアカデミー」を運営。これまで4500人以上のITエンジニアを未経験から育成・排出してきました。
・AWS、salesforce、LPICの合計認定資格取得件数:2100以上(2023年6月時点)
・AWS Japan Certification Award 2020 ライジングスター of the Year 受賞

おすすめの動画

  • 【未経験からIT業界へ転職するなら】相談窓口とスキルの獲得はここで解決!IT転職が一気に有利に!【キャリアチェンジアカデミー】

  • 【費用一切不要】未経験からIT業界へ転職するならまずはここへ相談!【キャリアチェンジアカデミー】

  • 【何のエンジニアになれるのか?】未経験からITエンジニアを目指すとこんな道がある【キャリアチェンジアカデミー】