○日後というのは、kintoneの計算フィールドやCustomineの「日付を計算する」で取得可能ですが、営業日というのは曜日や会社の都合などで変わるため単純には取得出来ません。
今回は、営業日アプリというものを別途作成して、○営業日後の日付を取得するようにします。なお、「レコード中のフィールド最大値を計算する」を使うと日数を変更する場合の修正が楽なので、こちらを利用します。
今回のカスタマイズで出来ること
レコード保存した時に、基準日から○営業日後の日付を指定のフィールドにセットする
アプリの準備
サンプルアプリとして以下のフィールドを作成しました。
営業日アプリ
フィールド名 | フィールドコード | フィールドタイプ、他 |
日付 | 日付 | 日付 |
メモ | メモ | 文字列 |
編集画面では次のようになります。
アプリには、営業日を1日1レコードで作成しておいてください。
日報アプリ
フィールド名 | フィールドコード | フィールドタイプ、他 |
基準日 | 基準日 | 日付 |
10営業日後 | 10営業日後 | 日付 |
編集画面では次のようになります。
Customineの設定
全体の流れはこのようになります。
レコードを保存する直前に日付をセット
「クエリで条件を指定してレコードを取得する」で、基準日から10営業日後までのレコードを取得します。
クエリは、
日付 >= "${基準日}" order by 日付 asc
となります。
また、最大取得件数には 10 と入力してください。
基準日に2020-04-01を入れてレコード保存すると、次のようになります。
土日を除いた10営業日後の2020-04-14がセットされています。
ここまでで、基本的な動きは完成です。
レコードを保存する直前に複数の日付をセット
先ほどのやり方だと、○営業日後を複数セットする場合、クエリでのレコード取得が多くなり時間がかかることが考えられます。
その場合、一番後になる営業日数を指定してレコード取得し、その間の営業日は日数指定で取得するということが可能です。
試してみましょう。
日報アプリにもう1つ日付を追加してこのようにします。
日報アプリ
フィールド名 | フィールドコード | フィールドタイプ、他 |
基準日 | 基準日 | 日付 |
10営業日後 | 10営業日後 | 日付 |
20営業日後 | 20営業日後 | 日付 |
編集画面では次のようになります。
Customineの設定
全体の流れはこのようになります。
クエリはそのままで、最大取得件数には 20 と入力してください。
6番の「フィールドに値をセットする」では、4番で取得したレコードを指定します。
= $4[9].日付
[]の中に 営業日数 -1 の数値を入れると、指定の営業日が取得出来ます。
基準日に2020-04-01を入れてレコード保存すると、次のようになります。
この方法ならば、営業日後の種類が増えても、6番と同じものを増やすだけで対応可能です。
まとめ
営業日数を取得したり、営業日数から日付を取得したりなど、仕事の上ではよくあるケースですので是非お試しください。
なお、逆パターンの、日付を指定すると営業日数を計算する方法はこちらの方法で可能です。
合わせてご利用ください。