3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Salesforceフロー項目更新で入力規則を回避する方法

Last updated at Posted at 2023-04-27

こんにちは
本橋孝昭です

今回はSalesforceフロー項目更新で入力規則を回避する方法をご紹介します

今回の内容は動画でも公開しています

参考記事は英語で分かりにくかったので日本語で分かりやすく解説しようと思います

※今回の紹介事例

例として
・商談の特定のフェーズ「Qualification」がある
・この商談フェーズに進むには手動での項目更新で進ませないようにしたい(入力規則作成)
・しかし、もしも商談項目で金額「Amount」項目が空欄でなくなった場合(項目更新が発生し金額が入力された)に、商談フェーズが自動的に「Qualification」に更新されたい(フロー作成)

という状況があったとします

要は特定の項目更新を手動では出来なくするが自動化で行いたい というものです

この場合、入力規則は単純に考えれば

AND(
ISCHANGED(StageName),
ISPICKVAL(StageName,"Qualification"))

のような数式になります

フローはこのような形になるかと思います
フロー01.png

開始01.png

開始02.png

しかしながら、このような入力規則とフローでは
・手動更新でも商談フェーズが「Qualification」にはならない
のですが
・フローの自動更新でも商談フェーズが「Qualification」にならない
(フローも入力規則が働いてエラー発生)

となります

では、どうすればいいでしょうか

ここでは回避方法として以下のステップを行います

ステップ1 カスタム項目(日付時間)を商談オブジェクトに作成

カスタム項目(日付)を作成します
名前やAPI名は任意で設定してください

例として
項目名ValidationBypassDateTime
API名ValidationBypassDateTime__c
とします

そして大事なことはデフォルト値の設定です
デフォルト値は
$System.OriginDateTime
とします

設定01.png

※このカスタム日付項目は裏でフローの項目更新で使用するためのものですので、ページレイアウト上に表示させることはおすすめしませんが、今回はわかりやすくするためあえてページレイアウト上に表示させます

ステップ2 カスタム数式項目(チェックボックス)を商談オブジェクトに作成

次にカスタム数式項目(チェックボックス)を作成します

名前やAPI名は任意で設定してください

例として
項目名はIsVRBypassed
API名はIsVRBypassed__c
とします

数式は以下となります
BLANKVALUE(ValidationBypassDateTime__c, $System.OriginDateTime) > NOW() - 0.00005787037 /Five Seconds/

※ここのValidationBypassDateTime__cはさきほどステップ1で作成した項目のAPI参照名です

項目001.png

ステップ3 入力規則の修正

さきほどステップ2で作成した項目を入力規則に組み込みます

変更前入力規則

AND(
ISCHANGED(StageName),
ISPICKVAL(StageName,"Qualification"))

変更後入力規則

AND(
ISCHANGED(StageName),
ISPICKVAL(StageName,"Qualification"),
NOT(IsVRBypassed__c))

要は最後の部分に
NOT(IsVRBypassed__c)
を追加します

※IsVRBypassed__cはステップ2で作成した項目のAPI参照名です

ステップ4 フローの修正

ここではフローの修正を行います

具体的にいえば項目更新時のアクションに

ValidationBypassDateTime__c(ステップ1で作成した項目のAPI参照名)


{!$Flow.CurrentDateTime}
※現在の日時

を追加します

画像で示すとこのようになります

追加02.png

これで設定は完了です
(ステップ3の入力規則の有効化やステップ4のフローの有効化はお忘れなく!)

この設定を行えば
・この商談フェーズに進むには手動での項目更新で進ませないように設定(入力規則)
・もしも商談項目で金額「Amount」項目が空欄でなくなった場合(項目更新が発生し金額が入力された)に、商談フェーズが自動的に「Qualification」に更新される(フロー作成)

という、フローの自動更新も可能だし入力規則で手動更新を防ぐことが可能です

ぜひお試ししてみてください!

(分かりにくい部分などあれば修正しますのでご連絡ください!)

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?