Blogical

AWS/Salesforceを中心に様々な情報を配信していきます(/・ω・)/

フローで土日祝判定を行う方法について

こんにちは、ロジカル・アーツの岡田です。 
フローにて土日祝判定をする機会があったので、その設定方法について記載いたします。

 

はじめに


文章にて今回のフローを解説します。
行動レコード作成をトリガに作動するフローで、今回は例として議事録の期日を設定するものです。
土日祝を休日としていることを想定します。

土日祝以外の営業日を会議日+(今回は仮に)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日に限らず利用可能です。

また、祝日判定が必要なければ、削除し、土日判定にのみ利用することも可能です。

この記事がご参考になれば幸いです。