営業日ベースの日数判定ロジックの実装方法

By | July 23, 2021

前書き

センスのない会社ほどよく実装したがる「営業日ベースで〇日後に通知送りたい」や「○営業日後の日付が自動で入力されるようにしたい」といった要件への対応方法

※推奨代替案:シンプルに「〇日後」で実装して後は運用回避

実装方針

「日付」項目と「休日フラグ」項目を持った「休日カレンダー」カスタムオブジェクトを作成し、それを用いて営業日数計算を行う。

例えば、2021/07/01(木)の三営業日を取得したい場合は…

①明日以降の「休日カレンダー」レコードを取得
②取得したレコードを一件ずつループし、「休日フラグ」がFALSEの場合のみ、営業日としてカウントする(同時に、「休日フラグ」の値に関わらず経過日数をカウントしていく)
③三営業日をカウントし終わった時点でループを修了し、経過日数を出力する
④本日(2020/07/01)に経過日数を加算する

本記事で想定するユースケース

今回の記事では、下記の例に実装方法をご紹介します。

ケースレコ-ドの作成・更新時に「次回対応期日」項目に3営業日後の値が自動で入るようにする。

実際の実装方法

①「休日カレンダー」カスタムオブジェクトを作成し、「日付」カスタム項目と「休日フラグ」カスタム項目をそれぞれ作成する。

②「休日カレンダー」レコードを作成する。

③「レコードトリガフロー」を新規作成。

④各種アクションを設定

↓見て作ってねノ