こんにちは、ロジカル・アーツの岡田です。
フローにて土日祝判定をする機会があったので、その設定方法について記載いたします。
はじめに
文章にて今回のフローを解説します。
行動レコード作成をトリガに作動するフローで、今回は例として議事録の期日を設定するものです。
土日祝を休日としていることを想定します。
土日祝以外の営業日を会議日+(今回は仮に)2日カウントし、2日目を期日と設定します。
例)1日(木)を会議日とすると
1日(木):会議日
2日(金):営業日1日目
3日(土):休日
4日(日):休日
5日(月・祝):休日
6日(火):営業日2日目、期限日
となりますので、6日(火)を自動的に議事録期日とするフローです。
フローの全景は以下画像を参照ください。
手順
祝日マスタ作成
祝日はSalesforce上にデータとして存在しないため、手動で作成する必要があります。
検索すると一覧で見つけることができますので、CSVにまとめて
データローダでインサートする方法が早いと思います。
項目作成
必要な項目を活動オブジェクトに作成します。
項目名:議事録期日
データ型:日付
次からはフロー作成に入ります。
活動オブジェクト起点のレコードトリガフローを用意してください。
変数作成
①AddOneDayToActStartDate(数式)
データ型:日付
数式:{!$Record.ActivityDate}+1
※{!$Record.ActivityDate}=活動日(日付)、活動日の次の日から判定するため、+1日する
②VariableDate(変数)
データ型:日付
デフォルト値:{!AddOneDayToActStartDate}
③WeekdayFormula(数式)
データ型:数値
数式:WEEKDAY({!VariableDate})
※曜日を求める数式、1~7で日~土がわかる
④WorkdayCounter(変数)
データ型:数値
※平日の日数をカウントする変数、これが2になったらその日付を議事録期日に設定
休日マスタ取得
休日マスタのレコードの中で[日付]が[VariableDate](活動日+1日)に
一致するものがあるか検索します。
祝日判定作成
祝日判定を作成します。
前工程で休日マスタのレコードが取れてきていれば祝日
⇒日付に+1(=次の日を判定する)
取れてきていなければそれ以外
⇒土日判定へ
土日判定作成
土日判定を作成します。
WeekdayFormulaが1か7であれば土日
⇒日付に+1(=次の日を判定する)
そうでなければ祝日ではない平日
⇒平日カウンターと日付に+1
平日カウンター判定作成
平日カウンターが2かどうかの判定を行います。
2未満
⇒休日マスタを取得まで戻る
コンポーネント選択画面の「要素に接続」で「休日マスタ取得」を選択してください。
2以上
⇒最初に日付に+1して軸をずらしているので、
軸を戻すために日付に-1して議事録期日を設定して終了です。
以上でフローの作成は完了です。
おわりに
平日カウンターの日数を変えることで、2日に限らず利用可能です。
また、祝日判定が必要なければ、削除し、土日判定にのみ利用することも可能です。
この記事がご参考になれば幸いです。